C++GESP一级程序题
C++GESP一级程序题
样题
B3846 [GESP样题 一级] 闰年求和
题目描述
小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(不包含起始年份和终止年份)的闰年年份具体数字之和。你能帮帮他吗?
输入格式
输入一行,包含两个整数,分别表示起始年份和终止年份。约定年份在 \(1\) 到 \(2022\) 之间。
输出格式
输出一行,包含一个整数,表示闰年年份具体数字之和。
输入输出样例 #1
输入 #1
2018 2022
输出 #1
2020

B3847 [GESP样题 一级] 当天的第几秒
题目描述
小明刚刚学习了小时、分和秒的换算关系。他想知道一个给定的时刻是这一天的第几秒,你能编写一个程序帮帮他吗?
输入格式
输入一行,包含三个整数和一个字符。三个整数分别表示时刻的时、分、秒;字符有两种取值,大写字母'A'表示上午,大写字母'P'表示下午。
输出格式
输出一行,包含一个整数,表示输入时刻是当天的第几秒。
输入输出样例 #1
输入 #1
0 0 0 A
输出 #1
0
输入输出样例 #2
输入 #2
11 59 59 P
输出 #2
86399

2023 - 03
B3834 [GESP202303 一级] 长方形面积
https://www.luogu.com.cn/problem/B3834
题目描述
小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有多少种可能的长方形,满足长和宽都是整数?如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。
输入格式
输入一行,包含一个整数 \(A\),表示长方形的面积。约定 \(2 \leq A \leq 1000\)。
输出格式
输出一行,包含一个整数 \(C\),表示有 \(C\) 种可能的长方形。
输入输出样例 #1
输入 #1
4
输出 #1
2
输入输出样例 #2
输入 #2
6
输出 #2
2
说明/提示
【样例 1 解释】
有 \(2\) 种长方形面积为 \(4\),它们的长宽分别为 \(2 \times 2\),\(4 \times 1\)。
【样例 2 解释】
有 \(2\) 种长方形面积为 \(6\),它们的长宽分别为 \(3 \times 2\),\(6 \times 1\)。

B3835 [GESP202303 一级] 每月天数
https://www.luogu.com.cn/problem/B3835
题目描述
小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗?
输入格式
输入一行,包含两个整数 \(A, B\),分别表示一个日期的年、月。约定 \(2000 \leq A \leq 3000\),\(1 \leq B \leq 12\)。
输出格式
输出一行,包含一个整数,表示输入月份有多少天。
输入输出样例 #1
输入 #1
2022 1
输出 #1
31
输入输出样例 #2
输入 #2
2020 2
输出 #2
29

2023 - 06
B3838 [GESP202306 一级] 时间规划
https://www.luogu.com.cn/problem/B3838
题目描述
小明在为自己规划学习时间。现在他想知道两个时刻之间有多少分钟,你能通过编程帮他做到吗?
输入格式
输入 \(4\) 行,第一行为开始时刻的小时,第二行为开始时刻的分钟,第三行为结束时刻的小时,第四行为结束时刻的分钟。输入保证两个时刻是同一天,开始时刻一定在结束时刻之前。时刻使用 \(24\) 小时制,即小时在 \(0\) 到 \(23\) 之间,分钟在 \(0\) 到 \(59\) 之间。
输出格式
输出一行,包含一个整数,从开始时刻到结束时刻之间有多少分钟。
输入输出样例 #1
输入 #1
9
5
9
6
输出 #1
1
输入输出样例 #2
输入 #2
9
5
10
0
输出 #2
55

B3839 [GESP202306 一级] 累计相加
https://www.luogu.com.cn/problem/B3839
题目描述
输入一个正整数 \(n\),求形如:
\(1+(1+2)+(1+2+3)+(1+2+3+4)+ \cdots +(1+2+3+4+5+ \cdots +n)\) 的累计相加。
输入格式
输入一个正整数 \(n\)。约定 \(1<n \le 100\)。
输出格式
输出累计相加的结果。
输入输出样例 #1
输入 #1
3
输出 #1
10
输入输出样例 #2
输入 #2
4
输出 #2
20
输入输出样例 #3
输入 #3
10
输出 #3
220

