蓝桥杯刷题|03入门真题

目录

[蓝桥杯 2020 省 B1] 整除序列

题目描述

输入格式

输出格式

输入输出样例

说明/提示

代码及思路

[蓝桥杯 2020 省 AB3] 日期识别

题目描述

输入格式

输出格式

输入输出样例

说明/提示

代码及思路

 [蓝桥杯 2019 省 B] 特别数的和

题目描述

输入格式

输出格式

输入输出样例

说明/提示

代码及思路

[蓝桥杯 2020 省 AB2] 成绩分析

题目描述

输入格式

输出格式

输入输出样例

说明/提示

代码及思路


[蓝桥杯 2020 省 B1] 整除序列

题目描述

有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。

输入格式

输入一行包含一个整数 n。

输出格式

输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。

输入输出样例

输入 #1

20

输出 #1

20 10 5 2 1

说明/提示

对于 80%80% 的评测用例,1≤n≤10^{9}

对于所有评测用例,1≤n≤10^{18}

蓝桥杯 2020 第一轮省赛 B 组 F 题。

代码及思路

#include
using namespace std; 
int main()
{
	long long int x;
	cin>>x;
	while(x>0)
	{
		cout<

[蓝桥杯 2020 省 AB3] 日期识别

题目描述

小蓝要处理非常多的数据, 其中有一些数据是日期。

在小蓝处理的日期中有两种常用的形式:英文形式和数字形式。

英文形式采用每个月的英文的前三个字母作为月份标识,后面跟两位数字表示日期,月份标识第一个字母大写,后两个字母小写, 日期小于 1010 时要补前导 00。11 月到 1212 月英文的前三个字母分别是 JanFebMarAprMayJunJulAugSepOctNovDec

数字形式直接用两个整数表达,中间用一个空格分隔,两个整数都不写前 导 0。其中月份用 11 至 1212 分别表示 11 月到 1212 月。

输入一个日期的英文形式, 请输出它的数字形式。

输入格式

输入一个日期的英文形式。

输出格式

输出一行包含两个整数,分别表示日期的月和日。

输入输出样例

输入 #1  Feb08

输出 #1  2 8

输入 #2  Oct18

输出 #2   10 18

说明/提示

蓝桥杯 2020 第三轮省赛 AB 组 F 题。

代码及思路

#include
#include
using namespace std;
int main()
{
	vector arr(5);
	for(int i=0;i<5;i++)
	{
		cin>>arr[i];
	}
	
		//Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec
		if(arr[0]=='J'&&arr[1]=='a'&&arr[2]=='n')cout<<1;
		if(arr[0]=='F'&&arr[1]=='e'&&arr[2]=='b')cout<<2;
		if(arr[0]=='M'&&arr[1]=='a'&&arr[2]=='r')cout<<3;
		if(arr[0]=='A'&&arr[1]=='p'&&arr[2]=='r')cout<<4;
		if(arr[0]=='M'&&arr[1]=='a'&&arr[2]=='y')cout<<5;
		if(arr[0]=='J'&&arr[1]=='u'&&arr[2]=='n')cout<<6;
		if(arr[0]=='J'&&arr[1]=='u'&&arr[2]=='l')cout<<7;
		if(arr[0]=='A'&&arr[1]=='u'&&arr[2]=='g')cout<<8;
		if(arr[0]=='S'&&arr[1]=='e'&&arr[2]=='p')cout<<9;
		if(arr[0]=='O'&&arr[1]=='c'&&arr[2]=='t')cout<<10;
		if(arr[0]=='N'&&arr[1]=='o'&&arr[2]=='v')cout<<11;
		if(arr[0]=='D'&&arr[1]=='e'&&arr[2]=='c')cout<<12;
		
		if(arr[3]=='0')cout<<' ';
		else cout<<' '<

 [蓝桥杯 2019 省 B] 特别数的和

题目描述

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 00),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是574。

请问,在 1 到 n 中,所有这样的数的和是多少?

输入格式

输入一行包含一个整数 n。

输出格式

输出一行,包含一个整数,表示满足条件的数的和。

输入输出样例

输入 #1  40

输出 #1 574

说明/提示

对于 20%的评测用例,1≤n≤10。

对于 50% 的评测用例,1≤n≤100。

对于 80% 的评测用例,1≤n≤1000。

对于所有评测用例,1≤n≤10000。

蓝桥杯 2019 省赛 B 组 F 题

代码及思路

#include
#include
#include
using namespace std;
int main()
{
	//结果 
	int num = 0;
	//输入 
	int n;
	cin >> n;
	//2,0,1,9
	

	for (int j = 1; j <= n; j++)
	{
        //为了不改变j,j的改变控制这循环
		int num1 = j;
        //因为特殊数中有0,如果初始值都赋值为0,就会造成所有数里面都有0
		vector arr(5, -1);
		int i = 5;
		//存入数组 
		while (num1 > 0)
		{
			int a =num1 % 10;
			num1 /= 10;
			arr[--i] = a;
		}

		for (int t = 4; t >-1; t--)
		{
			if (arr[t] == -1)break;
   
			if (arr[t] == 2 || arr[t] == 0 || arr[t] == 1 || arr[t] == 9)
			{
                //因为计算的时候-1会影响答案,有需要赋值为0;
				for (int m = 0; m < 5; m++)
				{
					if (arr[m] == -1)arr[m] = 0;
				}
				num += arr[0] * pow(10, 4) + arr[1] * pow(10, 3) + arr[2] * pow(10, 2) + arr[3] * pow(10, 1) + arr[4];
				break;
			}
		}
	}
	cout << num;
	return 0;
}

[蓝桥杯 2020 省 AB2] 成绩分析

题目描述

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0到 100 的整数。

请计算这次考试的最高分、最低分和平均分。

输入格式

输入的第一行包含一个整数 n,表示考试人数。

接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。

输出格式

输出三行。

第一行包含一个整数,表示最高分。

第二行包含一个整数,表示最低分。

第三行包含一个实数,四舍五入保留正好两位小数,表示平均分。

输入输出样例

输入 #1

7
80
92
56
74
88
99
10

输出 #1

99
10
71.29

说明/提示

对于 50%的评测用例, 1≤n≤100。

对于所有评测用例, 1≤n≤10000。

蓝桥杯 2020 第二轮省赛 A 组 F 题(B 组 F 题)

代码及思路

#include
 using namespace std;
 int main()
 {
 	int n;
 	int num=0;
 	//平均值,最大值,最小值 
 	int max=0,min=101;
 	double average=0;
 	cin>>n;
 	for(int i=0;i>num;
 		average+=num;
 		max=(num>max)?num:max;
 		min=(min

你可能感兴趣的:(蓝桥杯,蓝桥杯,职场和发展)