每日一练: 我读书少,你们得帮帮我

我读书少,你们得帮帮我

描述

每个人的一生是这样度过的:(当他回首往事的时候。。。开个玩笑,请无视) 头20年用来生长发育以及挖山,第21年(可以理解为21岁的时候)开始 每年生下一个孩子( 自交,任性, 没妻子,全生男,且不考虑死亡),当然还要去挖山。我们默认愚公111岁的时候为第一年(第21年愚公生下第一胎),求第N年愚公家族(愚公家族不需要妻子,别考虑太多)有多少人。

输入

有多组测试数据,每组占一行,包括一个数N(0<N<=60)N(0<N<=60)N(0<N<=60),N为第N年。

输出

对于每组测试,输出整数M,M为愚公家族的人数。
样例输入样例输出
11
212
4123
60251
#include<stdio.h>
int main()
{
    int N;
    while(scanf("%d",&N)!=EOF)
    {
        if(N<21){
            printf("%d\n",1);
        }
        else{
            if(N<41){
                printf("%d\n",N-19);
            }
            else{
            int a=1,b=0;
            for(int i=0;i<N-40;i++)
            {
                a=a+1;
                b=b+a;
            }
            printf("%d\n",21+b);
        }
    }
}
    return 0;
}
这道题从题目上可以看出,N<=60,所以最多是三代,他,他儿子,他孙子三代人O(∩_∩)O。
当N<21时,只有愚公他自己,所以输出为1.
当N=21,愚公生了他第一个儿子,接下来一直到第40天(N=40),他每天生一个,这时增长的人数只是愚公提供的,每天增加一个,而到了第41天愚公的第一个儿子又要生了加上愚公也生一个所以这一天是增加两个,并且愚公的第一个儿子 ( 愚公 在 第 2 1天 生 的 )也 具 备了 每 天 生 一个 的 能力 , 到 了第 4 2 天 ,这 天 的 增长数= 愚公的 + 愚公第一个儿子的(愚公的第一个孙子)+愚公的第二个儿子的(愚公在第22天生下的孩子的),所以这天的增加量为3,下一天是4,再下一天是5·······,一直到第60天结束这整个题 **(这是整个题的分析,并不是答案,因为输入的数是你控制的!)
当然下面如果有61天,在这一天的增量=愚公的+愚公的前40天具有生育能力的儿子的+愚公的第一个孙子的(第41天他第一个儿子生的也具有了生育能力)

·

·

·

·

·

·

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值