题目描述
一只大象口渴了,要喝 20 20 20 升水才能解渴,但现在只有一个深 h h h 厘米,底面半径为 r r r 厘米的小圆桶 ( h h h 和 r r r 都是整数)。问大象至少要喝多少桶水才会解渴。
圆周率 π = 3.14 \pi = 3.14 π=3.14。**
输入格式
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 h h h 和底面半径 r r r,单位都是厘米。
输出格式
输出一行,包含一个整数,表示大象至少要喝水的桶数。
样例输入
23 11
样例输出
3
数据规模与约定
对于全部的测试点,保证
1
≤
h
≤
500
1 \leq h \leq 500
1≤h≤500,
1
≤
r
≤
100
1 \leq r \leq 100
1≤r≤100。
思路分析
桶的容量 = 底面积乘以高。底面积是圆,底面积= pi*r*r ,pi=3.14
所以桶的容量 v = pi*r*r*h
1 升=1000 立方厘米 ,所以20L 水 = 20000 立方厘米
大象需要喝水的桶数 = ceil(20000/v) 。
向上取整的原因:如果20000立方厘米是3.4桶,那么就需要4桶。
ceil 头文件 cmath
思路分析
#include<iostream>
#include<cmath>
using namespace std;
int main() {
const double pi = 3.14;
int h,r;
cin >> h >> r;
double v = pi*r*r*h; //桶的容量 = 底面积乘以高。底面积是圆,底面积= pi*r*r
int n = ceil(20000/v); //喝水的桶数,向上取整。
cout << n;
return 0;
}