美文网首页
ACM-猪生子问题

ACM-猪生子问题

作者: 文仔CXKSNLXX | 来源:发表于2019-10-18 12:39 被阅读0次

这道题是杭电ACM课的第一次测试。当时被c++字符串输入和输出的坑浪费了好多时间,所以没做,现在有空就把它做一下

题目大概意思

某大学生回家养猪致富,第一年他又一只猪(猪第一年是一岁,没有0岁),每只猪在第三年的时候会生4只猪仔,而猪在5岁的时候会被卖掉。现在要求任意输入某一年,求当年该大学生拥有的猪数

例子

input
1
3
5
output
1
5
20

题目分析

看到这种题目,不用说,肯定是列出前几项找规律的。
我们尝试列出前7项

第n年 🐖数量
1 1
2 1
3 生新猪仔 5
4 5
5卖旧猪仔,生新猪仔 20
6 20
7卖旧猪仔,生新猪仔 80

根据题目除了第三年,后面每过三年(如3为第一年,4为第二年,5为第三年这样算三年,因为猪出生当年就算第一年)就有新的猪仔出来而且有旧的猪仔卖出。现在我们可以找规律了
在第三年的时候是1头猪生4只猪仔 所以剩余猪数量为 4 + 1
在第五年的时候卖出前面的1头猪,然后4只猪生猪仔,所以剩余猪数量为4×4 + 4
在第七年的时候卖出前面的4只猪,然后16只猪生猪仔,所以剩余猪数量为4×4×4 + 4×4
所以规律就出来了
第一次生猪仔时猪的数量为41 + 40
第二次生猪仔时猪的数量为42 + 41
第三次生猪仔时猪的数量为43 + 42
所以第n次生猪仔时猪的数量为4n + 4n-1
问题来了,如何将猪仔与年份对应起来。
从上面表可以看出,出了第一次生猪仔,其他生猪仔都是每两年一次, 所以如果第n年是生猪仔年,那么(n-1)/2就可以得到这是第几次生猪仔,而如果第n年不是生猪仔年,那么它的猪的数量等于上一次生猪仔时猪的数量,因为每隔两年就生,所以中间就一年,所以我们再减一次1用(n-1-1)/2就可以得出是第几次生猪仔。
分析完毕。

c++代码如下

#include <iostream>
#include <string>
#include<cmath>
using namespace std;

int main(){
    double N;
    cin>>N;
    while(N--){
        int year;
        int sum;
        cin>>year;
        if(year < 3){
            sum = 1;
        }
        else if((year - 1)%2 == 0){
            sum = pow(4,(year-1)/2) + pow(4,(year-1)/2 - 1);
        }
        else if((year - 2)%2 == 0){
            sum = pow(4,(year-2)/2) + pow(4,(year-2)/2 - 1);
        }
        cout<<sum<<endl;
    }
}

3q for reading - I am Mike

相关文章

  • ACM-猪生子问题

    这道题是杭电ACM课的第一次测试。当时被c++字符串输入和输出的坑浪费了好多时间,所以没做,现在有空就把它做一下 ...

  • 猪圈

    一头猪生病了是猪自身抵抗力不行,一群猪病了应该是猪圈出了问题。 出过一次问题,可能是某猪免疫力低下。 年年都出问题...

  • 啥是佩奇?李玉宝的答案就跟这画儿一样

    啥是佩奇? 李玉宝大爷自己提出的问题,最终他自己给出了答案: “她爹也是猪,她娘也是猪,儿子还是猪,一窝猪。” “...

  • 转载:疫苗与猪圈

    01. 看不见的“猪圈理论” 一头猪生病了是猪自身抵抗力不行,一群猪病了应该是猪圈出了问题。出过一次问题,可...

  • 【C++】递归 -- 母牛生子问题

    问题描述 某农场有一头刚出生的小奶牛,从第四个年头开始每年生一头母牛。之后的每一年大奶牛都会生一只小奶牛,而每过四...

  • 特大好消息!独生子女养老福利来了!每个家庭都该看看!

    在老年人口中,独生子女父母占了绝大多数,因此独生子女父母养老问题,一直是当今社会亟待解决的问题。针对这个问题,现在...

  • “猪圈理论”

    01.看不见的“猪圈理论” 一头猪生病了是猪自身抵抗力不行,一群猪病了应该是猪圈出了问题。 出过一次问题,可能是某...

  • 养黑猪和白猪哪个挣钱?——阎沟黑黑猪

    养黑猪和白猪哪个挣钱?黑猪比白猪好吗? 养殖黑猪和白猪哪个赚钱呢?在懂这个问题之前,我们要充分的了解黑猪与白猪才能...

  • 象的后裔

    猪的一生要如何度过,这是大花长期以来思考的问题。 大花是猪,但他最瞧不起的动物也是猪。而在猪中,他尤为鄙视与自己同...

  • 春雪

    金猪刚刚哼几声 大雪飘飘路断人 妒忌人间春来早 撒下婚纱跪求情 梅花欢喜漫天雪 寒艳温柔菩萨心 留下仙女多生子 万...

网友评论

      本文标题:ACM-猪生子问题

      本文链接:https://www.haomeiwen.com/subject/mjhimctx.html