用c语言解决古典问题(萌新所写)

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少对?(输出前20月即可)

针对该问题主要寻找规律

第一月 1对  第二月1对   第三月 2对    第四月 3对   第五月 5对    第6月 8对.......

兔子在第三月的时候就具有生殖能力

规律:  从第三个书数开始前两个月相加的和对应下一个数

eg:1+1=2,2+3+5..........

开始分析:

1.这里只有从第三个数开始符合上面的规律,所以作为萌新的我选择直接输出一二月的结果

学到数组的同学可以利用数组,这样就不用单个输出.

2.(先大概整理一下自己需要用到的语法)因为我们需要打印20条输出结果,所以我们需要用到for循环,if语句等

3.现在需要解决的就只有如何实现前两个相加等后一个

第3个月     x3=1+1,x3=2

第4个月     x4=2(x3)+1,x4=3

第5个月     x5=3(x4)+2(x3),x5=5

第6个月     x6=5(x5)+3(x4) ,x6=8

由此可以看出 :假设a=1,b=1,所以x3=a+b,x4=x3(a+b)+b

在这里的X3很明显就可以利用a去代替它,a会由原本的1变成x3

所以就有 a=a+b,但是下面的X4无法在用a去表示,假如继续用a就会导致b

这个变量无法变值,所以再写一条 b=a+b;

在3的时候用 a=a+b

在4的时候用 b=a+b

在5的时候用 a=a+b

 ........ 所以这里就需要我们分开奇偶进行输出

到这里分析就完毕了,细节方面需要各位自己进行修补

 

 ​​​​​​​

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不吃牛肉!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值