蓝桥杯 基础练习 阶乘计算

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
public static BigInteger f(BigInteger n) {
BigInteger bd1=new BigInteger("1");
BigInteger bd2=new BigInteger("2");
BigInteger sum=bd1;
while (n.compareTo(bd1)>0){
sum=sum.multiply(n.multiply(n.subtract(bd1)));
//sum=sum*(n*(n-1));sum=1*(10*(10-1));此时n仍然等于10;
n=n.subtract(bd2);//n=n-2;
}
return sum;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
BigInteger n=in.nextBigInteger();
System.out.println(f(n));

}

}

你可能感兴趣的:(蓝桥杯 基础练习 阶乘计算)