阶乘的递归与迭代算法

版权声明:本文为博主原创,未经博主允许不得转载 https://blog.csdn.net/Sherry_Yue/article/details/87926511

阶乘:

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}

用递归算法计算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;
}

猜你喜欢

转载自blog.csdn.net/Sherry_Yue/article/details/87926511