【蓝桥杯 C++高级组省赛以及2020年-蓝桥杯C++省赛合集+部分答案】

一、选择题(单项选择,每空30分)
请将选择题答案填入答题卡蓝色框内
第一题(难度系数 1)
结构化程序所要求的基本结构不包括( )。
A.顺序结构
B.GOTO()跳转
C.选择(分支)结构
D.重复(循环)结构
第二题(难度系数 2)
若定义 int a=2,b=2,下列表达式中值不为 4 的是( )。
A.a*(++b)
B.a*(b++)
C.a+b
D.a*b
第三题(难度系数 3)
在下列选项中,不能输出 100 个整数的是( )。
A.
for(int i=0;i<100;i++)
cout<<i;
B.
int i=0;
do
{
cout<<i;
i++;
}
while(i<100);
C.
int i=0;
while(i<100)
{
cout<<i;
i++;
}
D.
int i=0;
while(i<100)
{
i++;
if(i<100) continue;
cout<<i;
}
第四题(难度系数 4)
下列叙述中正确的是( )。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D.上述三种说法都不对
第五题(难度系数 4)
小蓝打羽毛球 实行积分赛制,获胜积 5 分,打平积 2 分,失败扣 1 分。已知小 在 20 场积分赛后积
61 分且有 3 场比赛打平,那么小 的胜率为:
A、48%
B、55%
C、60%
D、75%
二、编程题
第一题(难度系数 3,满分 50 分)
编程实现: 属相
程序命名:mouse.cpp
题目描述:
我们中国人对老鼠的感情可不一般,鼠是中国传统十二生肖之首。
那么 2020 年出生的“20 后”是否都是“鼠宝宝”呢?其实不是,2020 年 1 月 1 日~1 月 24 日出
生的“20 后”,仍然是“猪宝宝”,因为他们出生在农历己亥猪年;大年初一(1 月 25 日)及
之后出生的“20 后”才是“鼠宝宝”。那么接下来请你判断一下,以下生日的宝宝是“猪宝宝”
还是“鼠宝宝”?
输入: 符合常识的两个空格分隔的整数 month,day,分别代表宝宝出生的月份及日子,
(1<=month<=12, 1<=day<=31)。
输出: 若是“猪宝宝”请输出"Pig";若是“鼠宝宝”请输出"Mouse"。
样例输入
1 1
样例输出
Pig
评分标准
30分:完成题目样例和给出的一个样例;
40分:在30分的基础上完成给出的第三个样例;
50分:在40分的基础上完成给出的第四个样例。
第二题(难度系数 4,满分 50 分)
编程实现: 写个“2”
程序命名:two.cpp
题目描述:
2020年2月,小蓝参加“蓝桥杯大赛青少年创意编程C++组”选拔赛。在一个这么“2”的时间里参
赛,小蓝一时高兴,忍不住在键盘上敲出了一个会写“2”的程序。
输入:
一个整数 n(3<=n<=100)
输出:
一个由“ * ”组成的长、宽都是 n 的“ 2 ”字图形 , 具体请参见样例。
样例输入 1:
5
样例输出 1:
样例输入 2:
8
样例输出 2:
评分标准:
30分:完成题目样例和给出的一个样例;
40分:在30分的基础上完成给出的第三个样例;
50分:在40分的基础上完成给出的第四个样例。
第三题(难度系数 5,满分 100 分)
编程实现: 石头剪刀布
程序命名:game.cpp
题目描述:
放假期间,小蓝与电脑对垒,玩起了一款经典的游戏:“石头剪刀布”。游戏规则想必大家已经
非常熟悉了:两边一样则为平局,否则石头胜于剪刀;剪刀胜于布;布胜于石头。小蓝与电脑的对垒
一共有 n 个回合,平局或败局得分为 0;胜局得分取决于小蓝出手的阵容, 剪刀、石头、布各有不同
的分值:
出手“石头”赢的话得 r 点分值;
出手“剪刀”赢的话得 s 点分值;
出手“布”赢的话得 c 点分值;
但是,在第 i 回合中,小蓝不能使用在第(i-k)个回合中使用的阵容。 (在前 k 个回合中,小
蓝可以使用任何阵容。)
在游戏开始之前,电脑已经事先安排好了每回合比赛的阵容,而小蓝居然未卜先知了电脑的阵
容!电脑的出手阵容用字符串 t 给出,如果 t 的第 i 个字符(1 i n)为 r,则代表电脑将在第 i 个
回合中出手 石头 。同样,c 和 s 分别代表“布”和“剪刀”。
那么请你计算一下,小蓝在游戏中可以获得的最大分 是多少?
输入:
n k
r s c
t
其中:n,k,r,s,c 都是整数,t 是字符串。
2 n 20
1 k n 1
1 r,s,c 1000
字符串 t 的长度是 n
输出:
小蓝在游戏中可以获得的最大分值
样例输入:
5 2
8 7 6
rsrcr
样例输出:
27
样例说明:
机器出手的阵容是:石头 剪刀 石头 石头
则小蓝出手:布 石头 石头 剪刀 布,分值为6+8+0+7+6=27分
第3回合里,小蓝不能再出第(3-2=1)回合里出过的“布”了,所以选择了平局,出手“石
头”,得0分。
评分标准:
30 分 :完成一个题目样例和给出的一个样例;
50 分 :在 30 分的基础上完成给出的另外一个样例;
100 分:在 50 分的基础上完成给出的最后一个样例。
第四题(难度系数 6,满分 100 分)
编程实现: 部分排序
程序命名 sort.cpp
题目描述:
一个数列 P 中有 n 个数。小蓝从中选择位置连续的 k 个数,并对这 k 个数进行升序排列。求排序
后的数列有多少种?
输入:
n k
P 0 P 1 P n 1
其中:所有的输入都是整数,2 n 100,2 k n,0 P i n 1,P 0 ,P 1 , ,P n 1 数值都不相同。
输出:
部分排序后数列的排列数。
样例输入:
5 3
0 2 1 4 3
样例输出:
2
样例说明: 从原数列抽取连续 3 个数排序后有 2 种可能性: (0,1,2,4,3) 和 (0,2,1,3,4)。
评分标准:
30 分 :完成题目样例和给出的一个样例;
50 分 :在 30 分的基础上完成给出的另外一个样例;
100 分:在 50 分的基础上完成给出的最后一个样例。
第五题(难度系数 7,满分 100 分)
编程实现: 题目的分数值
程序命名:score.cpp
题目描述:
蓝桥杯 C++青少组的比赛有 n 个问题,现在请你给这 n 个问题分配分值。
n 个问题已经按从简单到困难排好序,第 i 个问题的分值是 A i 。n 个问题的分值满足如下关系:
1≤ A 1 A 2 A n ≤n 。不同的问题可以具有相同的分值。
主办方希望:解决更多问题的参赛者的排名更高。 因此,对于任何解决了 k(1 k n-1)个问题
的参赛者,其分数总和一定要小于解决了任何 k + 1 个问题的参赛者的分数总和。
你有几种分配分 的方法? 将答案对素数 m 取余后输出。
输入:
整数 n 和 m
其中 2 n 5000,9×10 8 <m<10 9 ,m 为素数。
输出:
分值分配的方案数对 m 取余后的数字
样例输入 1:
2 998244353
样例输出 1:
3
样例 1 说明:
2 个题的分值分配有 3 种方案: (1,1), (1,2), (2,2)。
样例输入 2:
3 998244353
样例输出 2:
7
样例 2 说明:
3 个题的分值分配有 7 种方案:(1,1,1), (1,2,2), (1,3,3), (2,2,2), (2,2,3), (2,3,3),
(3,3,3)
评分标准:
30 分 :完成题目样例和给出的一个样例;
50 分 :在 30 分的基础上完成给出的另外一个样例;
100 分:在 50 分的基础上完成给出的最后一个样例。

