【C语言小题】递归和非递归实现求n的阶乘

【C语言小题】递归和非递归实现求n的阶乘,第1张

【C语言小题】递归和非递归实现求n的阶乘

用递归和非递归分别实现求n的阶乘(不考虑溢出的问题)

1.递归方式
# include 

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 

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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5714267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存