亲测可用
long jiecheng(int x)
{
long int i,k=1
for(i=1i<=xi++)
k=k*i
return k
}
int main()
{
long int j,k=0
int i
for(i=1i<=20i++)
{
j=jiecheng(i)
k+=j
}
printf("%ld\n",k)
}
输出的结果是2561327494111820313
扩展资料:
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
计算方法:
大于等于1:
任何大于等于1 的自然数n 阶乘表示方法:n! = 1×2×3×...×(n-1)n或n! = n×(n-1)!
0的阶乘:0!=1。
参考资料:百度百科——阶乘
求阶乘用for就行,假设我们要对num求阶乘,结果是resultint result = 1
for (int i=1i<=numi++){
result *= i
}
此时result的值即为num的阶乘(仅正整数)