文章

【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$。


题目分析

解题思路

本题的解题思路如下:

  1. 问题本质:
    • 输入三个整数:书的总页数 $n$、每天最多阅读页数 $k$ 和假期天数 $t$
    • 需要计算在给定条件下最多能阅读的页数
  2. 解题关键:
    • 核心思路 - 简单计算与比较:
      1. 计算理论最大可读页数:
        • 假期总天数 × 每天最大阅读页数 = $t \times k$
      2. 与书的总页数比较:
        • 如果理论最大页数超过书的总页数,实际最大可读页数就是书的总页数 $n$
        • 否则实际最大可读页数就是理论最大页数 $t \times k$
  3. 复杂度分析:
    • 时间复杂度:$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),考试认证学员交流,互帮互助

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
本文由作者按照 CC BY 4.0 进行授权