C/C++知识点之用递归和非递归的方法输出斐波那契数列的第n个元素(C语言实现)
小标 2018-11-01 来源 : 阅读 2710 评论 0

摘要:本文主要向大家介绍了C/C++知识点之用递归和非递归的方法输出斐波那契数列的第n个元素(C语言实现),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之用递归和非递归的方法输出斐波那契数列的第n个元素(C语言实现),通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

             

费波那契数列(意大利语:Successione di Fibonacci),又译为费波拿契数、斐波那契数列、费氏数列、黄金分割数列。
在数学上,费波那契数列是以递归的方法来定义:

{\displaystyle F_{0}=0}
{\displaystyle F_{1}=1}
{\displaystyle F_{n}=F_{n-1}+F_{n-2}}(n≧2)

用文字来说,就是费波那契数列由0和1开始,之后的费波那契系数就是由之前的两数相加而得出。首几个费波那契系数是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……(OEIS中的数列A000045)
特别指出:0不是第一项,而是第零项。


 1 #include <stdio.h>
 2 
 3 int fib1 (int n) ;    //非递归生成下标为n的斐波那契数列元素
 4 int fib2 (int n) ;    //递归生成下标为n的斐波那契数列元素
 5 
 6 int main ()
 7 {
 8     int n ;
 9     printf ("please input the index of fib:") ;
10     scanf ("%d" , &n) ;
11     printf ("the %d fib1 number is %d \n" , n , fib1(n)) ;
12     printf ("the %d fib2 number is %d \n" , n , fib2(n)) ;
13     return 0 ;
14 }
15 
16 int fib1 (int n)
17 {
18     int i = 0 ;
19     int a = 1 ;
20     int b = 1 ;
21     int result = 0 ;
22     if (n <= 0)
23     {
24         return 0 ;
25     }
26     else if (n <= 2)
27     {
28         return 1 ;
29     }
30     else
31     {
32         for (i = 3 ; i <= n ; i ++)
33         {
34             result = a + b ;
35             a = b ;
36             b = result ;
37         }
38         return result ;
39     }
40 }
41 
42 int fib2 (int n)
43 {
44     if (n <= 0)
45     {
46         return 0 ;
47     }
48     else if (n <= 2)
49     {
50         return 1 ;    //递归终止条件
51     }
52     else
53     {
54         return fib2(n-1) + fib2(n-2) ;    //递归
55     }
56 }

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved