前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【编程之美】斐波拉契数列

【编程之美】斐波拉契数列

作者头像
程序员互动联盟
发布2018-03-15 16:53:35
8670
发布2018-03-15 16:53:35
举报
斐波拉契

意大利的数学家列昂那多·斐波那契在1202年研究兔子产崽问题时发现了此数列.设一对大兔子每月生一对小兔子,每对新生兔在出生一个月后又下崽,假若兔子都不死亡.

问:一对兔子,一年能繁殖成多少对兔子?

题中本质上有两类兔子:一类是能生殖的兔子,简称为大兔子;新生的兔子不能生殖,简称为小兔子;小兔子一个月就长成大兔子.求的是大兔子与小兔子的总和. 月份Ⅰ ⅡⅢⅣⅤⅥ ⅦⅧⅨⅩ ⅪⅫ 大兔对数11235813 21345589144 小兔对数01123581321345589

到十二月时有大兔子144对,小兔子89对,共有兔子 144+89=233对

从上表看出:① 每月小兔对数=上月大兔对数。 ② 每月大兔对数等于上个月大兔对数与小兔对数之和. 综合①②两点,我们就有:每月大兔对数等于前两个月大兔对数之和. 如果用 un 表示第 n 月的大兔对数,则有 un = un-1 +un-2 ,n > 2

每月大兔对数 un 排成数列为:1,1,2,3,5,8,13,21,34,55,89,144,• • •此数列称为斐波那契数列.

斐波那契数列: 1,1,2,3,5,8,13,21,34,55,89,144,• • • 上述数列中的每一个数称为斐波那契数.此数列有下述递推公式:u1 = 1, u2 = 1,un = un-1 +un-2 ,n > 2 .

斐波那契数列: 1,1,2,3,5,8,13,21,34,55,89,144,• • • 上述数列中的每一个数称为斐波那契数.此数列有下述递推公式:u1 = 1, u2 = 1,un = un-1 +un-2 ,n > 2 . 数学的各个领域常常奇妙而出乎意料地联系在一起:斐波那契数列是从兔子问题中抽象出来的,如果它在其它方面没有应用,它就不会有强大的生命.发人深省的是,斐波那契数列确实在许多问题中出现.

自然界中的斐波那契数:花瓣数中的斐波那契数大多数植物的花,其花瓣数都恰是斐波那契数.例如,兰花、茉利花、百合花有3个花瓣,毛茛属的植物有5个花瓣,翠雀属植物有8个花瓣,万寿菊属植物有13个花瓣,紫菀属植物有21个花瓣,雏菊属植物有34、55或89个花瓣. 向日葵花盘内,种子是按对数螺线排列的,有顺时针转和逆时针转的两组对数螺线。两组螺线的条数往往成相继的两个斐波那契数,一般是34和55,大向日葵是89和144,还曾发现过一个更大的向日葵有144和233条螺线,它们都是相继的两个斐波那契数.

01

class

解题思路:

c++实现:

#include<iostream>

using namespace std;

int Fibonacci(int n)

{

int temp=0;

if(n==1||n==2)

temp=1;

else

temp=Fibonacci(n-1)+Fibonacci(n-2);

return temp;

}

void main()

{

int m=0;

cout<<"输入斐波拉契数的序数:";

cin>>m;

cout<<"/n"<<Fibonacci(m)<<"/n";

}

code也是一种艺术,它能展现出自己的美。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档