java - 什么数据类型可以用来保存阶乘 100,000,000 的值?

标签 java types numbers

数据类型可以容纳非常大的数字,例如 1000 或更多数字? 我需要找到一个大数(例如 100000000)的阶乘。 我的阶乘程序对于较小的数字效果很好。

long factorial(int x)
{
    long fact=1;
    if(x<0)
            {
        System.out.println("Incorrect input, enter a positive number");
        fact=0;
    }
    if(x==0)
        fact=1;
    if(x>0)
            {
            fact=x;
        fact=fact*factorial(x-1);

    }
    return fact;
}

最佳答案

您需要一个BigInteger。它可以容纳任意大的数字。

但在你的情况下100000000!是一个如此巨大的数字,没有任何帮助。

关于java - 什么数据类型可以用来保存阶乘 100,000,000 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394221/

相关文章:

java - Blackberry Java 开发 - 递增版本号

java - Camel 和ActiveMQ : Failed to resolve endpoint

java - 不使用迭代器从用户输入中删除 arraylist 的元素

internet-explorer - IE 浏览器上未检测到可用的 Java

c++ - c++问题上的c样式字符串

Oracle:to_char(number) 的模式以添加额外的 ascii 字符?

java - 使用JPA和mysql启动在spring boot中创建的应用程序时出错

types - 导入 Control.Exception 引起的 GHC 编译错误

c++ - clang,libtooling 添加新的规范内置数据类型

php - PHP 中的数字正则表达式