题解:洛谷 B2029 大象喝水
【题目来源】
【题目描述】
一只大象口渴了,要喝 \(20\) 升水才能解渴,但现在只有一个深 \(ℎ\) 厘米,底面半径为 \(r\) 厘米的小圆桶 (\(ℎ\) 和 \(r\) 都是整数)。问大象至少要喝多少桶水才会解渴。
【输入】
输入有一行:包含两个整数,以一个空格分开,分别表示小圆桶的深 \(ℎ\) 和底面半径 \(r\),单位都是厘米。
【输出】
输出一行,包含一个整数,表示大象至少要喝水的桶数。
【输入样例】
23 11
【输出样例】
3
【算法标签】
《洛谷 B2029 大象喝水》 #顺序结构#
【代码详解】
#include <bits/stdc++.h> // 包含标准库头文件(万能头文件)
#include <math.h> // 包含数学函数库(使用ceil函数)
using namespace std; // 使用标准命名空间
// 全局变量定义
int h, r, ans; // h: 水桶高度(cm), r: 水桶半径(cm), ans: 最终答案
double v; // v: 单个水桶的容积(ml)
/**
* 主函数 - 程序入口
* @return 程序执行状态码(0表示成功)
*/
int main()
{
cin >> h >> r; // 输入水桶的高度和半径
// 计算单个水桶的容积(圆柱体积公式:V=πr²h)
v = 3.14 * r * r * h;
// 计算需要多少桶水才能满足20升的需求(20000ml)
// 使用ceil函数向上取整,确保足够
ans = ceil(20000 / v);
cout << ans; // 输出计算结果
return 0; // 返回程序执行成功状态码
}
【运行结果】
23 11
3
浙公网安备 33010602011771号