#include<stdio.h>
int main(){
int N,i,j,sum=0,A=1;
scanf("%d",&N);
for(i=1;i<=N;i++){
A=i*A;
sum+=A;
}
printf("%d",sum);
return 0;
}
总结
开始弄了两个循环,内循环算阶乘,外循环算累加。后来觉得每次阶乘还得重新计算,是否可以利用上一次的阶乘结果,于是可以合成为一个循环就可以了。
本文探讨了一段 C 语言代码,通过合并循环将阶乘计算和累加操作合二为一,以提高程序效率。作者分享了从双循环到单循环优化的过程,适合初学者理解迭代改进的重要性。
#include<stdio.h>
int main(){
int N,i,j,sum=0,A=1;
scanf("%d",&N);
for(i=1;i<=N;i++){
A=i*A;
sum+=A;
}
printf("%d",sum);
return 0;
}
开始弄了两个循环,内循环算阶乘,外循环算累加。后来觉得每次阶乘还得重新计算,是否可以利用上一次的阶乘结果,于是可以合成为一个循环就可以了。

被折叠的 条评论
为什么被折叠?