解题思路:嵌套循环,先是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语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1514 |
printf基础练习2 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5229 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:536 |
母牛的故事 (C语言代码)浏览:549 |
1908题解浏览:636 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:552 |
Tom数 (C语言代码)浏览:725 |
输入输出格式练习 (C语言代码)浏览:843 |
整除问题 (C语言代码)浏览:522 |