通过Scanner 获取一个整数,然后使用while计算这个整数的阶乘
N的阶乘等于 N* (N-1) * (N-2) * ... * 1
3==》1*2*3
3==》3*2*1
需要使用经历多少次循环?
1*2
2*3
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
Scanner num = new Scanner(System.in);
System.out.print("输入一个整数:");
int a = num.nextInt();
// System.out.print(a);
int c = a;
//程序体
if (a<=1){
System.out.printf("%d!=1 \n",a);
}else{
for (int i = 1;i<=a-1;i++){
c = c*i;
}
System.out.printf("%d的阶乘为%d",a,c);
}
}
}
//第二种方法
package date_20220113;
import java.util.Scanner;
public class Factorial_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.print(n);
int res = n;
while (n>1){
n--;
res = res*n;
}
System.out.println("的阶乘为"+res);
}
}