? 用三种方法来实现n!实现使用BigDecimal类,因为用int最多正确算到12!,用long最多正确算到20!.废话不多说,直接上代码:
?
? 第一种方法:
?//第一种方法:
package Factorial;
import java.math.BigDecimal;
import java.util.Scanner;
public class Factorial1 {
public static BigDecimal factorial(int n){
BigDecimal result = new BigDecimal(1);
BigDecimal a;
for(int i = 2; i <= n; i++){
a = new BigDecimal(i);
result = result.multiply(a);
}
return result;
}
public static void main(String[] arguments){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
System.out.println(a + "!=" + factorial(a));
}
}
?
? 第二种方法:
?
?
//第二种方法
package Factorial;
import java.math.BigDecimal;<