即n!=1*2*3*...*(n-1)*n。
而(n-1)!=1*2*3*...*(n-1)。
所以可以得出,n!=(n-1)!
*
n。
1
如果传入参数为0或1,返回1;
2
对于任意的n,返回n*fact(n-1)。
代码如下:
int fact(int n)
{
if(n == 0 || n == 1) return 1
return n*(fact(n-1))
}
#include <stdio.h>//主函数main()
{
int i,a,s=1//定义变量
printf("输入要算的阶乘数:")
scanf("%d",&a)
for(i=1i<a+1i++)//阶乘计算
{
s=s*i
}
printf("%d\n",s)//打印结果
}