14:大象喝水
描述
一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。
输入
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。
输出
输出一行,包含一个整数,表示大象至少要喝水的桶数。
示例输入
23 11
示例输出
3
提示
如果一个圆桶的深为h厘米,底面半径为r厘米,那么它最多能装Pi * r * r * h立方厘米的水。(设Pi=3.14159)
1升 = 1000毫升
1毫升 = 1 立方厘米
分析
1. 20升水与桶的半径以及高的单位转换
2. 对于桶数的确定,如果不够一桶水必须加一桶水
代码
#include <iostream>
#define pi 3.14159
using namespace std;
int main()
{
int h, r, n; //h为小圆桶的深,r为底面半径,n为桶数
double v, m; //v为小圆桶的体积
cin >> h >> r;
v = pi * r * r * h; //小圆桶体积
n = (20 * 1000) / v; //整数桶数
m = (20 * 1000) / v; //带有小数的桶数
if (n==m) //若n==m则说明n桶水就够了
{
cout << n << endl;
}
else //若不相等,则说明还需要一桶水
{
cout << n+1 << endl;
}
return 0;
}