目录
[蓝桥杯 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≤。
对于所有评测用例,1≤n≤。
蓝桥杯 2020 第一轮省赛 B 组 F 题。
代码及思路
#include<iostream>
using namespace std;
int main()
{
long long int x;
cin>>x;
while(x>0)
{
cout<<x<<' ';
x=x/2;
}
return 0;
}
[蓝桥杯 2020 省 AB3] 日期识别
题目描述
小蓝要处理非常多的数据, 其中有一些数据是日期。
在小蓝处理的日期中有两种常用的形式:英文形式和数字形式。
英文形式采用每个月的英文的前三个字母作为月份标识,后面跟两位数字表示日期,月份标识第一个字母大写,后两个字母小写, 日期小于 1010 时要补前导 00。11 月到 1212 月英文的前三个字母分别是 Jan
、Feb
、Mar
、Apr
、May
、Jun
、Jul
、Aug
、Sep
、Oct
、Nov
、Dec
。
数字形式直接用两个整数表达,中间用一个空格分隔,两个整数都不写前 导 0
。其中月份用 11 至 1212 分别表示 11 月到 1212 月。
输入一个日期的英文形式, 请输出它的数字形式。
输入格式
输入一个日期的英文形式。
输出格式
输出一行包含两个整数,分别表示日期的月和日。
输入输出样例
输入 #1 Feb08
输出 #1 2 8
输入 #2 Oct18
输出 #2 10 18
说明/提示
蓝桥杯 2020 第三轮省赛 AB 组 F 题。
代码及思路
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector <char>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<<' '<<arr[3];
cout<<arr[4];
return 0;
}
[蓝桥杯 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<iostream>
#include<vector>
#include<cmath>
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 <int>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<iostream>
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<n;i++)
{
cin>>num;
average+=num;
max=(num>max)?num:max;
min=(min<num)?min:num;
}
average=average/(double)n;
cout<<max<<endl<<min<<endl;
printf("%0.2lf",average);
return 0;
}