A7857.阶乘和 思路+代码
2024-12-03 21:27:11
发布于:江苏
4阅读
0回复
0点赞
这道题让我们求1到n的阶乘和。
可以列出1到n阶乘和的表达式:1+12+123+1234+...+1234...*n。
根据题意:无论n取什么值,最小的输出都为1。
所以我们可以定义一个变量用来记录阶乘的结果,定义另一个变量来加上每一次阶乘的结果。
注意:可以把这两个变量的初始值设为1来优化。
模拟代码
#include <cstdio>
using namespace std;
int n,r=1,s=1;
int main()
{
scanf("%d",&n);
for (int i=2; i<=n; i++) s+=(r*=i);//s记录阶乘和,r来计算每一个数的阶乘(因为这是一个等差升序,所以可以一直r*i来计算阶乘)
printf("%d",s);
return 0;
}
这里空空如也
有帮助,赞一个