C语言 用for循环 求1+5!+10!+15!+...+n!
时间: 2023-11-28 15:43:47 浏览: 61
以下是C语言用for循环求1+5!+10!+15!+...+n!的代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j, m = 1, sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i += 5) {
for (j = i; j <= i + 4 && j <= n; j++) {
m *= j;
}
sum += m;
m = 1;
}
printf("1+5!+10!+15!+...+n!的值为:%d\n", sum);
return 0;
}
```
代码思路如下:
1. 首先输入n的值。
2. 然后使用for循环,每次循环加5,即i的值分别为1、6、11、16……
3. 在内层循环中,每次循环j的值从i开始,乘以i到i+4中的数,如果i+4大于n,则只乘到n。
4. 每次内层循环结束后,将m的值加到sum中,并将m重新赋值为1。
5. 最后输出sum的值。
相关问题
C语言 用for循环球1!+5!+10!+15!+20!+25!+...+n!(n>20)
以下是C语言用for循环求1!+5!+10!+15!+20!+25!+...+n!(n>20)的代码:
```c
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i, j;
long long sum = 0; // 防止数据溢出,使用long long类型
long long fac = 1; // 阶乘
for (i = 1; i <= n; i += 5) // 每次加5
{
fac = 1;
for (j = i; j <= i + 4 && j <= n; j++) // 每次加1,最多加5次
{
fac *= j;
}
sum += fac;
}
printf("%lld\n", sum);
return 0;
}
```
c语言求1!+2!+3!+...+n!
以下是C语言求1!+2!+3!+...+n!的代码:
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) != EOF) {
long long sum = 0, num = 1;
for (int i = 1; i <= n; i++) {
num *= i;
sum += num;
}
printf("%lld\n", sum);
}
return 0;
}
```
该代码使用了for循环来计算1!+2!+3!+...+n!,其中num表示当前的阶乘,sum表示前面所有阶乘的和。在每次循环中,num乘以i,然后加到sum中。最后输出sum即可。