蓝桥杯2021 第二期模拟赛

19 篇文章 1 订阅
8 篇文章 9 订阅


好久不见xdm,今天写什么呢?今天被蓝桥杯模拟赛打了一顿,说难也不难
一起来看吧

1.二进制数

第一题
问题描述
  小明要用二进制来表示 1 到 10000 的所有整数,要求不同的整数用不同的二进制数表示,请问,为了表示 1 到 10000 的所有整数,至少需要多少个二进制位?
答案提交
  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
  这题老实说误导了很久,总以为是要求1-10000转成二进制总共多少位,
  结果傻逼了,其实printf也可以。
  结果是14

#include<stdio.h>
int main()
{
	int a=10000;
	int sum=0;
	int c;
	while(a!=0)//判断
	{
		a=a/2;//每次转换
		sum++;//判断一次减一次
	}
	printf("%d",sum);
	return 0; 
	} 

2.整倍数

问题描述:
  请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍。
答案提交
  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

没什么好讲的 循环就好
结果168

#include<stdio.h>
int main()
{
	int sum=0;
	for(int i=1;i<=2020;i++)
	{
		if(i%6==0&&i%4==0)
		sum++;
	}
	printf("%d",sum);
	return 0; 
	} 

3.要求序列

请问有多少个序列满足下面的条件:
  1. 序列的长度为 5。
  2. 序列中的每个数都是 1 到 10 之间的整数。
  3. 序列中后面的数大于等于前面的数。
答案提交
  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

  乍一看很难?拉倒,就是个循环
  
  上代码 结果是2002


#include<stdio.h>
int main()
{
  int a,b,c,d,e;
  int sum=0;
    for( a=1;a<=10;a++)
    {
    	for(b=1;b<=10;b++)
    	{
    		for(c=1;c<=10;c++)
    		{
    			for(d=1;d<=10;d++)
    			{
    				for(e=1;e<=10;e++)
    				{
    					if(a<=b&&b<=c&&c<=d&&d<=e)//判断
    					{
    						sum++;
						}
					}
				}
			}
		}
	}
	printf("%d",sum);
	return 0; 
	} 

4.无向图的结点

问题描述
  一个无向图包含 2020 条边,如果图中没有自环和重边,请问最少包含多少个结点?
答案提交
  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。***
  
  啊看到这懵了?啥叫无向图???
  好吧 其实我也是懵逼的 这里普及一下概念

  在这里插入图片描述
大概就是这样 就是说给几个点 让他们互相连接但是不能重复
不说了 上代码

不要说了 公式就是永恒真理- -
构成连接线条与点的关系数量公式为 a x(a-1)/2
结果是65

#include<stdio.h>
int main()
{
  int a;
  int c;
  for(a=1;a<2000;a++)//随便给个循环
  {
  	 if((a-1)/2*a>=2020)//公式 (a*(a-1)/2)即可得到最少节点
  	 {
  	 	c=a;//给值跳循环
  	 	break;
	   }
  	 
  }
  printf("%d",c);
	return 0; 
	} 

5.字母距离

问题描述
  两个字母之间的距离定义为它们在字母表中位置的距离。例如 A 和 C 的距离为 2,L 和 Q 的距离为 5。
  对于一个字符串,我们称字符串中两两字符之间的距离之和为字符串的内部距离。
  例如:ZOO 的内部距离为 22,其中 Z 和 O 的距离为 11。
  请问,LANQIAO 的内部距离是多少?
答案提交
  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。***

思路:这题其实不麻烦,麻烦的点在题目理解不方便,
其实意思就是算他们彼此差的asll码值
#include<stdio.h>
int main()
{
   char a[7]={'L','A','N','Q','I','A','O'};
   int c=0,y=0;
   for(int i=0;i<7;i++)
   {
     for(int j=i;j<7;j++)//循环减法 
     {
     	c=a[j]-a[i];//算差值 
     	if(c<0)
     	{
     		c=-c;//负数转正,因为5-3与3-5的差距是2  要差而不是要负数 
		 }
		 y+=c;//总值 
	 }
   	
   }
   printf("%d",y);
   
	return 0; 
	} 

6.时间调整

第六题
问题描述
  现在时间是 a 点 b 分,请问 t 分钟后,是几点几分?
输入格式
  输入的第一行包含一个整数 a。
  第二行包含一个整数 b。
  第三行包含一个整数 t。
输出格式
  输出第一行包含一个整数,表示结果是几点。
  第二行包含一个整数,表示结果是几分。
样例输入
3
20
165
样例输出
6
5
样例输入
3
20
175
样例输出
6
15
数据规模和约定
  对于所有评测用例,0 <= a <= 23, 0 <= b <= 59, 0 <= t, t 分钟后还是在当天。***
 这个题目真心没意思

#include<stdio.h>
int main()
{
  int a,b,c,d;
  scanf("%d%d%d",&a,&b,&c);
  d=a*60+b+c;
  printf("%d\n%d",d/60,d%60);	
   
	return 0; 
	} 

7.平行四边形

问题描述
  给定一个平行四边形的底边长度 l 和高度 h,求平行四边形的面积。
输入格式
  输入的第一行包含一个整数 l,表示平行四边形的底边长度。
  第二行包含一个整数 h,表示平行四边形的高。
输出格式
  输出一个整数,表示平行四边形的面积。(提示:底边长度和高都是整数的平行四边形面积为整数)
样例输入
2
7
样例输出
14
数据规模和约定
  对于所有评测用例,1 <= l, h <= 100。***
  
  恕我直言,这题目真的太爱了。

#include<stdio.h>
int main()
{
  int a,b;
  scanf("%d%d",&a,&b);
  printf("%d",a*b);
	return 0; 
	} 

还剩下三题,有时间再写,小伙伴们再见,
另外,
要是蓝桥杯比赛也这个难度我可以笑醒
码字不易 点点关注。
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值