1. 0! = 1
  2. 1! = 1
  3. 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阶×_递归

n的值不要太大,不然会容易溢出的,long类型也不要放下。