2023 - 09
B3863 [GESP202309 一级] 买文具
https://www.luogu.com.cn/problem/B3863
题目描述
开学了,小明来到文具店选购文具。签字笔 \(2\) 元一支,他需要 \(X\) 支;记事本 \(5\) 元一本,他需要 \(Y\) 本;直尺 \(3\) 元一把,他需要 \(Z\) 把。小明手里有 \(Q\) 元钱。请你通过编程帮小明算算,他手里的钱是否够买他需要的文具。
输入格式
第一行包含一个正整数,是小明购买签字笔的数量。约定 \(1 \le X \le 10\)。
第二行包含一个正整数,是小明购买记事本的数量。约定 \(1 \le Y \le 10\)。
第三行包含一个正整数,是小明购买直尺的数量。约定 \(1 \le Z \le 10\)。
第四行包含一个正整数 \(Q\),是小明手里的钱数(单位:元)。
输出格式
输出 \(2\) 行。如果小明手里的钱够买他需要的文具,则第一行输出 Yes,第二行输出小明会剩下的钱数(单位:元);否则,第一行输出 No,第二行输出小明缺少的钱数(单位:元)。
输入输出样例 #1
输入 #1
1
1
1
20
输出 #1
Yes
10
输入输出样例 #2
输入 #2
1
1
1
5
输出 #2
No
5

B3864 [GESP202309 一级] 小明的幸运数
https://www.luogu.com.cn/problem/B3864
题目描述
所有个位数为 \(k\) 的正整数,以及所有 \(k\) 的倍数,都被小明称为“ \(k\) 幸运数”。小明想知道正整数 \(L\) 和 \(R\) 之间(包括 \(L\) 和 \(R\))所有 \(k\) 幸运数的和,你能帮帮他吗?
输入格式
输入 \(3\) 行。第一行包含一个正整数 \(k\),第二行包含一个正整数 \(L\),第三行包含一个正整数 \(R\)。约定 \(2 \le k \le 9\),\(1 \le L \le R \le 1000\)。
输出格式
输出 \(1\) 行,符合题意的幸运数之和。
输入输出样例 #1
输入 #1
7
1
10
输出 #1
7
输入输出样例 #2
输入 #2
7
10
20
输出 #2
31
说明/提示
样例解释 1
\(1\) 和 \(10\) 之间共有 \(1\) 个 \(7\) 幸运数:\(7\)。因为 \(7\) 既是 \(7\) 的倍数,个位数又为 \(7\)。因此,结果为 \(7\)。
样例解释 2
\(10\) 和 \(20\) 之间共有 \(2\) 个 \(7\) 幸运数:\(14\) 和 \(17\)。\(14\) 是 \(7\) 的倍数,\(17\) 的个位数为 \(7\)。因此,结果为 \(31\)。

2023 - 12
https://www.luogu.com.cn/problem/B3921
B3921 [GESP202312 一级] 小杨的考试
题目描述
今天是星期 \(X\),小杨还有 \(N\) 天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用 \(7\) 表示星期日)
输入格式
输入 \(2\) 行,第一行一个整数 \(X(1\le X \le 7)\);第二行一个整数 \(N(1≤N≤364)\)。
输出格式
输出一个整数,表示小杨考试那天是星期几。
输入输出样例 #1
输入 #1
1
6
输出 #1
7
输入输出样例 #2
输入 #2
5
3
输出 #2
1
说明/提示
样例解释1
今天是星期 1,那么 6 天后就是星期日,星期日在本题中用 \(7\) 表示。
样例解释2
今天是星期 5,那么 3 天后就是星期 1。

B3922 [GESP202312 一级] 小杨报数
https://www.luogu.com.cn/problem/B3922
题目描述
小杨需要从 \(1\) 到 \(N\) 报数。在报数过程中,小杨希望跳过 \(M\) 的倍数。例如,如果 \(N=5\), \(M=2\) ,那么小杨就需要依次报出 \(1\)、\(3\)、\(5\)。
现在,请你依次输出小杨报的数。
输入格式
输入 \(2\) 行,第一行一个整数 \(N(1 \le N \le 1,000)\);第二行一个整数 \(M(2 \le M \le 100)\)。
输出格式
输出若干行,依次表示小杨报的数。
输入输出样例 #1
输入 #1
5
2
输出 #1
1
3
5
输入输出样例 #2
输入 #2
10
3
输出 #2
1
2
4
5
7
8
10

2024 - 03
B3952 [GESP202403 一级] 小杨买书
https://www.luogu.com.cn/problem/B3952
题目描述
小杨同学积攒了一部分零用钱想要用来购买书籍,已知一本书的单价是 \(13\) 元,请根据小杨零用钱的金额,编写程序计算可以购买多少本书,还剩多少零用钱。
输入格式
输入一个正整数 \(m\),表示小杨拥有的零用钱数。
输出格式
输出包含两行,第一行,购买图书的本数;第二行,剩余的零用钱数。
输入输出样例 #1
输入 #1
100
输出 #1
7
9
输入输出样例 #2
输入 #2
199
输出 #2
15
4
说明/提示
数据规模与约定
对全部的测试数据,保证 \(0 < m < 200\)。

