已知n和s是分别是系统给定的外部整型变量和长整型变量(不需要自行定义) 。编写程序,求1!+2!+3!+4!+5!+...+n!,并将结果存放到s。
时间: 2023-11-17 21:01:41 浏览: 87
一个计算1+2+3+5+8+13+...+n的算法程序
3星 · 编辑精心推荐
根据引用中的代码,我们可以使用类似的方法来解决这个问题。具体来说,我们可以使用一个循环来计算1!+2!+3!+...+n!,并将结果存储在变量s中。代码如下所示:
```c
#include <stdio.h>
void main() {
int n;
long long s = 0; // 注意要使用长整型变量存储结果,避免溢出
scanf("%d", &n); // 从外部输入n的值
for (int i = 1; i <= n; i++) {
long long f = 1; // 定义一个变量f来存储i的阶乘
for (int j = 1; j <= i; j++) {
f *= j; // 计算i的阶乘
}
s += f; // 将i的阶乘加到s中
}
printf("1!+2!+3!+...+%d!=%lld\n", n, s); // 输出结果
}
```
在上面的代码中,我们使用了两个循环来计算1!+2!+3!+...+n!。外层循环用来遍历1到n,内层循环用来计算每个i的阶乘。我们使用一个变量f来存储i的阶乘,然后将它加到变量s中。最后,我们使用printf函数输出结果。
阅读全文