luogu-B4354 [GESP202506 一级] 假期阅读

luogu-B4354 [GESP202506 一级] 假期阅读

GESP C++一级,2025年6月真题,基础运算和条件判断,难度★☆☆☆☆。

luogu-B4354 [GESP202506 一级] 假期阅读

题目要求

题目描述

小 A 有一本厚厚的书。这本书总共有 nn 页,小 A 一天中最多只能阅读完其中的 kk 页。小 A 的假期总共有 tt 天,他想知道在假期中最多能阅读完这本书的多少页。

输入格式

第一行,一个正整数 nn,表示书的页数。

第二行,一个正整数 kk,表示小 A 每天最多阅读的页数。

第三行,一个正整数 tt,表示小 A 假期的天数。

输出格式

一行,一个整数,表示假期中所能阅读的最多页数。

输入输出样例 #1

输入 #1

8
3
2

输出 #1

6

输入输出样例 #2

输入 #2

19
3
30

输出 #2

19

说明/提示

对于所有测试点,保证 n,k,tn,k,t 均不超过 10001000


题目分析

解题思路

本题的解题思路如下:

  1. 问题本质:

    • 输入三个整数:书的总页数 nn、每天最多阅读页数 kk 和假期天数 tt
    • 需要计算在给定条件下最多能阅读的页数
  2. 解题关键:

    • 核心思路 - 简单计算与比较:
      1. 计算理论最大可读页数:
        • 假期总天数 × 每天最大阅读页数 = t×kt \times k
      2. 与书的总页数比较:
        • 如果理论最大页数超过书的总页数,实际最大可读页数就是书的总页数 nn
        • 否则实际最大可读页数就是理论最大页数 t×kt \times k
  3. 复杂度分析:

    • 时间复杂度:O(1)O(1),只需要简单的乘法和比较运算
    • 空间复杂度:O(1)O(1),只需要存储几个整数变量

{% include custom/custom-post-content-inner.html %}


示例代码

#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;
}          

{% include custom/custom-post-content-footer.md %}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on