阶乘:
f a c t o r i a l ( n ) = { 1 n < = 0 n ∗ f a c t o r i a l ( n − 1 ) n > 0 factorial(n)=\begin{cases} 1 & n<=0\\n*factorial(n-1) & n>0\end{cases} factorial(n)={1n∗factorial(n−1)n<=0n>0
用递归算法计算n的阶乘:
long factorial(int n)
{
if( n<=0 ) return 1;
else return n*factorial(n-1);
}
用迭代方法计算n的阶乘:
long factorial(int n)
{
int result = 1;
while( n>1 )
{
result *= n;
n -= 1;
}
return result;
}