【题目描述】
上课的时候老师问了小蒜蒜和同学们一个问题:
一只大象口渴了,要喝 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",&h,&r); //读入桶深和底面半径 v=pi*r*r*h; //计算每个桶的体积 sum=ceil(20*1000/v); // 考虑出现小数的情况,1.3算2桶,向上取整。 printf("%d",sum); return 0; }
返回目录:题解目录