解题思路:嵌套循环,先是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 人评分
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:663 |
C语言程序设计教程(第三版)课后习题12.6 (C语言代码)浏览:791 |
2^k进制数 (C++代码)使用递归方法浏览:719 |
买不到的数目 (C++代码)浏览:862 |
【出圈】 (C语言代码)浏览:553 |
上车人数 (C语言代码)浏览:767 |
幸运数 (C++代码)浏览:1258 |
母牛的故事 (C语言代码)浏览:940 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:505 |
printf基础练习2 (C语言代码)浏览:503 |