专栏: 蓝桥杯——每日四道填空题(两道真题+两道模拟题)
&离蓝桥杯已经不到一个月时间了,赶快刷起来吧,填空题一定别丢分!!
୧꒰•̀ᴗ•́꒱୨
另一个专栏是: 蓝桥杯——编程题刷题营(每日四题,两道模拟,两道真题)
第一题(2022省赛B组):答案:1478
这题好像手算也行,哈哈~
第一题一般都非常简单,但一定要细心!!
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int num = 2 * pow(9,3) + 2 * pow(9,1) + 2 ;
printf("%d",num);
return 0;
}
对进制转换不熟悉的看这篇:进制转换
第二题(2022省赛B组):答案:14
这道填空题有点抠字眼了,在以后的表述中,希望官方出题注意一下表达吧
这里划红线的意思是:
012 和 123 都属于顺子日期,注意是顺序依次递增的的序列才叫顺子。
// 普通年:能被 4 整除且不能被 100 整除的是闰年。
// 世纪年:能被 400 整除的是闰年。
// 2022不是闰年,写个day数组
//七月和八月都是31天
#include <iostream>
using namespace std;
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31} , res;
int check(int q[]){
for(int i=3;i<=5;i++)
if(q[i]==(q[i+1]-1)&&q[i+1]==(q[i+2]-1)){
res++;
break;
}
return res;
}
int main()
{
int q[8]={2,0,2,2};
for(int i=1;i<=12;i++){
q[4]=i/10%10;
q[5]=i%10;
for(int j=1;j<=day[i];j++){
q[6]=j/10%10;
q[7]=j%10;
check(q);
}
}
cout<<res;
return 0;
}
其实手算也挺简单的。
一月份有:20220120、0121 、0122……0129 有十个。
十月份有一个:20221012
十一月份有一个:20221123
十二月有两个:20221230、20221231。
总共14个。
第三题模拟题(二进制数位):答案:11
#include <iostream>
using namespace std;
int main()
{
int n = 2022,cnt = 0;
while(n)
{
cnt++;
n /= 2;
}
cout<<cnt;
return 0;
}
第四题模拟题(晨跑):答案:138
这题和上面那道日期题一样主要考察我们对于日期运算的掌握。
//2022不是闰年
//1月1日是周六
#include <iostream>
using namespace std;
int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
int cnt = 0;
int week = 6; //1月1日是周六
for (int month = 1 ; month <=12 ; ++month)
{
for (int day = 1 ; day <= days[month] ; ++day)
{
if(week == 6 || week == 0 || day % 10 == 1){
cnt++;
}
week = (week + 1) % 7; //更新星期几
}
}
cout<<cnt;
return 0;
}