700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言斐波拉契数列

C语言斐波拉契数列

时间:2020-12-27 02:43:49

相关推荐

C语言斐波拉契数列

C语言斐波拉契数列

一、输出斐波那契数列

#include<stdio.h>int main()//主函数,程序的入口 {long long f1=1,f2=1,f3;//定义变量,并初始化,因为数很大,用long longint row; printf("输入需要输出的行数:");//提示语句 scanf("%d",&row);//输入行数 printf("%lld\n%lld\n",f1,f2);//先输出第一行和第二行 for(int i=1;i<row-1;i++)//循环控制row-2行 {f3=f1+f2;//第三行的值是前面两行的和 printf("%lld\n",f3);f1=f2;//变量赋值 f2=f3;} return 0;}

二、应用实例

如果一对兔子每月能生一对小兔子,而每个小兔子在它出生后的第三个月里又能开始生一对小兔子,假定在不发生死亡的情况下,由一对出生的兔子开始,一年后能繁殖出多少对兔子?

解题思路:

(1)首先将兔子分为三种:大兔(能生小兔)、1个月大的小兔(当月生的)、2个月大的小兔(上月生的,不能生小兔),到第三个月时,2个月大的小兔就成大兔了。

(2)初始状态,只有一对1个月大的小兔。

(3)第一个月,一对2个月大的小兔。

(4)第二个月,2个月大的小兔长为大兔,生一对小兔,共两对。

(5)第三个月,大兔又生一对小兔,同时上月的小兔长为2个月的小兔,共三对。

(6)表格如下:

这个数列有个明显的特点,即从第三个数开始,当前项数是前面相邻两项的和。

递推过程如下:

F0=1

F1=1

F2=F0+F1

F3=F1+F2

Fn=F(n-2)+F(n-1)

源代码:

#include<stdio.h>#define NUM 13int main(){int i;//定义整型变量i long fib[NUM]={1,1};//定义一个数组,保存初始兔子数和每个月的总数 for(i=2;i<NUM;i++)//循环推算每个月兔子的总数 {fib[i]=fib[i-2]+fib[i-1];}for(i=0;i<NUM;i++)//循环输出每个月的兔子总数 {printf("%d月的兔子总数:%d\n",i,fib[i]);}return 0;}

注:若要输出更多项,修改第三行NUM的值。

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