1双面打印

为了环保,妈妈一般都进行双面打印,也就是一张纸的正反面都打印出相应的内容。举个例子来说:如果一份电子材料有3页,那么需要2张纸进行打印;如果一份电子材料有4页,那么还是需要2张纸进行打印。现在已经知道了一份电子版的学习材料的页数N,你能帮小蓝计算一下需要几张纸吗?

输入样例:

7

输出样例:

4

#include<iostream>

using namespace std;

int main() {

int n

cin>>n;

cout<<(n+1)/2;

return 0; }

2求完数

因子:因子也叫因数,例如3×5=15,那么3和5是15的因子。同时15×1=15,那么1和15也是15的因子。 1,3,5,15 这四个因子是15的所有因子。

完数:如果一个数等于不含它本身的其他因子之和,则称该数为‘完数’。如6的因子有1,2,3,6,且1+2+3= 6,因此6是完数。

题目描述: 输入一个正整数N(0<N<10000),输出小于N的所有完数及小于N的完数个数(个数前加“*”,例如:*2)。

#include<iostream>using namespace std;int main(){int i,j,n,sum=0,count=0;cin>>n;for(i=1;i<n;i++){for(j=1;j<i;j++){if(i%j==0) sum=sum+j;}if(sum==i){cout<<i<<endl;count++;}sum=0;}cout<<"*"<<count;return 0;}

