蓝桥杯(B组)-每日一题

题目:

思路:

首先将所有牛分类

1.a第一头母牛-每年年初生一头小母牛

2.不能生小牛的牛:

b1-一岁小母牛

b2-二岁小母牛

b3-三岁小母牛

超过4岁就会再生一头小牛

因此计算每年生的小牛是第一头生的a再加上4岁后的生的

代码实现:

复制代码
#include<iostream>
using namespace std; 
int main()
{
    int a=1,b1=0,b2=0,b3=0,year[55];
//初始化如果第一头每年生一头的牛数量是1
//1岁的小牛
//2岁的小牛
//3岁的小牛都初始化为1

//第0年没有牛也初始化为0
    year[0]=0;
    year[1]=1;
//定义年数组来存放每一年有的牛数 

//进入循环从第2年到第55年
    for(int i=2;i<55;i++)
    {
        a=a+b3;
//每年的新生牛等于原先可以生的+去年3岁的
        year[i]=year[i-1]+a;
//去年的+新的
        b3=b2;//2岁的变成3岁 
        b2=b1;//1岁的变成2岁 
        b1=a;//新出生的   
     } 
     while(1)
//一直进行循环
{
    int p;//输入年数p
    cin>>p;
    if(p!=0)//如果不为0
    {
        cout<<year[p]<<endl;//将year数组中存储的年数打印
     } 
     else//如果为0的话直接结束
     break;
}
    return 0;
} 
相关推荐
代码充电宝9 小时前
LeetCode 算法题【简单】283. 移动零
java·算法·leetcode·职场和发展
liuyao_xianhui1 天前
四数之和_优选算法(C++)双指针法总结
java·开发语言·c++·算法·leetcode·职场和发展
墨染点香1 天前
LeetCode 刷题【93. 复原 IP 地址】
算法·leetcode·职场和发展
Asmalin1 天前
【代码随想录day 29】 力扣 860.柠檬水找零
算法·leetcode·职场和发展
程序员小白条1 天前
度小满运维开发一面
java·运维·python·职场和发展·运维开发
Asmalin1 天前
【代码随想录day 29】 力扣 135.分发糖果
算法·leetcode·职场和发展
微笑尅乐1 天前
多解法详解与边界处理——力扣7.整数反转
算法·leetcode·职场和发展
덕화2 天前
模拟面试 - 第6轮
面试·职场和发展
元亓亓亓2 天前
LeetCode热题--207. 课程表--中等
算法·leetcode·职场和发展