题目描述
上课的时候老师问了小蒜蒜和同学们一个问题:
一只大象口渴了,要喝 20 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r 厘米的小圆桶(h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。
小蒜蒜想让你来算一下。
输入格式
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 h (1≤h≤100) 和底面半径 r (1 ≤ r ≤ 100),单位都是厘米。
输出格式
输出一行,包含一个整数,表示大象至少要喝水的桶数。
提示
如果一个圆桶的深为 h 厘米,底面半径为 r 厘米,那么它最多能装 π × r × r × h 立方厘米的水。(设 π=3.14159)1 升 =1000 毫升;1 毫升 =1 立方厘米。
Sample Input
23 11
Sample Output
3
思路
先算出一小桶水的体积,用20升除以这个体积,并向上取整,注意单位换算。ceil()是向上取整函数。
C语言代码:
#include<stdio.h>
int main()
{
int cnt = 1, h, r;
scanf("%d %d",&h, &r);
double v = 3.14159 * h * r * r;
while((cnt * v) < 20000)
cnt ++;
printf("%d", cnt);
return 0;
}
C++代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int h, r;
while(cin >> h >> r)
{
double v = 3.14159 * r * r * h;
cout << ceil(20.0 * 1000 / v) << endl; //向上取整
}
return 0;
}