兔子生崽问题。用c语言求解

学习目标:

兔子生崽问题。

学习内容:

兔子生崽问题。假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子, 试问从一对兔子开始繁殖,一年以后可有多少对兔子?请编程求解该问题。 **输出格式要求:"\nTotal = %d\n" "%4d" 程序运行示例如下: 1 2 3 5 8 13 ** 34 55 ** *** *** Total = *** (此程序只有一个测试用例,为避免泄漏答案,具体数值用*代替)

易知应该使用菲波那切数列
因为小兔子比大兔子晚一个月
所以每个月的兔子数为上个月加上上个月
为菲波那切数列:1 1 2 3 5 8 13 21 ··········

程序示例如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a=1,b=1,Total,i,c;
    printf("   1");
    for(i=1;i<12;i++)
    {
        c = a+b;//本月(用c表示)为上上个月(a)和上个月(b)的和。
        a = b;
        b = c;//更新数据使a,b永远为上个月的兔子数和上上个月的兔子数。
        printf("%4d",b);
    }
    printf("\nTotal = %d\n",b);

}

其他解法友情链接:
https://blog.csdn.net/yang8627/article/details/83027866

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值