C语言的递归与迭代常见使用练习

C语言的递归与迭代常见使用练习,第1张

C语言的递归与迭代常见使用练习

练习:求n的阶乘。(不考虑溢出

运用之前循环(迭代)的方法来求的话就是如下代码

 那么如果我们用递归的话就应该如下:

练习:求第n个斐波那契数。(不考虑溢出)

首先我们要知道斐波那契数列:

1 1 2 3 5 8 13 21 34 55.。。。。。

前两个数字之和等于第三个数字

这个代码有很大的缺点,效率非常慢,算n=55时就需要很长的时间,所以这里使用递归的方法不是很实用。

 

 

提示:
1. 许多问题是以递归的形式进行解释的,这只是因为它比非递归的形式更为清晰。
2. 但是这些问题的迭代实现往往比递归实现效率更高,虽然代码的可读性稍微差些。
3. 当一个问题相当复杂,难以用迭代实现时,此时递归实现的简洁性便可以补偿它所带来的运行时开
销。

 

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

原文地址: http://www.outofmemory.cn/zaji/4950202.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存