题目大意:输入n,输出n!
解题思路:数据可能很大。用java的大数
代码如下:
package com.njupt.bigInteger;
import java.math.BigInteger;
import java.util.Scanner;
public class HDU_1042 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
BigInteger big ;
while(scanner.hasNextInt()){
int n = scanner.nextInt();
big = factorial(n);
System.out.println(big);
}
}
public static BigInteger factorial(int n){
BigInteger a = new BigInteger("1");
BigInteger b;
for(int i = 1 ; i <= n ; ++i){
b = new BigInteger(String.valueOf(i));//因为BigInteger的构造函数只能接受String类型的作为参数,所以要对i进行类型转换
a = a.multiply(b);
}
return a;
}
}
本文介绍了一个使用Java的BigInteger类来实现计算阶乘的方法。该方法能够处理非常大的数值,避免了传统整型数据溢出的问题。通过循环迭代与BigInteger的multiply方法,实现了任意整数的阶乘计算。
1285

被折叠的 条评论
为什么被折叠?



