完美

[学习|工作|博客|交流平台|完美起航]
 详情

兔子繁殖问题编程

时间:[2018-04-11 22:37:10] 作者:[ zyw327 ] 点击:[ 22279 ]

问题如下:

有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问 12 个月后这人有多少对新生兔子?

首先分析:

image.png

从上可以知道,从3月份开始每月增加的兔子对数成等差数列,因此此题从3月份开始可以通过求等差数列的前n项和求每月的兔子对数。

image.png

因为是从三月开始所以n= n- 2; 首项为1,化简后得:

result = 2 + (n - 2) + (n * n - 5n + 6) / 2; 其中n要大于等于2;

1月则返回1对兔子

C语言编程如下:

/*
 有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问 12 个月后这人有多少对新生兔子
 */
#include <stdio.h>

int main() {
    int n = 0;
    int result = 0;
    printf("请输入月份:");
    scanf("%d", &n);
    if (n == 1) {
        result = 1;
    } else {
        result = 2 + (n - 2) + (n * n - 5 * n + 6) / 2;
    }
    printf("%d月份共有%d对兔子\n", n, result);
    return 0;
}


 5   0
 相关评论

zyw327

铜牌用户

积分:3190

欢迎评论

2018-04-16 14:51:38回复

SmartZ 回复 zyw327:

666

2018-04-16 14:52:39回复

zyw327

姓名:  
zyw327
QQ号码:  
327523057
职位:  
NODEJS
GITHUB主页:  
个性签名:  
宝剑锋从磨砺出,梅花香自苦寒来

关注     私信