题目:
古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
详解:
首先这个输出的值就是斐波那契数列:
1,1,2,3,5,8,13,21....,
重要特点,也是解题关键是:
每一项等于前两项之和
流程详解:
- 打印第一位数1
- 打印第二位数2
- 执行循环,打印其他数
关键(输出) | 代码 | ||||||||
序号(第几个数) | 1 | 2 | 3 | 4 | 5 | 6 | |||
输出目标 | 1 | 1 | 2 | 3 | 4 | 8 | |||
- | - | - | - | - | - | - | - | - | - |
循环1 | a | b | a=b; | ||||||
ba | b=a; | ||||||||
a | b | 打印第三个数(序号三的输出目标)=b | 打印b |
| |||||
循环2 | ab | a=b | |||||||
a | b | 打印第四个数=b | |||||||
... | |||||||||
循环38 | |||||||||
打印第40个数=b |
代码实现:
#include <stdio.h>
#include <stdlib.h>
void test ()
{
int a=1;
int b=1;
int temp;
printf("1\n1\n");
for(int i=1;i<=38;i++)
{
temp=a+b;
a=b;
b=temp;
printf("%d\n",b);
}
}
int main()
{
test();
system("pause");
return 0;
}
挺烧脑的,呃呃 标签:输出,数列,temp,int,打印,兔子,斐波,循环,那契 From: https://blog.csdn.net/qq_69155454/article/details/140924298