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))); }

    结果如图:

  • 相关阅读:
    css动画集合地址
    邮箱正则
    好用的工具之一 ---- Sublime Text
    组件化表单解决方案AForm 1.3 发布
    WinScp几个极大提高开发效率的小功能
    session的本质及如何实现共享?
    使用phantomjs操作DOM并对页面进行截图需要注意的几个问题
    Ubuntu 12.04 安装最新版本NodeJS
    IIS 8 nodejs + iisnode 配置
    Bagging和Boosting的介绍及对比
  • 原文地址:https://www.cnblogs.com/wjwjs/p/7664045.html
Copyright © 2011-2022 走看看