B3953 [GESP202403 一级] 找因数
https://www.luogu.com.cn/problem/B3953
题目描述
小 A 最近刚刚学习了因数的概念,具体来说,如果一个正整数 \(a\) 可以被另一个正整数 \(b\) 整除,那么我们就说 \(b\) 是 \(a\) 的因数。
请你帮忙写一个程序,从小到大输出正整数 \(a\) 的所有因数。
输入格式
输入一行一个正整数 \(a\)。保证 \(a\leq1000\)。
输出格式
输出若干行,为 \(a\) 的所有约数,从小到大排序。
输入输出样例 #1
输入 #1
1
输出 #1
1
输入输出样例 #2
输入 #2
6
输出 #2
1
2
3
6
输入输出样例 #3
输入 #3
10
输出 #3
1
2
5
10

2024 - 06
B4000 [GESP202406 一级] 休息时间
https://www.luogu.com.cn/problem/B4000
题目描述
小杨计划在某个时刻开始学习,并决定在学习 \(k\) 秒后开始休息。
小杨想知道自己开始休息的时刻是多少。
输入格式
前三行每行包含一个整数,分别表示小杨开始学习时刻的时 \(h\)、分 \(m\)、秒 \(s\)(\(h,m, s\) 的值符合
\(1 \le h \le 12,0 \le m\le 59,0 \le s\le59\))。
第四行包含一个整数 \(k\),表示小杨学习的总秒数(注:\(k\) 的值符合 \(1 \le k \le 3600\))。
输出格式
输出一行,包含三个整数,分别表示小杨开始休息时刻的时、分、秒。
输入输出样例 #1
输入 #1
12
59
59
10
输出 #1
13 0 9
说明/提示
小杨在时刻 12:59:59 开始学习,学习 10 秒后开始休息,即在 13:0:9 时刻开始休息。
对于全部数据,保证有 \(1 \le h \le 12\),\(0 \le m\le 59\),\(0 \le s\le 59\),\(1 \le k \le 3600\)。


B4001 [GESP202406 一级] 立方数
https://www.luogu.com.cn/problem/B4001
题目描述
小杨有一个正整数 \(n\),他想知道 \(n\) 是否是一个立方数。一个正整数 \(n\) 是立方数当且仅当存在一个正整数 \(x\) 满足 \(x\times x\times x=n\) 。
输入格式
第一行包含一个正整数 \(n\)。
输出格式
如果正整数 \(n\) 是一个立方数,输出 Yes,否则输出 No。
输入输出样例 #1
输入 #1
8
输出 #1
Yes
输入输出样例 #2
输入 #2
9
输出 #2
No
说明/提示
对于样例 1,存在正整数 \(2\) 使得 \(8=2\times 2\times 2\) ,因此 \(8\) 为立方数。
对于样例 \(2\),不存在满足条件的正整数,因此 \(9\) 不为立方数。
对于全部数据,保证有 \(1 \le n \le 1000\)。

2024 - 09
B4034 [GESP202409 一级] 小杨购物
https://www.luogu.com.cn/problem/B4034
题目描述
小杨有 \(n\) 元钱用于购物。商品 A 的单价是 \(a\) 元,商品 B 的单价是 \(b\) 元。小杨想购买相同数量的商品 A 和商品 B。
请你编写程序帮助小杨计算出他最多能够购买多少个商品 A 和商品 B。
输入格式
第一行包含一个正整数 \(n\),代表小杨用于购物的金额。
第二行包含一个正整数 \(a\),代表商品 A 的单价。
第三行包含一个正整数 \(b\),代表商品 B 的单价。
输出格式
输出一行,包含一个整数,代表小杨最多能够购买的商品 A 和商品 B 的数量。
输入输出样例 #1
输入 #1
12
1
2
输出 #1
4
输入输出样例 #2
输入 #2
13
1
2
输出 #2
4
说明/提示
样例 1 解释
对于样例 1,由于需要购买相同数量的两种商品,因此⼩杨最多能够购买 \(4\) 件商品 \(A\) 和 \(4\) 件商品 \(B\),共花费 \(1 \times 4 + 2 \times 4 = 12\) 元。因此,样例 1 的答案为 \(4\)。
样例 2 解释
对于样例 1,由于需要购买相同数量的两种商品,因此⼩杨最多能够购买 \(4\) 件商品 \(A\) 和 \(4\) 件商品 \(B\),共花费 \(1 \times 4 + 2 \times 4 = 12\) 元。因此,样例 1 的答案为 \(4\)。如果小杨想购买 \(5\) 件商品 \(A\) 和商品 \(B\),则需要花费 \(1 \times 5 + 2 \times 5 = 15\) 元,超过了小样的预算 \(13\) 元。因此,样例 2 答案为 \(4\)。
数据规模与约定
对全部的测试数据,保证 \(1 \leq n,a,b \leq 10^5\)。

