
【分析问题】
这是一个单位换算和向上取整的问题:
- 输入:n(升)和 x(毫升)
- 约束:n ≤ 10L,x 在 100~300 毫升之间
- 核心逻辑:将总容量从升转换为毫升(1L = 1000mL),然后计算能倒多少杯
- 关键点:不足1杯要算1杯,需要使用向上取整
- 计算公式:杯数 = ceil(总毫升数 / 每杯毫升数) = ceil(n * 1000 / x)
【建立模型(伪代码)】
读取 n 和 x
将 n 转换为毫升:total_ml = n * 1000
计算杯数:cups = total_ml / x
如果 total_ml 除以 x 有余数,则杯数加1
输出杯数
【编写代码】
#include <iostream>
using namespace std;
int main() {
int n, x;
cin >> n >> x;
// 将总容量转换为毫升
n = n * 1000;
// 计算能倒多少杯(向上取整)
int cups = n / x; //cups 杯子
if (n % x != 0) {
cups++;
}
cout << cups << endl;
return 0;
}
【保存编译运行】