编写一个c语言编程,求s=1+(1+2)+(1+2+3)+……+(1+2+3+……+n)
时间: 2023-05-20 20:03:56 浏览: 698
以下是一个求解 s 的 C 语言程序:
```
#include <stdio.h>
int main() {
int n, i, j;
long long s = 1, t = 1;
printf("请输入 n:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
t = 1;
for (j = 1; j <= i; j++) {
t *= j;
}
s *= t;
}
printf("s = %lld\n", s);
return 0;
}
```
这个程序使用了两个循环,外层循环从 2 到 n,内层循环计算每个数的阶乘,然后将所有阶乘相乘得到 s 的值。注意,由于 s 的值可能非常大,我们使用了 long long 类型来存储它。
相关问题
编写一个c语言编程,求S=1+(1+2)+(1+2+3)+……+(1+2+3+……+n)
以下是一个求S的C语言程序:
```
#include <stdio.h>
int main() {
int n, i, j, product, sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
product = 1;
for (j = 1; j <= i; j++) {
product *= j;
}
sum += product;
}
printf("S的值为:%d\n", sum);
return 0;
}
```
这个程序使用了两个循环,外层循环从1到n,内层循环从1到当前的i,计算i的阶乘并累加到sum中。最终输出sum的值即为S的值。
1!+2!+……+20!用c语言编程
以下是用C语言编写1!+2!+……+20!的代码:
```c
#include <stdio.h>
long long factorial(int num) {
long long result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
return result;
}
int main() {
long long sum = 0;
for (int i = 1; i <= 20; i++) {
sum += factorial(i);
}
printf("1!+2!+...+20! = %lld\n", sum);
return 0;
}
```
运行结果为:
```
1!+2!+...+20! = 2561327494111820313
```
阅读全文