B4035 [GESP202409 一级] 美丽数字
https://www.luogu.com.cn/problem/B4035
题目描述
小杨有 \(n\) 个正整数,他认为一个正整数是美丽数字当且仅当该正整数是 \(9\) 的倍数但不是 \(8\) 的倍数。
小杨想请你编写一个程序计算 \(n\) 个正整数中美丽数字的数量。
输入格式
第一行包含一个整数 \(n\),代表正整数个数。
第二行有 \(n\) 个正整数 \(a_1, a_2, \dots a_n\)。
输出格式
输出一个整数,表示其中美丽数字的数量。
输入输出样例 #1
输入 #1
3
1 9 72
输出 #1
1
说明/提示
样例 1 解释
- \(1\) 既不是 \(9\) 的倍数也不是 \(8\) 的倍数。
- \(9\) 是 \(9\) 的倍数不是 \(8\) 的倍数。
- \(72\) 既是 \(9\) 的倍数又是 \(8\) 的倍数。
数据规模与约定
对全部的测试数据,保证 \(1 \leq n, a_i \leq 10^5\)。

B4062 [GESP202412 一级] 温度转换
https://www.luogu.com.cn/problem/B4062
题目描述
小杨最近学习了开尔文温度、摄氏温度和华氏温度的转换。令符号 \(K\) 表开尔文温度,符号 \(C\) 表摄氏温度,符号 \(F\) 表华氏温度,这三者的转换公式如下:
现在小杨想编写一个程序计算某一开尔文温度对应的摄氏温度和华氏温度,你能帮帮他吗?
输入格式
一行,一个实数 \(K\),表示开尔文温度。
输出格式
一行,若输入开尔文温度对应的华氏温度高于 \(212\),输出 Temperature is too high!;
否则,输出两个由空格分隔的实数 \(C\) 和 \(F\),分别表示摄氏温度和华氏度,保留两位小数。
输入输出样例 #1
输入 #1
412.00
输出 #1
Temperature is too high!
输入输出样例 #2
输入 #2
173.56
输出 #2
-99.59 -147.26
说明/提示
\(0<K<10^5\)。

B4063 [GESP202412 一级] 奇数和偶数
https://www.luogu.com.cn/problem/B4063
题目描述
小杨有 \(n\) 个正整数,他想知道其中的奇数有多少个,偶数有多少个。
输入格式
第一行包含一个正整数 \(n\),代表正整数个数。
之后 \(n\) 行,每行包含一个正整数。
输出格式
输出两个正整数(英文空格间隔),代表奇数的个数和偶数的个数。如奇数或偶数的个数为 \(0\),则对应输出 \(0\)。
输入输出样例 #1
输入 #1
5
1
2
3
4
5
输出 #1
3 2
说明/提示
对于全部数据,保证有 \(1\leq n\leq 10^5\) 且正整数不超过 \(10^5\)。

B4257 [GESP202503 一级] 图书馆里的老鼠
https://www.luogu.com.cn/problem/B4257
题目描述
图书馆里有 \(n\) 本书,不幸的是,还混入了一只老鼠,老鼠每 \(x\) 小时能啃光一本书,假设老鼠在啃光一本书之前,不会啃另一本。请问 \(y\) 小时后图书馆里还剩下多少本完整的书。
输入格式
三行,第一行一个正整数 \(n\),表示图书馆里书的数量;
第二行,一个正整数 \(x\),表示老鼠啃光一本书需要的时间;
第三行,一个正整数 \(y\),表示经过的总时间;
输入数据保证 \(y\) 小时后至少会剩下一本完整的书。
输出格式
一行,一个整数,表示 \(y\) 小时后图书馆里还剩下多少本完整的书。
输入输出样例 #1
输入 #1
10
2
3
输出 #1
8
输入输出样例 #2
输入 #2
5
2
4
输出 #2
3
说明/提示
对于所有测试点,保证 \(1\leq n,x,y\leq 1000\),保证 \(y\) 小时后至少会剩下⼀本完整的书。

