求n的阶乘有两种方法
法1:通过递归公式 n!=(n-1)!*n
法2:通过循环n!=1*2*3*……*n,循环的话从1开始,不能有0
注意:在阶乘中,1和0的阶乘为1
public class Practice3{
//求n的阶乘 法1.通过阶乘 公式:n!==(n-1)*n
public static long factorial1(int n){
if(n==0||n==1){
return 1;
}
else{
return factorial1(n-1)*n;
}
}
//求n的阶乘 法2:通过循环 n!=1*2*3*……*n
public static long factorial2(int n){
if(n==0){
return 1;
}
else{
long fact=1;
for(int i=1;i<=n;i++){
fact=fact*i;
}
return fact;
}
}
public static void main(String [ ] args){
System.out.printf("阶乘为%d%n",factorial1(10));
System.out.printf("阶乘为%d%n",factorial2(10));
}
}