zoukankan      html  css  js  c++  java
  • 随机数 较大数的阶乘

    源代码

    //随机数

    // RandomInt.java
    // Shifted, scaled random integers
    import javax.swing.JOptionPane;
    import java.util.Scanner;
    public class RandomInt {
    public static void main( String args[] )
    {
    int value;
    String output = "";
    int n;
    System.out.println("请输入产生随机数的个数:");
    Scanner num = new Scanner(System.in);
    n=num.nextInt();
    for ( int i = 1; i <= n; i++ ) {
    value = 1 + (int) ( Math.random() * 9999 );
    output += value + " ";

    if ( i % 9998 == 0 )
    output += " ";
    }

    JOptionPane.showMessageDialog( null, output,
    "Random Numbers",
    JOptionPane.INFORMATION_MESSAGE );

    System.exit( 0 );
    }
    }

    相对来说java编写随机数程序要比C/C++简单很多,因为JDK提供了一个Random类,可以更方便地生成随机数

    //大数的阶乘

    源代码:

    import java.math.BigInteger;
    import java.util.Scanner;
    public class Big {
    public static void main(String [] args){
    int n;
    System.out.println("请输入n的值:");
    Scanner num = new Scanner(System.in);
    n=num.nextInt();
    System.out.println(fun( n));

    }

    static int fun(int a)
    {
    int m=1;
    for (int b=1;b<a;b++){
    m=m*(b+1);
    }
    return m;

    }
    }

    当数据比较大的时候,程序虽然能运行,但会出现错误结果,如图:

    Java提供了一个BigInteger类,支持大整数的加减乘除运算。

    此时需要把函数换成:

    public static BigInteger calculateN2(int n) {
    if(n==1 || n==0)
    {
    return BigInteger.valueOf(1);
    }
    return BigInteger.valueOf(n).multiply(calculateN2((n-1))); }

    结果如图:

  • 相关阅读:
    ruby学习总结03
    ruby学习总结02
    ruby学习总结01
    mongodb学习笔记
    mongodb数据库设计原则
    activiti学习总结
    Scala学习——隐式转换
    Scala学习——函数高级操作
    Scala学习——模式匹配
    Scala学习——集合
  • 原文地址:https://www.cnblogs.com/wjwjs/p/7664045.html
Copyright © 2011-2022 走看看