java怎么写求阶乘?

Python018

java怎么写求阶乘?,第1张

亲测可用

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。

参考资料:百度百科——阶乘

按照你的要求编写的n的阶乘的Java程序如下

public class Factorial{

public int foo(int x){

if(x==0 || x==1){

return 1

}else{

return x*foo(x-1)

}

}

public static void main(String[] args){

int n=6

Factorial f=new Factorial()

System.out.println(f.foo(n))

}

}