问题描述
BigInteger 算100000阶乘报错 有什么办法算5位以上的阶乘?
算9999阶乘无法显示出来
不知道是不是 System.out.println无法显示?
问题出现的环境背景及自己尝试过哪些方法
想算任意数的阶乘
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
package cn.tedu.file;
/**
超大值阶乘
*/
import java.math.BigInteger;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner x=new Scanner(System.in);
System.out.println("请输入需要求的阶乘:(支持超大数)");
long g=x.nextLong();
BigInteger t=BigInteger.valueOf(g);
System.out.println("结果是:"+j(t));
}
public static BigInteger j(BigInteger x) {
BigInteger a=new BigInteger("1");
if(x.equals(a)) {
return a;
}
BigInteger c=x.subtract(a);
return j(c).multiply(x);
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
题目描述
算任意数的阶乘
题目来源及自己的思路
用BigInteger 算
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
结果应该回应题目
100000阶乘报错 算9999阶乘无法显示出来