【GESP】C++一级真题 luogu-B4354 [GESP202506 一级] 假期阅读
GESP C++一级真题,基础运算和条件判断,难度★☆☆☆☆。
luogu-B4354 [GESP202506 一级] 假期阅读
题目要求
题目描述
小 A 有一本厚厚的书。这本书总共有 $n$ 页,小 A 一天中最多只能阅读完其中的 $k$ 页。小 A 的假期总共有 $t$ 天,他想知道在假期中最多能阅读完这本书的多少页。
输入格式
第一行,一个正整数 $n$,表示书的页数。
第二行,一个正整数 $k$,表示小 A 每天最多阅读的页数。
第三行,一个正整数 $t$,表示小 A 假期的天数。
输出格式
一行,一个整数,表示假期中所能阅读的最多页数。
输入输出样例 #1
输入 #1
1
2
3
8
3
2
输出 #1
1
6
输入输出样例 #2
输入 #2
1
2
3
19
3
30
输出 #2
1
19
说明/提示
对于所有测试点,保证 $n,k,t$ 均不超过 $1000$。
题目分析
解题思路
本题的解题思路如下:
- 问题本质:
- 输入三个整数:书的总页数 $n$、每天最多阅读页数 $k$ 和假期天数 $t$
- 需要计算在给定条件下最多能阅读的页数
- 解题关键:
- 核心思路 - 简单计算与比较:
- 计算理论最大可读页数:
- 假期总天数 × 每天最大阅读页数 = $t \times k$
- 与书的总页数比较:
- 如果理论最大页数超过书的总页数,实际最大可读页数就是书的总页数 $n$
- 否则实际最大可读页数就是理论最大页数 $t \times k$
- 计算理论最大可读页数:
- 核心思路 - 简单计算与比较:
- 复杂度分析:
- 时间复杂度:$O(1)$,只需要简单的乘法和比较运算
- 空间复杂度:$O(1)$,只需要存储几个整数变量
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
int main() {
// 声明变量存储书的页数、每天最多阅读页数和假期天数
int n, k, t;
// 从标准输入读取三个整数
std::cin >> n >> k >> t;
// 计算假期总共能读的最大页数
int pages = t * k;
// 如果计算出的页数超过书的总页数
if (pages > n) {
// 输出书的总页数(因为不可能读超过书的总页数)
std::cout << n;
} else {
// 否则输出计算出的最大可读页数
std::cout << pages;
}
return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
GESP各级别考纲、真题讲解、知识拓展和练习清单等详见【置顶】【GESP】C++ 认证学习资源汇总
“luogu-”系列题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限。
“bcqm-”系列题目可在编程启蒙题库进行在线评测。
欢迎加入:Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答
欢迎加入:C++ GESP/CSP认证学习QQ频道,考试资源总结汇总
欢迎加入:C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助
本文由作者按照 CC BY 4.0 进行授权