由于对于任意的n,
n! = (n-1)! * n
即令f(n) = n!,存在公式
f(n) = f(n-1) * n
int fac(int n){
if(n == 0 || n == 1) return 1
return fac(n-1)*n
}
long ff(int n) //函数作用是计算N的阶乘{
long f
if(n<0)printf("n<0,input error")//n不能为负数
else if(n==0||n==1)f=1//这里使ff(0)和ff(1)等于1
else f=ff(n-1)*n//这里使ff(n) = n * ff(n-1),重要,因为当形参n = n-1时,ff(n-1) = ff(n-2) * (n-1),所以这一步实际实现了n阶乘计算,即ff(n) = n * ff(n-1) = n * (n-1) * ff(n-2).....*ff(1) *ff(0),因为ff(0) == ff(1) == 1.所以ff(n) = n!实现。
return(f)
}