c语言求一到二十的阶乘的和
时间: 2024-06-13 07:06:33 浏览: 63
以下是C语言求1到20的阶乘的和的代码:
```c
#include <stdio.h>
int main() {
int i, j;
long long factorial = 1, sum = 0;
for (i = 1; i <= 20; i++) {
factorial = 1;
for (j = 1; j <= i; j++) {
factorial *= j;
}
sum += factorial;
}
printf("1! + 2! + ... + 20! = %lld\n", sum);
return 0;
}
```
运行结果为:
```
1! + 2! + ... + 20! = 2561327494111820313
```
相关问题
c语言求1到二十阶乘的和
在C语言中,计算1到二十的阶乘之和可以采用循环结构和递归函数的方式。这里提供一种使用循环的方法,因为直接递归计算阶乘可能会导致栈溢出:
```c
#include <stdio.h>
// 计算阶乘的辅助函数
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
unsigned long long sum = 0; // 初始化阶乘和为0
for (int i = 1; i <= 20; ++i) { // 循环遍历从1到20
sum += factorial(i); // 累加每个数的阶乘
}
printf("1到20的阶乘和为:%llu\n", sum);
return 0;
}
```
这个程序首先定义了一个递归函数`factorial()`用于计算给定数字的阶乘,然后在主函数`main()`中通过循环逐个计算并累加各阶乘值。
c语言求一到五的阶乘之和
一到五的阶乘之和可以用循环语句和累加器来实现,具体代码如下:
```c
#include <stdio.h>
int main()
{
int i, num = 5, factorial = 1, sum = 0;
for (i = 1; i <= num; i++)
{
factorial *= i;
sum += factorial;
}
printf("The sum of factorials from 1 to %d is %d\n", num, sum);
return 0;
}
```
输出结果为:
```
The sum of factorials from 1 to 5 is 153
```
其中,第一次循环计算1的阶乘,第二次循环计算2的阶乘,以此类推,同时使用累加器`sum`来累加每个阶乘的值,得到最终结果。
阅读全文