题解
【入门】最多能倒多少杯水
1 条题解
-
0
解题思路
电水箱容量 n 升,杯子平均容量 x 毫升,问最多能倒多少杯(不足 1 杯也算 1 杯)。
思路:
- 先把单位统一:1 升 = 1000 毫升,所以 n 升 = n × 1000 毫升
- 杯数 = 总毫升数 ÷ 每杯毫升数
- 因为不足 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