蓝桥杯(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;
} 
相关推荐
田梓燊3 分钟前
leetcode 160
算法·leetcode·职场和发展
_深海凉_3 小时前
LeetCode热题100-找到字符串中所有字母异位词
算法·leetcode·职场和发展
zjeweler4 小时前
“网安+护网”终极300多问题面试笔记-全
笔记·网络安全·面试·职场和发展
_深海凉_4 小时前
LeetCode热题100-最长连续序列
算法·leetcode·职场和发展
_深海凉_7 小时前
LeetCode热题100-只出现一次的数字
算法·leetcode·职场和发展
無限進步D8 小时前
蓝桥杯赛前刷题
c++·算法·蓝桥杯·竞赛
wfbcg9 小时前
每日算法练习:LeetCode 76. 最小覆盖子串 ✅
算法·leetcode·职场和发展
Via_Neo9 小时前
判断字符串前缀(26年蓝桥杯JAVA B组)
java·职场和发展·蓝桥杯
wangwangmoon_light9 小时前
1.23 LeetCode总结(树)_一般树
算法·leetcode·职场和发展
小肝一下9 小时前
c++从入门到跑路——string类
开发语言·c++·职场和发展·string类