3、求阴影部分面积

用户输入一个正整数a(0<a<100),作为如图半圆的直径,同时作为如图等腰直角三角形的直角边长度,求下图的阴影部分面积,并保留两位小数

很简单,只要把半圆阴影移到三角那块就可以了,这样面积就是a*a/2了

只不过要保留两位小数,用double

#include <iostream>
#include <cstdio>
using namespace std;
int main() {double a;cin>>a;printf("%.2f",a*a/4);return 0; }

4、判断分数

选择题有5道,都是单选题,每道30分,共计150分。每道选择题选对得30分,选错或不选得0分。假设正确的答案为“DCBAD”,你能根据选手的提交情况,判定选手的选择题总分吗?

选手提交一个由5个字符组成的字符串,代表选手的选项。字符串仅能包含如下5种字符:“D”、“C”、“B”、“A”、“E”。其中“A”、“B”、“C”、“D”代表选手选择了某个选项,而“E”代表选手未做该题。求总分。

先定义一个字符串存放答案,输入选手的选项,通过一个循环和答案比对,只有答对的才加分,最后直接输出

#include <iostream>
using namespace std;
int main() {string answer="DCBAD",n;int sum=0;cin>>n;for(int i=0; i<5; i++)if (n==answer[i])sum=sum+30;cout<<sum;return 0; }

5、节气

“二十四节气”被列入联合国教科文组织人类非物质文化遗产名录。在国际气象界,这一已有千年历史的时间认知体系被誉为“中国第五大发明”。

春雨惊春清谷天,夏满芒夏暑相连。秋处露秋寒霜降,冬雪雪冬小大寒。二十四节气,在四季轮回流淌,每个节气都有它较为稳定的日子。下表给出了农历庚子年(公历2020年1月25日~2021年2月11日)中,二十四个节气的名称,公历具体日期及汉语拼音的缩写。

输入描述

整数M,N(2≤M≤12,1≤N≤31),M,N分别代表公历2020年的某月,某日。所给出的数据均为合法日期。

输出描述

如果当天恰好是一个节气,输出这个节气的汉语拼音缩写,如当天不是节气则输出下一个节气的汉语拼音缩写

先把月日和节气的节气缩写放在数组之中,先判断是否正好是节气,再进行判断最近的节气操作。

先判断是否是12月的边界特例,再判断其他情况

其他情况有两种:

1.日期超过了当前遍历的节气,直接continue

2.日期没有超过,直接输出

