首页 > 代码库 > 斐波那契的两种实现方式
斐波那契的两种实现方式
斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了《斐波纳契数列》季刊,专门刊载这方面的研究成果。
#include<stdio.h> /* 解决斐波那契数列问题: 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 特别指出:0是第0项,不是第1项。 这个数列从第二项开始,每一项都等于前两项之和。fn=fn(n-1)+fn(n-2); */ void array(); int recursion(int n); void main() { printf("----------用数组输出数列前40项的值-----------------\n"); array(); printf("----------用递归输出数列第6项的值-----------------\n"); printf("%d\n",recursion(6)); system("pause"); } //用的递归实现 int recursion(int n) { if (n == 1 || n == 2) { return 1; } else { return recursion(n - 1) + recursion(n - 2); } } //用数组模拟前四十项的值 void array() { int a[40]; a[0] = 1;//下表为1,代表数列的第一项 a[1] = 1; printf("%d\n",a[0]); printf("%d\n", a[1]); for (int i = 2; i <40; i++) { a[i] = a[i - 1] + a[i - 2]; printf("%d\n", a[i]); } }
运行结果:
接上:
同
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。