亲测可用
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。
参考资料:百度百科——阶乘
java中可以用for循环来实现阶层。代码如下:
public class Demo {
public static void main(String[] args) {
for(int i=1i<5i++){
int sum = 1//定义一个用来存储阶层的值
for(int j=1j<=ij++){//实现阶层的循环
sum *= j
}
System.out.println(i+"的阶层是:"+sum)
}
}
}
for循环中的变量从1开始,循环遍历到阶层本身的这个数,通过一个变量来记录上一个数的乘积即可。