一只大象口渴了,要喝 20升水才能解渴,但现在只有一个深 h 厘米,底面半
径为 r 厘米的小圆桶(h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。
输入格式
输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 h (1≤h≤100) 和
底面半径 r(1≤r≤100),单位都是厘米。
输出格式
输出一行,包含一个整数,表示大象至少要喝水的桶数。
提示
如果一个圆桶的深为 h 厘米,底面半径为 r 厘米,那么它最多能装 π×r×r×h 立方厘米
的水。(设 π=3.14159)
1 升 = 1000=1000 毫升;1 毫升 = 1=1 立方厘米。
如果想用20升水除以水桶装水的体积,然后用 % 判断是否要加一桶水,那么代码如下:
#include <stdio.h>
#define PI 3.14159
int main()
{
int h,r,V,sum;
scanf("%d %d",&h,&r);
V=PI*r*r*h;
sum=20*1000/V;
if(20*1000%V==0)
printf("%d\n",sum);
else
printf("%d\n",sum+1);
return 0;
}
小编可以很负责的告诉你,上面的一段代码,虽然也能通过大部分数据的测试
,但是它是错的,想法简单粗暴,但写起来并不是那么好写,所以,对于这个
题目,我建议用循环来写比较好。
#include <stdio.h>
#define PI 3.14159
int main()
{
int h,r,i;
float V,t;
scanf("%d %d",&h,&r);
V=PI*r*r*h;
t=20*1000-V;
for(i=1;t>0;i++)
t=t-V;
printf("%d",i);
return 0;
}
这样编写测试都能通过,在写程序时,当一种算法思维并不是那么好时,
可以试着换一种思维!