#include<bits/stdc++.h>
using namespace std;
int x,y,month[25]={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12},day[25]={5,20,4,19,5,20,4,19,5,20,5,21,6,22,7,22,7,22,8,23,7,22,7,21};
string jq[25]={"XH","DH","LC","YS","JZ","CF","QM","GY","LX","XM","MZ","XZ","XS","DS","LQ","CS","BL","QF","HL","SJ","LD","XX","DX","DZ"};
int main()
{cin>>x>>y;for (int i=0;i<24;i++)if (month[i]==x&&day[i]==y){cout<<jq[i];return 0;}for (int i=0;i<24;i++)//12月末特例{if (x==12&&y>day[23]){cout<<jq[0];return 0;}else if (x>month[i]||y>day[i]) continue;//未到时间else if (x<=month[i]&&y<day[i])//寻找{cout<<jq[i];return 0;}   }
}

6、成绩统计

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

如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。

请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。

【输入格式】

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

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

【输出格式】

输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。

【样例输入】

7

80

92

56

74

88

100

0

【样例输出】

71%

43%

【评测用例规模与约定】

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

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

#include<iostream>
using namespace std;
int main() {double a1=0,a2=0;int n,i,score;cin>>n;for(i=1; i<=n; i++) {cin>>score;if(score>=60) a1++;if(score>=85) a2++;}a1=(a1/n+0.005)*100;a2=(a2/n+0.005)*100;cout<<int(a1)<<"%"<<endl;cout<<int(a2)<<"%";return 0; }

7、水下探测器

水下探测器可以潜入湖中在任意水深进行科学探索。

湖水的最大深度为 h 米,即它在湖底时到水面的距离,0<=h<=100;

探测器最初的水下深度为 s 米,0<=s<=100;

当探测器不在水面(当前深度大于 0)时,每个 u 指令可使它上浮 1 米,而当探测器在水面时,u 指令是无效的;

当探测器不在湖底(当前深度小于 h)时,每个 d 指令可使它下沉 1 米,而当探测器在湖底时,d 指令是无效的;

在执行到无效指令时,探测器不做任何操作而继续执行下一指令。

编程实现:

根据给定的 h、s 和一个指令序列(由字符 u、d 组成的字符串,长度不超过 100),求出执行完整的指令序

蓝桥杯全国软件大赛青少年创意编程 C++组

列后,探测器的水下深度。

输入:

第一行:h 和 s,以空格分开。0<=s<=h<=100

第二行:长度不超过 100 的指令字符串,串中仅包含字母 u 或 d

输出:

代表探测器在执行指令后的水下深度的数字。

样例输入:

9 1

uduudd

#include <iostream>
using namespace std;
int main() {int h,s;string str;cin>>h>>s>>str;for(int i=0; i<str.size(); i++) {if(str[i]=='u') {if(s>0) {s--;}}if(str[i]=='d') {if(s<h) {s++;}}}cout<<s; }
  1. 小猫吃鱼

明明家从 1 号站点出发,开车去旅游,一共要经过 n 个站点,依次为 2、3……n。

由于明明带上了心爱的小猫,在每个站点都要为小猫提供一条鱼用做美餐(包括 1 号站点)。

除了 1 号站点只能吃 1 号站点买的鱼,其他站点既可以吃当地买的鱼,也可吃之前经过的站点买了存入车载冰箱中的鱼。但车载冰箱消耗的电能来自汽油,所以每条鱼用冰箱保存到下一站的费用与各个站点的汽油价格有关。

为使问题简化,我们约定:

(1)车从某站开出时油箱中都是此站点刚加的汽油。

(2)车载冰箱能容纳一路上需要的所有鱼。 即:每条鱼的费用既包括购买时的费用,也包括用冰箱保存鱼的费用。

编程实现:

