如何计算从1!到n!的所有阶乘值?
- 内容介绍
- 文章标签
- 相关推荐
本文共计304个文字,预计阅读时间需要2分钟。
c
1、求阶乘乘+n:
c#includeint main() { int i, n, ret; printf(输入n的值:); scanf(%d, &n); ret=1; for (i=1; i <=n; i++) { ret *=i; } printf(n!=%d\n, ret); return 0;}
2、求阶乘之和:c#include
int main() { int i, j, n, ret, sum=0; printf(输入n的值:); scanf(%d, &n); for (i=1; i <=n; i++) { ret=1; for (j=1; j <=i; j++) { ret *=j; } sum +=ret; } printf(阶乘之和=%d\n, sum); return 0;}
1、求阶乘 n!
int main() {
int i, n, ret;
printf("输入n的值:");
scanf("%d", &n);
ret = 1;
for (i = 1; i <= n; i++) {
ret = ret * i;
}
printf("n!= %d",ret);
return 0;
}
2、求阶乘之和 n!+(n-1)!+...+1!
int main() {
int i, j, n, ret, sum;
printf("输入的n是:");
scanf("%d", &n);
sum = 0;
for (j = 1; j <= n; j++) {
ret = 1;
for (i = 1; i <= j; i++) {
ret = ret * i;
}
sum = sum + ret;
}
printf("n!= %d\n", ret);
printf("n!+(n-1)!+...+1!= %d\n", sum);
return 0;
}
性能优化后代码,
int main() {
int i, n, ret, sum;
printf("输入的n是:");
scanf("%d", &n);
ret = 1;
sum = 0;
for (i = 1; i <= n; i++) {
ret = ret * i;
sum = sum + ret;
}
printf("n!= %d\n", ret);
printf("n!+(n-1)!+...+1!= %d\n", sum);
return 0;
}
输出结果:
本文共计304个文字,预计阅读时间需要2分钟。
c
1、求阶乘乘+n:
c#includeint main() { int i, n, ret; printf(输入n的值:); scanf(%d, &n); ret=1; for (i=1; i <=n; i++) { ret *=i; } printf(n!=%d\n, ret); return 0;}
2、求阶乘之和:c#include
int main() { int i, j, n, ret, sum=0; printf(输入n的值:); scanf(%d, &n); for (i=1; i <=n; i++) { ret=1; for (j=1; j <=i; j++) { ret *=j; } sum +=ret; } printf(阶乘之和=%d\n, sum); return 0;}
1、求阶乘 n!
int main() {
int i, n, ret;
printf("输入n的值:");
scanf("%d", &n);
ret = 1;
for (i = 1; i <= n; i++) {
ret = ret * i;
}
printf("n!= %d",ret);
return 0;
}
2、求阶乘之和 n!+(n-1)!+...+1!
int main() {
int i, j, n, ret, sum;
printf("输入的n是:");
scanf("%d", &n);
sum = 0;
for (j = 1; j <= n; j++) {
ret = 1;
for (i = 1; i <= j; i++) {
ret = ret * i;
}
sum = sum + ret;
}
printf("n!= %d\n", ret);
printf("n!+(n-1)!+...+1!= %d\n", sum);
return 0;
}
性能优化后代码,
int main() {
int i, n, ret, sum;
printf("输入的n是:");
scanf("%d", &n);
ret = 1;
sum = 0;
for (i = 1; i <= n; i++) {
ret = ret * i;
sum = sum + ret;
}
printf("n!= %d\n", ret);
printf("n!+(n-1)!+...+1!= %d\n", sum);
return 0;
}
输出结果:

