4.12趣味百题第五题

一 问题描述

        一队兔子,出生后第三个月每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总数为多少?

二 设计思路

1. 每个兔子分为成长期和繁殖期。

2.成长期的兔子成长两个月便会进入繁殖期。

3.繁殖期的兔子每个月都会繁殖一个新兔子。

4.不用考虑兔子死亡使问题变得简单,扩展问题可以加上平均死亡月份。

 三 流程图

四 伪代码

把兔子分为三种 a,b,c

总数n=a+b+c

for(int i=1;i<30;i++)

{  输出总数

    c+=b

    b=a

     a=c

     d=a+b+c

 五 c语言代码

#include<iostream>
using namespace std;
int main()
{

class tuzi{
public:
int a=1;//处于第一个月的兔子对数
int b=0;//处于第二个月的兔子对数
int c=0;//处于繁殖期的兔子对数
int d=1;//兔子总对数


};
tuzi n;//创建对象n

for(int i=1;i<=30;i++)
{

cout<<n.d<<endl;

n.c+=n.b;
n.b=n.a;
n.a=n.c;
n.d=n.a+n.b+n.c;
}


return 0;
}

posted @ 2023-04-12 18:09  混沌武士丞  阅读(26)  评论(0)    收藏  举报