可达鸭二月月赛——入门赛第四场T1题解

姓名

  • 王胤皓

AC 记录

题意

有一个圆桶,底面半径为 r r r ,高为 h h h

问:小可每天都需要喝水 20 20 20 升,请问小可至少需要用这个桶接几杯水呢?

思路

首先求出圆桶能装的水,也就是这个圆桶的体积
圆柱体积公式: S = h ( π r 2 ) \mathtt{S}=h(πr^2) S=h(πr2)
在本题中, π π π 3.14159 3.14159 3.14159,所以先求出 r 2 × 3.14159 × h r^2 \times 3.14159 \times h r2×3.14159×h,再用总量( 20 20 20 升)除以圆桶的体积( r 2 × 3.14159 × h r^2 \times 3.14159 \times h r2×3.14159×h),就行了。

请注意:本题的坑点在于 20 20 20 ,而圆桶的体积单位却是 m L mL mL,所以需要将 20 20 20 升转换为 20000 m L 20000mL 20000mL

最后需要取上整,所以最终答案是:
⌈ 20000 r × r × 3.14159 × h ⌉ \lceil \frac{20000}{r\times r \times 3.14159 \times h} \rceil r×r×3.14159×h20000
注意要用 long   double \texttt{long double} long double double \texttt{double} double 存储!

代码实现

#include
using namespace std;
#define ll long long
int main(){
    int h,r;
    cin>>h>>r;
    long double a=r*r*3.14159*h;
    cout<<ceil(20000/a);
	return 0;
}


你可能感兴趣的:(算法,c++)