OJ1055:兔⼦繁殖问题(C语⾔计算斐波那契数列“兔⼦数列”)
题⽬描述
这是⼀个有趣的古典数学问题,著名意⼤利数学家Fibonacci曾提出⼀个问题:有⼀对⼩兔⼦,从出⽣后第3个⽉起每个⽉都⽣⼀对兔⼦。⼩兔⼦长到第3个⽉后每个⽉⼜⽣⼀对兔⼦。按此规律,假设没有兔⼦死亡,第⼀个⽉有⼀对刚出⽣的⼩兔⼦,问第n个⽉有多少对兔⼦?
输⼊
输⼊⽉数n(1<=n<=44)。
输出
输出第n个⽉有多少对兔⼦。
样例输⼊ Copy
3
样例输出 Copy
2
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
double a1=1.0,a2=1.0,a3;
scanf("%d",&n);
if(n<=2)
{
a3=1;
}
c语言斐波那契数列else
{
for(i=3;i<=n;i++)
{
a3=a1+a2;
a1=a2;
a2=a3;
}
}
printf("%.0lf",a3);
return0;
}
附斐波那契数列**("兔⼦"数列):0、1、1、2、3、5、8、13、21、34、……
所以代码还可以改成这样(即认为第0天兔⼦对数为0)
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
double a1=0.0,a2=1.0,a3; scanf("%d",&n);
if(n==1)
{
a3=1;
}
else
{
for(i=2;i<=n;i++)
{
a3=a1+a2;
a1=a2;
a2=a3;
}
}
printf("%.0lf",a3);
return0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。