c语言求1到20的各个阶乘
时间: 2023-04-07 08:02:39 浏览: 326
好的,以下是1到20的各个阶乘的计算结果:
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 6227020800
14! = 87178291200
15! = 1307674368000
16! = 20922789888000
17! = 355687428096000
18! = 6402373705728000
19! = 121645100408832000
20! = 2432902008176640000
相关问题
C语言求1到n各个数的阶乘之和并输出
以下是C语言代码,可以求1到n各个数的阶乘之和并输出:
```c
#include <stdio.h>
int main() {
int n, i, j, factorial, sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
factorial = 1;
for (j = 1; j <= i; j++) {
factorial *= j;
}
sum += factorial;
}
printf("1到%d各个数的阶乘之和为:%d\n", n, sum);
return 0;
}
```
如果您有任何其他问题,请随时问我。
c语言用数组求n的阶乘
以下是使用数组求n的阶乘的C语言代码,其中使用了一个数组来存储大数阶乘:
```c
#include <stdio.h>
#include <stdlib.h>
#define N 10 //计算N的阶乘
int main(){
//数组 1位 1!
int ary[N] = {1, 1};
int i, j;
for (i = 2; i <= N; i++){
//各个下标的阶乘,第0位...
for (j = 1; j <= ary[0]; j++){
ary[j] *= i;
}
//进位
for (j = 1; j <= ary[0]; j++){
if (ary[j] < 10) continue;
ary[j+1] += ary[j] / 10;
ary[j] %= 10;
if (j == ary[0]) ary[0]++;
}
}
//输出结果
for (i = ary[0]; i >= 1; i--){
printf("%d", ary[i]);
}
printf("\n");
return 0;
}
```
阅读全文