问题描述
花花所在的学校引入了电水箱为同学们烧开水。
已知电水箱的容量为 n 升( n≤10L ),同学们带的杯子平均容量为 x 毫升( x 在 100∼300 之间),请问烧一箱开水,最多能倒多少杯(不足 1 杯算 1 杯)。(4.1.2)
输入
2 个整数 n 和 x 。
n 代表电水箱的总容量(单位为升 L), x 代表平均 1 个杯子的容量(单位为毫升ml )。
输出
一个整数,代表最多能够倒多少杯水(不足 1 杯算 1 杯)。
样例
输入
1 120
输出
9
要解决这个问题,我们需要将电水箱的容量从升转换为毫升,然后将其除以每个杯子的容量,最后取整得到最多能倒多少杯水。具体步骤如下:
1. 将电水箱的容量从升转换为毫升。1升等于1000毫升,因此电水箱的容量为 \( n \times 1000 \) 毫升。
2. 将电水箱的容量除以每个杯子的容量 \( x \) 毫升,得到可以倒的杯数。
3. 由于不足1杯算1杯,因此我们需要对结果向上取整。
下面是具体的代码实现:
#include <iostream>
#include <cmath> // 用于调用 ceil 函数
int main() {
int n, x;
std::cin >> n >> x;
// 将电水箱的容量从升转换为毫升
int total_milliliters = n * 1000;
// 计算可以倒的杯数,并向上取整
int cups = std::ceil((double)total_milliliters / x);
std::cout << cups << std::endl;
return 0;
}
### 代码解释
1. 首先包含必要的头文件 `iostream` 和 `cmath`。
2. 从标准输入读取电水箱的容量 \( n \) 和每个杯子的容量 \( x \)。
3. 将电水箱的容量从升转换为毫升,即 \( n \times 1000 \)。
4. 计算可以倒的杯数,并使用 `std::ceil` 函数向上取整。
5. 输出结果。
### 样例解释
对于输入 `1 120`:
- 电水箱的容量为 1 升,即 1000 毫升。
- 每个杯子的容量为 120 毫升。
- 计算 \( 1000 \div 120 \approx 8.33 \),向上取整得到 9 杯。
因此,输出为 `9`。