700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 斐波那契数列 递归与非递归算法实现

斐波那契数列 递归与非递归算法实现

时间:2023-08-13 04:47:56

相关推荐

斐波那契数列 递归与非递归算法实现

0. 介绍

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n - 1)+F(n - 2)(n≥ 2,n∈ N*)在现代物理、准晶体结构、化学等领域,斐波那契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波那契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

摘自斐波那契数列-百度百科

1. 递归实现

python

def fib(index):if index == 1 or index == 2:return 1else:return fib(index - 1) + fib(index - 2)def main():for i in range(1, 10):print(fib(i), end = " ")if __name__ == "__main__":main()

C

#include<stdio.h>int fib(int index){if (index == 1 || index == 2) {return 1;}return fib(index - 1) + fib(index - 2);}int main(){for (int i = 1; i <= 10; i++) {printf("%d ", fib(i));}return 1;}

2. 非递归实现

python

def fib(n):a, b = 1, 1for i in range(1, 10):print(a, end = " ")tmp = a + b a = b b = tmpdef main():fib(10)if __name__ == "__main__":main()

C

#include<stdio.h>int fib(int index){int a = 1, b = 1;int i;int tmp;for (i = 1; i <= 10; i++) {printf("%d ", a);tmp = a + b;a = b;b = tmp;}}int main(){fib(10);return 1;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。