用递归和非递归分别实现求n的阶乘(不考虑溢出的问题)
1.递归方式
# include <stdio.h>
long long Fac(int N)
{
if (N <= 1)
{
return 1;
}
return Fac(N - 1) * N;
}
int main()
{
int i = 3;
printf("%d", Fac(i));
return 0;
}
2.循环方式(非递归)
# include <stdio.h>
long long Fac(int N)
{
long long ret = 1;
for (int i = 2; i <= N; ++i)
{
ret *= i;
}
return ret;
}
int main()
{
int i = 3;
printf("%d", Fac(i));
return 0;
}