2021年——第十二届蓝桥杯大赛软件赛国赛C/C++ 大学 C 组

第十二届蓝桥杯大赛软件赛决赛C/C++ 大学 C 组

整体来说,这次难易题都有还是挺均匀的。奈何纯质数没跑出来把自己惊到了。
最后坐上了二等奖的末班车哈哈哈,把去年的遗憾补回来了,满足了。ƪ(˘⌣˘)┐

大学的最后一场比赛愉快的结束了~

试题 A: 整数范围

本题总分:5 分
【问题描述】
用 8 位二进制(一个字节)来表示一个非负整数,表示的最小值是 0,则
一般能表示的最大值是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

255

试题 B: 带宽

本题总分:5 分
【问题描述】
小蓝家的网络带宽是 200 Mbps,请问,使用小蓝家的网络理论上每秒钟最
多可以从网上下载多少 MB 的内容。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

20

试题 C: 纯质数

本题总分:10 分
【问题描述】
如果一个正整数只有 1 和它本身两个约数,则称为一个质数(又称素数)。
前几个质数是:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, ···。
如果一个质数的所有十进制数位都是质数,我们称它为纯质数。例如:2,
3, 5, 7, 23, 37 都是纯质数,而 11, 13, 17, 19, 29, 31 不是纯质数。当然 1, 4, 35
也不是纯质数。
请问,在 1 到 20210605 中,有多少个纯质数?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

答案:1903

这道题当时没运行出来,结束之后才发现一个我自己的致命习惯问题,判断质数时我没有加优化条件 i*i<=n,我怕不是想跳西湖。被自己的智商惊了,简单题没做出来就很难受。

代码:

#include<bits/stdc++.h>
using namespace std;
int check(int n){
   
   
	for(int i=2;i*i<=n;i++){
   
   
		if(n%i==0){
   
   
			return 0;
		}
	}
	return 1;
}
int check2(int n){
   
   
	while(n){
   
   
		int k=n%10;
		if(check(k)==0 ||k==1 ||k==0){
   
   
			return 0;
		}
		n=n/10;
	}
	return 1;
}
int main(){
   
   
	long long ans=0;
	for(int i=1;i <= 20210605 ;i++){
   
   
		if(check2(i) && check(i)){
   
   
			ans++;
		}
	}
	cout<<ans<<endl;
	return 0;
} 

试题 D: 完全日期

本题总分:10 分
【问题描述】
如果一个日期中年月日的各位数字之和是完全平方数,则称为一个完全日
期。
例如:2021 年 6 月 5 日的各位数字之和为 2 + 0 + 2 + 1 + 6 + 5 = 16,而
16 是一个完全平方数,它是 4 的平方。所以 2021 年 6 月 5 日是一个完全日期。
例如:2021 年 6 月 23 日的各位数字之和为 2 + 0 + 2 + 1 + 6 + 2 + 3 = 16,
是一个完全平方数。所以 2021 年 6 月 23 日也是一个完全日期。
请问,从 2001 年 1 月 1 日到 2021 年 12 月 31 日中,一共有多少个完全日
期?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

977

代码(直接暴力):

#
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值