【题目描述】

上课的时候老师问了小蒜蒜和同学们一个问题:

一只大象口渴了,要喝 20 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r厘米的小圆桶(h和 r 都是整数)。问大象至少要喝多少桶水才会解渴。

小蒜蒜想让你来算一下。

输入格式

输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 h(1≤h≤100) 和底面半径 r (1≤r≤100),单位都是厘米。

输出格式

输出一行,包含一个整数,表示大象至少要喝水的桶数。

提示

如果一个圆桶的深为 h厘米,底面半径为 r厘米,那么它最多能装 π×r×r×h 立方厘米的水。(设 π=3.14159)

1升 =1000 毫升;1毫升=1 立方厘米。

样例输入

23 11

样例输出

3

【题解】

主要需要考虑单位换算和向上取整的问题,因为1.2桶和1.7桶都算2桶。

#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	double pi=3.14159,v=0; //定义圆周率,桶的体积		
	int r=0,h=0,sum=0; //定义底面半径、高度和总桶数 
	scanf("%d %d",&amp;h,&amp;r); //读入桶深和底面半径
	v=pi*r*r*h;  //计算每个桶的体积 
	sum=ceil(20*1000/v); // 考虑出现小数的情况,1.3算2桶,向上取整。 
	printf("%d",sum);
	return 0;
} 

返回目录:题解目录