洛谷 B2029:大象喝水 ← 圆柱体体积
【题目来源】
https://www.luogu.com.cn/problem/B2029
【题目描述】
一只大象口渴了,要喝 20 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r 厘米的小圆桶 (h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。
Update:数据更新,这里我们近似地取圆周率 π=3.14。
【输入格式】
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 h 和底面半径 r,单位都是厘米。
【输出格式】
输出一行,包含一个整数,表示大象至少要喝水的桶数。
【输入样例】
23 11
【输出样例】
3
【数据规模与约定】
对于全部的测试点,保证 1≤h≤500,1≤r≤100。
【算法分析】
● 1升=0.001立方米,1升=1000立方厘米
● 针对浮点数,ceil() 函数的作用是“向上取整”。例如:ceil(5.1)=6,ceil(7.6)=8 等。
● 若设圆桶的半径为 r,高为 h,则圆桶的体积 v=π*r*r*h
【算法代码一】
#include <bits/stdc++.h>
using namespace std;
int h,r;
double ans;
int main() {
cin>>h>>r;
ans=20*1000/(3.14*r*r*h);
cout<<ceil(ans);
return 0;
}
/*
in:
23 11
out:
3
*/
【算法代码二】
#include <bits/stdc++.h>
using namespace std;
int h,r;
int ans;
int main() {
cin>>h>>r;
ans=20*1000/(3.14*r*r*h);
cout<<ans+1;
return 0;
}
/*
in:
23 11
out:
3
*/
【参考文献】
https://www.luogu.com.cn/problem/solution/B2029