题目:
计算n的阶乘,n的取值范围1到2000
思路:
寻常的基本数据类型没有办法存储这样大的数,这里借助Java的BigInteger类来实现,需要注意的一点BigInteger,不能够直接使用+,-,*,/的符号进行运算,所以需要通过BigInteger类的方法实现。
代码:
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger n,m;//定义大整数n,m. m用来存放累成的值,n比较新参加累乘的整数
n= BigInteger.valueOf(1);
for (int i = 2; i <=2000; i++) {
m= BigInteger.valueOf(i);
n=n.multiply(m);//表示乘法
}
System.out.println(n);
}
}
结果:
33162750924506332411753933805763240382811172081057803945719354370603807790560082240027323085973259225540235294122583410925808481741529379613138663352634368890563405855616394060511725257187064785639354404540524395746703767410872297043468415834375243158087753364512748799543685924740803240894656150723325065279765575717967153671868935905611281587160171723265715611000421401242043384257371270017588354779689992128352899666585340557985490365736635013338655040117201215263548803826815215224692099520603156441856548067594649705155228820523489999572645081406553667896953210146762267133202683155220519449446161823927520402652972263150257475204829606475092739416585628353177957448287631459645037399132733417726360885249009350662161014445970941270782131373256383157230201994991495