为了降低小猫吃鱼的总代价,明明预先上网查到了这 n 个站点的鱼价和汽油价格。并据此算出每个站点买一条鱼的费用以及从该站点到下一站用冰箱保存一条鱼的费用。你能帮明明算出这一路上小猫吃鱼的最小总费用吗?

输入:

第一行:站点数 n,1<n<100。

接下来的 n 行:每行两个以空格分隔的正整数,表示:这一站买一条鱼的费用,以及从这一站把每条

鱼保存到下一站的费用,两个费用均为小于 10000 的正整数。

输出:

最小总费用,是一个正整数。

样例输入:

5

6 3

7 1

3 2

8 3

9 5

样例输出:

29

使用for循环,每次看看价钱是不是最划算,不是就加上一条鱼,是也要加上这一条鱼,每次还要加上保存的价钱。

#include <iostream>
using namespace std;
int main() {int n;cin>>n;int m1[n], m2[n];for(int i = 0; i < n; i++)cin>>m1[i]>>m2[i];//输入当前买鱼的钱和保存的钱int min = 9999999, t = 0;for(int i = 0; i < n; i++) {if(min > m1[i])min = m1[i];t = t + min; //上一条鱼min = min + m2[i]; //保存}cout<<t<<endl;return 0;
}

9、最大购物优惠

小惠听说超市正在打折促销,要制订一个得到最大优惠的购物计划。

小惠的体力可以提起 w 单位重量的东西,还有一个能装 V 个单位体积的购物袋,并详细了解了各打折商品的重量、体积及此商品实际优惠的金额。她想在自己体力的限度和购物袋容积限度内,尽可能多地得到购物优惠。

超市规定这些打折商品每种只能购买一件。

编程实现:

请你编写程序,制定一个购买商品的计划,求出小惠能得到的最大优惠金额和实际应购买的各商品序号。

输入:

第一行:依次为 w、v 和 n(n 为商品种类数),所有数值均为不超过 100 的正整数

接下来的 n 行:每行有三个整数,依次为某种商品的重量、体积和让利金额,数值间以空格分开,所有数值均为不超过 100 的正整数

输出:

第一行:小惠能够得到的最大让利金额

第二行:依次为从小到大排列的商品序号,序号从 1 开始,序号间用空格分开。若第二行输出的序列

不唯一,则输出其最小字典序。

样例输入:

10 9 4

8 3 6

5 4 5

3 7 7

4 5 4

样例输出:

9

2 4

10、购物单

XX大促销又来了,长长的购物单,都是有打折优惠的。

请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。

取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。

你的任务是计算出,小明最少需要取多少现金。

180.90       88折

10.25       65折

56.14        9折

104.65        9折

100.30       88折

297.15       半价

26.75       65折

130.62       半价

#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{ifstream in("test01.txt");double value, discount;int ans = 0;double tmp = 0;while (in >> value >> discount){tmp += value * discount;if (ans < tmp){while (ans < tmp) {ans += 100;}}}cout << ans << endl;    return 0;}

11、等差素数列

2,3,5,7,11,13,....是素数序列。

类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。

上边的数列公差为30,长度为6。

2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。

这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:

长度为10的等差素数列,其公差最小值是多少?

注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。

先用埃氏筛法,把1~N (N先设置一个10000吧,不够再加)以内的素数都筛选出来,然后再枚举 1~10000(公差,不够再加),寻找连续10个的素数。