B4258 [GESP202503 一级] 四舍五入
https://www.luogu.com.cn/problem/B4258
题目描述
四舍五入是一种常见的近似计算方法。现在,给定 \(n\) 个整数,你需要将每个整数四舍五入到最接近的整十数。例如,\(43\) 四舍五入后为 \(40\),\(58\) 四舍五入后为 \(60\)。
输入格式
共 \(n+1\) 行,第一行,一个整数 \(n\),表示接下来输入的整数个数。
接下来 \(n\) 行,每行一个整数 \(a_1, \cdots, a_n\),表示需要四舍五入的整数。
输出格式
\(n\) 行,每行一个整数,表示每个整数四舍五入后的结果。
输入输出样例 #1
输入 #1
5
43
58
25
67
90
输出 #1
40
60
30
70
90
说明/提示
对于所有测试点,保证 \(1\leq n\leq 100\),\(1\leq a_i\leq 10000\)。

B4354 [GESP202506 一级] 假期阅读
https://www.luogu.com.cn/problem/B4354
题目描述
小 A 有一本厚厚的书。这本书总共有 \(n\) 页,小 A 一天中最多只能阅读完其中的 \(k\) 页。小 A 的假期总共有 \(t\) 天,他想知道在假期中最多能阅读完这本书的多少页。
输入格式
第一行,一个正整数 \(n\),表示书的页数。
第二行,一个正整数 \(k\),表示小 A 每天最多阅读的页数。
第三行,一个正整数 \(t\),表示小 A 假期的天数。
输出格式
一行,一个整数,表示假期中所能阅读的最多页数。
输入输出样例 #1
输入 #1
8
3
2
输出 #1
6
输入输出样例 #2
输入 #2
19
3
30
输出 #2
19
说明/提示
对于所有测试点,保证 \(n,k,t\) 均不超过 \(1000\)。

B4355 [GESP202506 一级] 值日
https://www.luogu.com.cn/problem/B4355
题目描述
小杨和小红是值日生,负责打扫教室。小杨每 \(m\) 天值日一次,小红每 \(n\) 天值日一次。今天他们两个一起值日,请问至少多少天后,他们会再次同一天值日?
输入格式
第一行,一个正整数 \(m\),表示小杨的值日周期;
第二行,一个正整数 \(n\),表示小红的值日周期。
输出格式
一行,一个整数,表示至少多少天后他们会再次同一天值日。
输入输出样例 #1
输入 #1
4
6
输出 #1
12
说明/提示
对于所有测试点,保证 \(1 \leq m, n \leq 100\)。

B4409 [GESP202509 一级] 商店折扣
https://www.luogu.com.cn/problem/B4409
题目描述
商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 \(x\) 元减 \(y\) 元;第二种方案是直接打 \(n\) 折,也就是说价格变为原先的 \(n/10\)。这里的 \(x, y, n\) 均是正整数,并且 \(1 \leq y < x\),\(1 \leq n < 10\)。
需要注意的是,第一种方案中满减优惠只能使用一次。例如购物满 \(10\) 元减 \(3\) 元时,若挑选了价格总和为 \(33\) 元的物品,只能减免 \(3\) 元,需要支付 \(30\) 元。
小明在商店挑选了价格总和为 \(p\) 元的物品,结账时只能使用一种优惠方案。小明最少需要支付多少钱呢?
输入格式
四行,四个正整数 \(x, y, n, p\),含义见题目描述。
输出格式
一行,一个小数,表示小明最少需要支付多少钱,保留两位小数。
输入输出样例 #1
输入 #1
8
7
9
10
输出 #1
3.00
输入输出样例 #2
输入 #2
8
7
2
11
输出 #2
2.20
说明/提示
对于所有测试点,保证 \(1 \leq y < x \leq 100\),\(1 \leq n < 10\),\(1 \leq p \leq 100\)。

B4410 [GESP202509 一级] 金字塔
https://www.luogu.com.cn/problem/B4410
题目描述
金字塔由 \(n\) 层石块垒成。从塔底向上,每层依次需要 \(n \times n, (n-1) \times (n-1), \cdots, 2 \times 2, 1 \times 1\) 块石块。请问搭建金字塔总共需要多少块石块?
输入格式
一行,一个正整数 \(n\),表示金字塔的层数。
输出格式
一行,一个正整数,表示搭建金字塔所需的石块数量。
输入输出样例 #1
输入 #1
2
输出 #1
5
输入输出样例 #2
输入 #2
5
输出 #2
55
说明/提示
对于所有测试点,保证 \(1 \leq n \leq 50\)。

【】

浙公网安备 33010602011771号