1032:大象喝水查
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 11359 通过数: 7148
【题目描述】
一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。
【输入】
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。
【输出】
输出一行,包含一个整数,表示大象至少要喝水的桶数。
【输入样例】
23 11
【输出样例】
3
这道题目其实有两种方法
一种是把体积算出来 然后换成升去算
另一种是把体积算出来 不换 把20L换成2000mL就OJBK
在这里还要提一下
//1升 = 1000毫升
//1毫升 = 1 立方厘米
hiahiahia
贴两个AC的代码
1:化成升去计算
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
double pi , v , water ;
int h, r , tong ;
pi = 3.14159;
scanf("%d%d", &h , &r );
v = pi*r*r*h/1000.0;//记住这是/1000.0 不是1000
water = 20.0/v;//同理20.0
tong = ceil(water);//ceil的作用是向上取整
//返回大于或者等于指定表达式的最小整数
printf("%d\n" , tong );
return 0;
}
代码2
//1升 = 1000毫升
//1毫升 = 1 立方厘米
#include<cstdio>
using namespace std;
const float PI = 3.14159;//设Pi=3.14159
const int ALL = 20000;
int main()
{
int h, r;//一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)
scanf("%d%d", &h , &r );
int sum = PI*r*r*h;//桶的容积 它最多能装Pi * r * r * h立方厘米的水。
if (ALL%sum == 0)//如果刚好喝的每一桶都装满
printf("%d" , ALL / sum );
else
printf("%d" , ALL / sum + 1 );
return 0;
}
水题刷得真舒服