c语言求一到二十的阶乘的和
时间: 2024-06-13 20:06:33 浏览: 53
以下是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语言求一到五的阶乘之和
一到五的阶乘之和可以用循环语句和累加器来实现,具体代码如下:
```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`来累加每个阶乘的值,得到最终结果。
用c语言编写一到二十的阶乘
在C语言中,编写一个程序来计算1到20的阶乘可以通过一个循环结构来实现,同时使用一个足够大的数据类型来存储计算结果,以防止溢出。以下是C语言代码的一个示例:
```c
#include <stdio.h>
#define MAX 20
#define FACT_SIZE sizeof(unsigned long long int) // 假设使用unsigned long long int类型
int main() {
unsigned long long int factorial[MAX + 1]; // 存储阶乘结果的数组
int i;
factorial[0] = 1; // 初始化0!为1
factorial[1] = 1; // 初始化1!为1
for (i = 2; i <= MAX; i++) {
factorial[i] = factorial[i - 1] * i;
}
for (i = 0; i <= MAX; i++) {
printf("%d! = %llu\n", i, factorial[i]);
}
return 0;
}
```
在这段代码中,我们定义了一个数组`factorial`来存储每个数的阶乘值,以及一个循环来计算从1到20的每个数的阶乘。`unsigned long long int`是一个足够大的整型,可以存储这些阶乘值,而不至于在10!之前就溢出。然后我们通过两个循环分别计算阶乘值和打印结果。