本题要求实现一个计算非负整数阶乘的简单函数。
函数接口定义:
int Factorial( const int N );
其中N
是用户传入的参数,其值不超过12。如果N
是非负整数,则该函数必须返回N
的阶乘,否则返回0。
裁判测试程序样例:
#include <stdio.h> int Factorial( const int N ); int main() { int N, NF; scanf("%d", &N); NF = Factorial(N); if (NF) printf("%d! = %d\n", N, NF); else printf("Invalid input\n"); return 0; } /* 你的代码将被嵌在这里 */
输入样例:
5
输出样例:
5! = 120
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
!!!!!!!阶乘,零的阶乘等于1,即当N==0时,return 1;
代码实现:
int Factorial( const int N ){
if(N<0)
return 0;
else if(N==0)
return 1;
int i,s=1;
for(i=1;i<=N;i++){
s*=i;
}
return s;
}