zl程序教程

您现在的位置是:首页 >  其他

当前栏目

蓝桥杯2020c++B组省赛

2023-02-18 16:27:27 时间

前言

最后还是回到了高中刷题时光,没有撤退可言,码民报名费300交了,争取大一就去北京玩几天,开创蓝桥杯真题系列,随缘更新

如果博主有错误之处,还请不吝赐教! 原创不易,还请三连

跑步训练

思路:

跑一次休息一次,为0时候停止,模拟就好

#include<iostream>
using namespace std;

int main()
{
	int n = 10000, minu, sec;
	for (int i = 0; ; i++) {
		if (i % 2 == 0) { // 跑
			if (n > 600) {
				n -= 600;
			}
			else { // 体力不足跑完一分钟
				minu = i;
				sec = n / 10;
				break;
			}
		}
		else { // 休息
			n += 300;
		}
	}
	cout << (minu * 60 + sec) << endl;

	return 0;
}

纪念日

暴力计算日期的类型,算就好了,一个判断闰年的函数,在算日期,然后算出分钟就好了

#include<iostream>
using namespace std;
bool panduan(int n)//判断闰年函数
{
	if (n % 400 == 0 || (n % 4 == 0 && n % 100 != 0))
	{
		return true;
	}
	return false;
}
int main()
{
	sum=0;
	for(int i=1921;i<2020;i++)
	{
		if(panduan)
			sum+=366;
		else
			sum+=365;
	}
	cout<<sum<<endl;
	return 0;
}

2.用excel表格来计算,然后用计算器相乘,即为所得 答案:52038720

合并检测

思路:

取最值问题,先考虑能不能用数学方法解决 假设有n个人,感染者有n/100 每k个人一组,共有n/k,共用n/k瓶,每多一个人,(n/100)*k 则n/k+(n/100)*k,又因为n为一个定值, 利用均值不等式得 1/k+k/100>=2根号…… 解的k=10

REPEAT 程序