求一个整数的阶乘,首先我们要了解阶乘是如何得到的,例如,n=5,那么n的阶乘就是5×4×3×2×1,这就是n的阶乘。求n的阶乘有两种方法,第一种就是我们的暴力解法,迭代。因为我们采用for循环遍历,通过自减来达到这个效果。另一种就是用递归求解。
(以下是代码↓)
import java.util.Scanner;
public class Factorial{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = input.nextInt();
int a = n;
//方法一:迭代
if(a == 0){
a = 1;
}else{
for(int i = a - 1; i > 0; i--){
a *= i;
}
}
System.out.println("该数的阶乘为:"+a);
System.out.println(Fac(n))
}
//方法二:递归
public static int Fac(int n){
if(n == 0){
return 1;
}else{
return n * Fac(n - 1);
}
}
}