问题描述:实现计算非负整数阶乘的函数。其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。
方法一:迭代法
int Factorial( const int N ){
int i, r = 1;
if(N<0||N>12) return 0;
else{
for(i = 1; i <= N; i++)
r = r * i;
return r;
}
}
方法二:递归法
int Factorial( const int N ){
if(N<0||N>12) return 0;
else if(N==1||N==0) return 1;
else
return (N*Factorial(N-1));
}