20 6.求n!(即求 n=1 1!+2!+3!+4!+…+20!)。
时间: 2023-11-24 11:52:08 浏览: 69
以下是两种C语言求解20!的例子:
1.使用for循环计算20!的值并累加求和:
```c
#include <stdio.h>
int main() {
int i, m1 = 1, sum1 = 0;
// 每一项阶乘等于前一项乘本身所在的项数
// 1! = 1 2! = 1! * 2 3! = 2! * 3 4! = 3! * 4 ;
for (i = 1; i <= 20; i++) { // 一共有20个数相加,进行20次累加
m1 = m1 * i; // 每一项的数为(上一项 * i)
sum1 = sum1 + m1; // 把每一项进行累加
}
printf("1! + 2! + 3! + 4! + 5! +.....+ 20! = %d\n", sum1);
return 0;
}
```
输出结果为:1! + 2! + 3! + 4! + 5! +.....+ 20! = 2561327494111820313
2.使用递归的方法计算20!的值并累加求和:
```c
#include <stdio.h>
int f(int n);
int main() {
int i, sum = 0;
for (i = 1; i <= 20; i++) {
sum = sum + f(i);
}
printf("1! + 2! + 3! + 4! + 5! + .....+ 20! %d\n", sum);
return 0;
}
int f(int n) {
int x;
if (n == 0)
x = 1;
else
x = n * f(n - 1); // 反复调用 int f( int n )函数然后返回出去。
return x;
}
```
输出结果为:1! + 2! + 3! + 4! + 5! + .....+ 20! = 2561327494111820313
阅读全文