c语音计算s=1!+2!+3!+...+n!
时间: 2024-09-19 08:06:43 浏览: 51
在C语言中,计算阶乘s=1! + 2! + 3! + ... + n! 的过程需要循环和递归的概念。阶乘是一个数的所有小于及等于它的正整数的乘积,例如5! = 5 * 4 * 3 * 2 * 1。
以下是使用C语言编写的一个简单函数,计算从1到n所有正整数的阶乘之和:
```c
#include <stdio.h>
unsigned long long factorial_sum(int n) {
unsigned long long sum = 0; // 初始化阶乘和为0
for (int i = 1; i <= n; i++) {
unsigned long long fact = 1;
for (int j = 1; j <= i; j++) {
fact *= j;
}
sum += fact; // 将当前阶乘加到总和上
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
if (n >= 0) {
unsigned long long s = factorial_sum(n);
printf("从1到%d所有正整数阶乘之和为: %llu\n", n, s);
} else {
printf("输入错误, 需要一个非负整数.\n");
}
return 0;
}
```
阅读全文