c语言双循环求1: 3!+4!+5!+6!+7!=?
时间: 2023-11-17 19:07:57 浏览: 87
这道题目可以使用双重循环来解决。其中外层循环控制数字的范围,内层循环计算每个数字的阶乘并将其累加到总和中。根据引用中的方法,我们可以直接在一个循环中计算所有数字的阶乘并将其累加到总和中。因此,我们可以使用以下代码来解决这个问题:
```
#include <stdio.h>
int main() {
int n = 7; // 求1: 3!+4!+5!+6!+7!
int i, j, sum = 0, set = 1;
for (i = 3; i <= n; i++) {
set = 1;
for (j = 1; j <= i; j++) {
set *= j;
}
sum += set;
}
printf("%d\n", sum);
return 0;
}
```
相关问题
c语言双循环求 3!+4!+5!+6!+7!=?
这道题目可以使用双重循环来解决。其中外层循环控制数字的范围,内层循环计算每个数字的阶乘并将其累加到总和中。根据引用中的方法,我们可以直接在内层循环中计算阶乘并将其累加到总和中。具体代码如下:
#include <stdio.h>
int main() {
int i = 0;
int set = 1;
int n = 0;
int sum = 0;
for (n = 3; n <= 7; n++) {
set = 1;
for (i = 1; i <= n; i++) {
set = set * i;
}
sum = sum + set;
}
printf("%d\n", sum);
return 0;
}
因此,3!+4!+5!+6!+7!=4356。
用C语言计算:1!+2!+3+……+n!(用双层循环完成)
以下是用C语言计算1!+2!+3+……+n!(用双层循环完成)的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int fun(int x) {
int Sn = 0;
int S;
for (int i = 1; i <= x; ++i) {
S = 1;
for (int j = 1; j <= i; ++j) {
S *= j;
}
Sn += S;
}
return Sn;
}
int main() {
int n;
printf("您需要1到多少的阶乘之和,请输入(此值请小于26)\n");
scanf("%d", &n);
printf("数字1到数字%d各阶乘之和为%d\n", n, fun(n));
system("pause");
return 0;
}
```
阅读全文