阶乘的递归与迭代算法

阶乘:

factorial(n)={1n<=0nfactorial(n1)n>0factorial(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;
}
posted @ 2019-02-25 22:35  Sherry_Yue  阅读(1477)  评论(0编辑  收藏  举报