一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
递归实现(以及n的阶乘和)
int fun(int n) {if (n == 1) {return 1;}else {return n * fun(n-1);}
}int main() {int a,i,sum=0;printf("请输入n的值:");scanf("%d", &a);printf("%d的阶乘是:%d", a, fun(a));//计算n的阶乘;//扩展到计算n的阶乘之和;for (i = 1; i <= a; i++) {sum += fun(i);//;累加阶乘;printf("\t%d的阶乘是%d\n", i, fun(i));}printf("%d的阶乘之和为%d\n", a, sum);
return 0;
}^0^^0^
for循环实现
int main() {int i, j, n, sum = 0,num = 0;printf("请输入计算阶乘和的n:");scanf("%d", &n);for (i = 1; i <= n; i++) {for (j = 1; j <= i; j++) {num += j;}printf("\t%d的阶乘为%d\n", i, num);//n的阶乘;sum += num;//n的阶乘的和}return 0;
}^0^^0^
算法!!!
本文链接:https://my.lmcjl.com/post/5770.html
展开阅读全文
4 评论