- 0! = 1
- 1! = 1
- n! = n x (n-1) x (n-2) x … x 2 x 1
n! = n x (n-1)!这就是递归公式
#include<stdio.h>
long Factorial(int);
int main(void)
{
int n;
printf("请输入 n 的值:");
scanf("%d", &n);
printf("%d!=%ld\n", n , Factorial(n));
return 0;
}
long Factorial(int n)
{
if(n<0)
{
return -1;
}
else if(0 == n || 1 == n)
{
return 1;
}
else
{
return n * Factorial(n-1);
}
}
n的值不要太大,不然会容易溢出的,long类型也不要放下。