问题描述:
递归和非递归分别实现求n的阶乘(不考虑溢出的问题)
递归实现:
#include "stdio.h"
int Factorial(int n)
{
if(n==1)
return n;
else
return n*Factorial(n-1);
}
int main()
{
int n,m;
scanf("%d",&n);
printf("%d",Factorial(n));
return 0;
}
非递归实现:
#include "stdio.h"
int Factorial(int n)
{
int sum=1;
for(int i=n;i>=1;i--)
{
sum*=i;
}
return sum;
}
int main()
{
int n,m;
scanf("%d",&n);
printf("%d",Factorial(n));
return 0;
}
运行结果: