看看咱写的美妙代码。^_^
int zero(int n)
{
return n < 5 ? 0 : n / 5 + zero(n / 5);
}
代码虽少,内涵不小.
计算,n/5的联合
由此,可以计算阶乘
#include <iostream.h>
double factorial(int n)
{
return n<=1?1:n*factorial(--n);//这里注意了,n--与--n是不一样的,但这里的factorial(--n)实际上对于本
//程序的功能来说是错误的。详细解释请看:
//对递归的更深理解
}
void main()
{
cout<<factorial(9)<<endl;//362880
}
评论
发表评论