两种方法求n!,递归和非递归调用

时间:2022-05-29 19:43:07
(1)非递归调用,即一般方法
#include<stdio.h>
int fic(int n)
{
	int i=0;
	int ret=1;
	for(i=1;i<=n;i++)
	{
		ret=ret*i;
	}
	return ret;
}
int main()
{
	int n=5;
	int ret=fic(n);
	printf("%d\n",ret);
	return 0;
}

(2)递归调用

#include<stdio.h>
int fic(int n)
{
	if(n<=1)
	{
		return 1;
	}
	else
	{
		return n*fic(n-1);
	}
}
int main()
{
	int n=5;
	int ret=fic(n);
	printf("%d\n",ret);
	return 0;
}