解题思路:嵌套循环,先是n的循环,在进行相应的阶层的循环
注意事项:这里需要用long,int可能精度不够
参考代码:/*注意:这里需要用long,int可能精度不够*/
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n = sc.nextInt();
long Sn=0;
if(n>20)
return;
else{
for(long i=1;i<=n;i++) {
long num=1,m=0;//不能放在for循环外面
for (int j = 1; j <=i; j++) {
num=num*j;
}
// 第二种: for (int j = 0; j <i; j++) {//j不能等于i,否则会出现m=i-j=0,从而num在最后会=0;
// m = i-j;
// num=num*m;//求阶乘的方法
// }
Sn = Sn + num;
}
}
System.out.println(Sn);
}
}
0.0分
0 人评分