C/C++编程学习 - 第3周 ② 大象喝水

题目链接

题目描述

上课的时候老师问了小蒜蒜和同学们一个问题:

一只大象口渴了,要喝 20 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r 厘米的小圆桶(h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。

小蒜蒜想让你来算一下。

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

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

提示
如果一个圆桶的深为 h 厘米,底面半径为 r 厘米,那么它最多能装 π × r × r × h 立方厘米的水。(设 π=3.14159)1 升 =1000 毫升;1 毫升 =1 立方厘米。

Sample Input

23 11

Sample Output

3

思路

先算出一小桶水的体积,用20升除以这个体积,并向上取整,注意单位换算。ceil()是向上取整函数。

C语言代码:

#include<stdio.h>
int main()
{
    
    
	int cnt = 1, h, r;
    scanf("%d %d",&h, &r);
	double v = 3.14159 * h * r * r;
	while((cnt * v) < 20000)
		cnt ++;
	printf("%d", cnt);
	return 0;
}

C++代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
	int h, r;
	while(cin >> h >> r)
	{
    
    
		double v = 3.14159 * r * r * h;
		cout << ceil(20.0 * 1000 / v) << endl;	//向上取整
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44826711/article/details/112859896