PTA之简单阶乘计算

本题要求实现一个计算非负整数阶乘的简单函数。

时间限制: 400ms
内存限制: 64MB
代码长度限制: 16KB

函数接口定义:

int Factorial( const int N );

其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。

裁判测试程序样例:

 1 #include <stdio.h>
 2 int Factorial(const int N);
 3 int main()
 4 {
 5     int N, NF;
 6     scanf_s("%d", &N);
 7     NF = Factorial(N);
 8     if (NF)
 9         printf_s("%d! = %d\n", N, NF);
10     else 
11         printf_s("Invalid input\n");
12     return 0;
13 }
14 /* 你的代码将被嵌在这里 */

输入样例:

5

输出样例:

5! = 120

 

1 int Factorial(const int N)
2 {
3     if (N < 0)
4         return 0;
5     if (N == 0)
6         return 1;
7     else
8         return N * Factorial(N - 1);
9 }

 

posted on 2018-05-23 20:49  Arthurian  阅读(2751)  评论(0编辑  收藏  举报