#include <iostream>
using namespace std;
const int maxn = 10000000;
int prime[maxn];
bool is_prime[maxn + 10];  //is_prime[i]为true表示i是素数 
bool is_Prime(int n)
{int i = 0;for (i = 2; i * i <= n; i++){if (n % i == 0) return false;}return n != 1; 
}
//返回n以内的素数
int sieve(int n)
{int p = 0;//初始化for (int i = 0; i <= n; i++) {is_prime[i] = true;}is_prime[0] = is_prime[1] = false;for (int i = 0; i <= n; i++){if (is_prime[i]) {prime[p++] = i;  //将素数添加到prime中//1.首先2是素数, 然后划去所有2的倍数//2.表中剩余的最小数字是3, 他不能被更小的数整除,所以是素数//再将表中所有3的倍数都划去//3.以此类推, 如果表中剩余的最小数字是m时,m就是素数。然后将表中所有m的倍数都划去for (int j = 2 * i; j <= n; j += i) {is_prime[j] = false;} }}return p;
} 
void solve()
{int N = 10000;int cnt = sieve(N);//公差 for (int d = 10; d < N; d++){//枚举N以内所有素数 for (int i = 0; i < cnt; i++){int tmp = prime[i],flag = true;//是否连续10个都为素数 for (int j = 0; j < 9; j++){if (tmp + d > N || !is_Prime(tmp + d)) {flag = false;break;}else{tmp += d;  //下一个素数    }}if (flag) {cout << d << " " << prime[i] << endl;return;}}}}
int main()
{solve();return 0;}
  1. Fibonacci数列

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。

说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000

#include <stdio.h>
int main()
{unsigned long s=0,f1=1,f2=1,f3=1,n=0;scanf("%d",&n);if(n>2)for(s=3;s<=n;s++){f3=(f2+f1)%10007;f1=f2;f2=f3;}printf("%d",f3);return 0;}

程序填空:

标题:取数位

求1个整数的第k位数字有很多种方法。

以下的方法就是一种。

// 求x用10进制表示时的数位长度

int len(int x){

    if(x<10) return 1;

    return len(x/10)+1;

}

// 取x的第k位数字

int f(int x, int k){

    if(len(x)-k==0) return x%10;

    return _____________________;  //填空       答案:f(x/10,k)

}

int main()

{

    int x = 23574;

    printf("%d\n", f(x,3));

    return 0;

}

13、图片旋转

图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转 90 度。

我们用一个 n × m 的二维数组来表示一个图片,例如下面给出一个 3 × 4 的图片的例子:

1 3 5 7

9 8 7 6

3 5 9 7

这个图片顺时针旋转 90 度后的图片如下:

3 9 1

5 8 3

9 7 5

7 6 7

给定初始图片,请计算旋转后的图片。

【输入格式】

输入的第一行包含两个整数 n 和 m,分别表示行数和列数。

接下来 n 行,每行 m 个整数,表示给定的图片。图片中的每个元素(像素)为一个值为 0 至 255 之间的整数(包含 0 和 255)。

【输出格式】

输出 m 行 n 列,表示旋转后的图片。

【样例输入】

3 4

1 3 5 7

9 8 7 6

3 5 9 7

【样例输出】

3 9 1

5 8 3

9 7 5

7 6 7

【评测用例规模与约定】

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

对于 60% 的评测用例,1 ≤ n, m ≤ 30。

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

#include <bits/stdc++.h>
using namespace std;int main()
{int n, m;cin >> n >> m;int map[200][200];for (int i = 0; i < n; i++)for (int j = 0, t; j < m; j++)cin >> map[i][j];for (int i = 0; i < m; i++)for (int j = n - 1; j >= 0; j--)cout << map[j][i] << (j==0?'\n':' ');return 0;}

14、质数

我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算 第 2019 个质数是多少?

#include<iostream>
#include<cmath>
using namespace std;
int zs(int a) {for (int i = 2; i <= sqrt(a); i++) {if (a % i == 0)return 0;}return 1;
}
int main() {int cnt = 0,i=1;while(cnt<2019) 
{	i++;if (zs(i) == 1)cnt++;}cout << i ;return 0;
}

15、年号字串

小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。

请问 2019 对应的字符串是什么?

#include <bits/stdc++.h>
using namespace std;int main()
{int m = 2019;while( m!=0){int t = m%26;m=m/26;cout << char(t+64);}//system("pause");return 0;
}
/*
输出:QYB
答案:BYQ*/

16、矩形切割

小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。

当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。

例如,对于一块两边分别为 5 和 3 的材料(记为 5×3),小明会依次切出 3×3、2×2、1×1、1×1 共 4 个正方形。

现在小明有一块矩形的材料,两边长分别是 2019 和 324。请问小明最终会 切出多少个正方形?

#include <bits/stdc++.h>
using namespace std;
int work(int a, int b)
{if (a == b)return 1;int k = min(a, b);int l = max(a, b);return work(k, l - k) + 1;
}
int main()
{int a = 2019, b = 324;cout << work(a, b) << endl;//system("pause");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

银行监管报送系统介绍(十五):金融审计平台

《“十四五”国家审计工作发展规划》中重点强调&#xff0c;金融审计&#xff1a;以防范化解重大风险、促进金融服务实体经济&#xff0c;推动深化金融供给侧结构性改革、建立安全高效的现代金融体系为目标&#xff0c;加强对金融监管部门、金融机构和金融市场运行的审计。 —…

面试题:MySQL 事务 日志 MVCC

事务的特性 ACID 事务的隔离级别 并发事务问题 脏读&#xff1a;一个事务读到另一个事务还没有提交的数据不可重复读&#xff1a;一个事务先后读取同一条记录&#xff0c;但两次读取的数据不同幻读&#xff1a;一个事务按照条件查询数据时&#xff0c;没有对应的数据行&#xf…

Oracle EBS AR接口和OM销售订单单价为空数据修复

最近,用户使用客制化Web ADI 批量导入销售订单行功能,把销售订单行的单价更新成空值,直到发运确认以后,财务与客户对帐才发现大量销售订单的单价空,同时我们检查AR接口发现销售订单的单价和金额均为空。 前提条件 采用PAC成本方式具体问题症状 销售订单行的单价为空 Path:…

Redhat 7.9 安装dm8配置文档

Redhat 7.9 安装dm8配置文档 一 创建用户 groupadd -g 12349 dinstall useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba passwd dmdba二 创建目录 mkdir /dm8 chown -R dmdba:dinstall /dm8三 配置/etc/security/limits.conf dmdba soft nproc 163…

在CentOS 7上安装Python 3.7.7

文章目录 一、实战步骤1. 安装编译工具2. 下载Python 3.7.7安装包3. 上传Python 3.7.7安装包4. 解压缩安装包5. 切换目录并编译安装6. 配置Python环境变量7. 使配置生效8. 验证安装是否成功 二、实战总结 一、实战步骤 1. 安装编译工具 在终端中执行以下命令 yum -y groupin…

XRDP登录ubuntu桌面闪退问题

修改 /etc/xrdp/startwm.sh unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR . $HOME/.profile

javascript常见的事件属性

焦点事件 focus/blur <input type"text" /><script>const input document.querySelector("input")// 绑定焦点事件input.addEventListener("focus" ,function(){console.log("有焦点触发")})// 失去焦点事件input.addEve…

Git分支提交时自动大写 fatal: the remote end hung up unexpectedly

先说结论&#xff1a; 进入 .git/refs/heads目录&#xff0c;会看到Feature文件夹&#xff0c;重命名为feature即可。 表现&#xff1a; 通过终端命令创建的分支 git checkout -b feature/name 使用git push后自动变成了Feature/name 并且有时候在本地创建feature/1234567…

CSS面试题常用知识day03

大家好我是没钱的君子下流坯&#xff0c;用自己的话解释自己的知识 前端行业下坡路&#xff0c;甚至可说前端已死&#xff0c;我还想在前段行业在干下去&#xff0c;所以从新开始储备自己的知识。 从CSS——>Javascript——>VUE2——>Vuex、VueRouter、webpack——>…

SVM简介 详细推导 核函数 线性可分 非线性可分

注意&#xff1a;由于该文章由jupyter nbconvert导出&#xff0c;若单独执行代码可能出现变量找不到或者没有导入库的情况&#xff0c;正确的做法是将所有的代码片段按顺序放到一个.py文件里面或者按顺序放入一个.ipynb文件的多个代码块中。 SVM(Support Vector Machine) Vap…

49岁前港姐退圈出嫁「南丫岛王子」,打排卵针高龄连生两女。

现年49岁的吴忻熹&#xff08;原名吴文忻&#xff09;1998年参选香港小姐夺得季军入行&#xff0c;在TVB签约发展平平&#xff0c;继而转战影坛&#xff0c;凭性感演出而为人熟悉。其后她在2011年嫁给有「南丫岛王子」之称的金融才俊&#xff0c;并在近40岁开始诞下两名女儿。吴…

python爬虫+django新闻推荐系统可视化分析

1. 安装python3.7.0 2. 更新pip 控制台执行 python -m pip install -U pip 3. 安装依赖库 pip install -r requirements.txt 4. 更改mysql数据库配置 修改newsServer/settings.py中的数据库连接配置&#xff0c;比如修改下方PASSWORD密码为本机mysql密码&#xff1…

浏览器工作原理与实践--WebAPI:XMLHttpRequest是怎么实现的

在上一篇文章中我们介绍了setTimeout是如何结合渲染进程的循环系统工作的&#xff0c;那本篇文章我们就继续介绍另外一种类型的WebAPI——XMLHttpRequest。 自从网页中引入了JavaScript&#xff0c;我们就可以操作DOM树中任意一个节点&#xff0c;例如隐藏/显示节点、改变颜色、…

Ps:HDR 色调

HDR 技术旨在通过合并不同曝光度的图像来扩展照片的光照细节范围&#xff0c;使得最终图像能够同时展示最亮和最暗区域的细节。 HDR 色调 HDR Toning命令能够在单张图像上重现类似的效果&#xff0c;无需多张不同曝光的照片。 Ps菜单&#xff1a;图像/调整/HDR 色调 Adjustment…

物联网实战--入门篇之(十)安卓QT--后端开发

目录 一、项目配置 二、MQTT连接 三、数据解析 四、数据更新 五、数据发送 六、指令下发 一、项目配置 按常规新建一个Quick空项目后&#xff0c;我们需要对项目内容稍微改造、规划下。 首先根据我们的需要在.pro文件内添加必要的模块&#xff0c;其中quick就是qml了&…

Windows下编译TinyXML(XML文件解析)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 TinyXML是什么&#xff1f; TinyXML是一个轻量级的C XML解析器&#xff0c;它提供了一种简单的方法来解析和操作XML文档。TinyXM…

【六 (2)机器学习-机器学习建模步骤/kaggle房价回归实战】

一、确定问题和目标&#xff1a; 1、业务需求分析&#xff1a; 与业务团队或相关利益方进行深入沟通&#xff0c;了解他们的需求和期望。 分析业务流程&#xff0c;找出可能的瓶颈、机会或挑战。 思考机器学习如何帮助解决这些问题或实现业务目标。 2、问题定义&#xff1a;…

docker搭建CI/CD环境配置过程中的常见问题

一、Jenkins 1、pull镜像问题 docker pull jenkins/jenkins:lts Using default tag: latest Trying to pull repository docker.io/library/centos ... Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scoperepo…

激发创新活力:算力券与模型券,科技企业的新动力

激发创新活力&#xff1a;算力券与模型券&#xff0c;科技企业的新动力 在数字化转型的大潮中&#xff0c;科技创新已成为推动企业发展的核心动力。为了进一步激发企业的创新活力&#xff0c;政府和相关机构开始探索一种新的激励机制——发放“算力券”和“模型券”。这些创新…

golang语言系列:Web框架+路由 之 Echo

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是golang语言系列文章&#xff0c;本篇主要对 Echo 框架 的基本使用方法 进行学习 1.Echo是什么 Go 有众多Web框架&#xff0c;Echo 是其中的一个&#xff0c;官网介绍Echo有高性能、可扩展性、极简的特点。使用E…