top1编程
← 返回题目
题解

【入门】最多能倒多少杯水

1 条题解

  • 0
    @ 2026-7-31 14:30:36

    解题思路

    电水箱容量 n 升,杯子平均容量 x 毫升,问最多能倒多少杯(不足 1 杯也算 1 杯)。

    思路:

    1. 先把单位统一:1 升 = 1000 毫升,所以 n 升 = n × 1000 毫升
    2. 杯数 = 总毫升数 ÷ 每杯毫升数
    3. 因为不足 1 杯也算 1 杯,所以要向上取整

    为什么要向上取整? 比如有 1 升水(1000 毫升),每杯 120 毫升,1000÷120 = 8.33,能倒 8 杯完整的还剩一点,剩下的还能再倒 1 杯(不足也满一杯),所以是 9 杯。

    向上取整用什么? 用 ceil 函数(cmath 库里):ceil(8.33) = 9。

    参考代码

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main() {
        int n, x;
        cin >> n >> x;
    
        n = n * 1000;  // 升换算成毫升
    
        // 向上取整得到杯数
        cout << (int)ceil(n * 1.0 / x) << endl;
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:O(1)
    • 空间复杂度:O(1)
    • 1