【洛谷算法题】B2029-大象喝水【入门1顺序结构】
题目链接:大象喝水 - 洛谷
🌏题目描述
一只大象口渴了,要喝 20 2020 升水才能解渴,但现在只有一个深 h hh 厘米,底面半径为 r rr 厘米的小圆桶 (h hh 和 r rr 都是整数)。问大象至少要喝多少桶水才会解渴。
Update:数据更新,这里我们近似地取圆周率 π = 3.14 \pi = 3.14π=3.14。
🌏输入格式
输入有一行:包含两个整数,以一个空格分开,分别表示小圆桶的深 h hh 和底面半径 r rr,单位都是厘米。
🌏输出格式
输出一行,包含一个整数,表示大象至少要喝水的桶数。
🌏样例 #1
🌙样例输入 #1
23 11
🌙样例输出 #1
3
🌏提示
🌙数据规模与约定
对于全部的测试点,保证 1 ≤ h ≤ 500 1 \leq h \leq 5001≤h≤500,1 ≤ r ≤ 100 1 \leq r \leq 1001≤r≤100。
🌏题解
import java.util.Scanner; public class B2029 { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 圆桶深度 int hCm = in.nextInt(); // 圆桶底部半径 int rCm = in.nextInt(); // 需要喝的桶数 int num = 0; if (20000 % (3.14 * rCm * rCm * hCm) == 0) { // 刚好有若干桶水可以累加到 2 L num = (int)(20000 / (3.14 * rCm * rCm * hCm)); } else { // 最后一桶水喝不完, 那么就要多加一桶水 num = (int)(20000 / (3.14 * rCm * rCm * hCm) + 1); } System.out.print(num); in.close(); } }
🌏总结
单位转换:
1 dm^3 = 1000 cm^3 = 1000ml = 1 L
由题意知道大象要喝 20000 c m 3 cm^3cm3 的水才能解渴,所以用 20000 除以每桶能够盛放的水就可以得到一共需要多少桶水了,但是需要注意,要保证大象至少要喝 2000 c m 3 cm^3cm3 的水,所以用除法来做的话,当 20000 对每桶水的体积取模结果不是整数时,要再加上一桶水才能保证大象能够喝到 2 L 以上的水。