一本通 1032:大象喝水查

1032:大象喝水查

时间限制: 1000 ms 内存限制: 65536 KB
提交数: 11359 通过数: 7148
【题目描述】
一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。

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

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

【输入样例】
23 11
【输出样例】
3

这道题目其实有两种方法

一种是把体积算出来 然后换成升去算

另一种是把体积算出来 不换 把20L换成2000mL就OJBK

在这里还要提一下

//1升 = 1000毫升

//1毫升 = 1 立方厘米

hiahiahia

贴两个AC的代码

1:化成升去计算

#include<cstdio>
#include<cmath>
using namespace std;
int main()
{ 
	double pi , v , water ;
	int h, r , tong ;
	pi = 3.14159;
	scanf("%d%d", &h , &r );
	v = pi*r*r*h/1000.0;//记住这是/1000.0 不是1000
	water = 20.0/v;//同理20.0
	tong = ceil(water);//ceil的作用是向上取整
	//返回大于或者等于指定表达式的最小整数
	printf("%d\n" , tong );
	return 0;
}

代码2

//1升 = 1000毫升
//1毫升 = 1 立方厘米
#include<cstdio> 
using namespace std;
const float PI = 3.14159;//设Pi=3.14159
const int ALL = 20000;
int main()
{
	int h, r;//一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数) 
	scanf("%d%d", &h , &r );
	int sum = PI*r*r*h;//桶的容积 它最多能装Pi * r * r * h立方厘米的水。
	if (ALL%sum == 0)//如果刚好喝的每一桶都装满
		printf("%d" , ALL / sum );
	else
		printf("%d" , ALL / sum + 1 ); 
	return 0;
}

水题刷得真舒服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值