【洛谷算法题】B2029-大象喝水【入门1顺序结构】

简介: 【洛谷算法题】B2029-大象喝水【入门1顺序结构】

【洛谷算法题】B2029-大象喝水【入门1顺序结构】

题目链接:大象喝水 - 洛谷

🌏题目描述

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

Update:数据更新,这里我们近似地取圆周率 π = 3.14 \pi = 3.14π=3.14

🌏输入格式

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

🌏输出格式

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

🌏样例 #1

🌙样例输入 #1

23 11

🌙样例输出 #1

3

🌏提示

🌙数据规模与约定

对于全部的测试点,保证 1 ≤ h ≤ 500 1 \leq h \leq 5001h5001 ≤ r ≤ 100 1 \leq r \leq 1001r100

🌏题解

import java.util.Scanner;
public class B2029 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 圆桶深度
        int hCm = in.nextInt();
        // 圆桶底部半径
        int rCm = in.nextInt();
        // 需要喝的桶数
        int num = 0;
        if (20000 % (3.14 * rCm * rCm * hCm) == 0) { // 刚好有若干桶水可以累加到 2 L
            num = (int)(20000 / (3.14 * rCm * rCm * hCm));
        } else { // 最后一桶水喝不完, 那么就要多加一桶水
            num = (int)(20000 / (3.14 * rCm * rCm * hCm) + 1);
        }
        System.out.print(num);
        in.close();
    }
}

🌏总结

单位转换:

1 dm^3 = 1000 cm^3 = 1000ml = 1 L

由题意知道大象要喝 20000 c m 3 cm^3cm3 的水才能解渴,所以用 20000 除以每桶能够盛放的水就可以得到一共需要多少桶水了,但是需要注意,要保证大象至少要喝 2000 c m 3 cm^3cm3 的水,所以用除法来做的话,当 20000 对每桶水的体积取模结果不是整数时,要再加上一桶水才能保证大象能够喝到 2 L 以上的水。

作者:花无缺(huawuque404.com)

相关文章
|
2天前
|
机器学习/深度学习 存储 缓存
数据结构从入门到精通——算法的时间复杂度和空间复杂度
算法的时间复杂度和空间复杂度是评估算法性能的两个重要指标。时间复杂度主要关注算法执行过程中所需的时间随输入规模的变化情况,而空间复杂度则关注算法执行过程中所需的最大存储空间或内存空间。
84 0
|
2天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
49 0
|
2天前
|
存储 监控 NoSQL
Redis处理大量数据主要依赖于其内存存储结构、高效的数据结构和算法,以及一系列的优化策略
【5月更文挑战第15天】Redis处理大量数据依赖内存存储、高效数据结构和优化策略。选择合适的数据结构、利用批量操作减少网络开销、控制批量大小、使用Redis Cluster进行分布式存储、优化内存使用及监控调优是关键。通过这些方法,Redis能有效处理大量数据并保持高性能。
22 0
|
2天前
|
存储 机器学习/深度学习 算法
|
2天前
|
网络协议 算法 数据库
【专栏】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。强烈建议收藏!
【4月更文挑战第28天】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。其关键特性包括区域划分、链路状态数据库、邻居关系和路由更新。工作过程涉及邻居发现、信息交换、数据库构建、路由计算及收敛。理解OSPF对于网络管理和规划具有重要意义。
|
2天前
|
机器学习/深度学习 人工智能 算法
分类算法入门:以鸢尾花数据集为例(上)
分类算法入门:以鸢尾花数据集为例(上)
36 2
|
2天前
|
机器学习/深度学习 算法 数据可视化
分类算法入门:以鸢尾花数据集为例(下)
分类算法入门:以鸢尾花数据集为例(下)
55 2
|
2天前
|
存储 算法
【算法与数据结构】深入解析二叉树(二)之堆结构实现
【算法与数据结构】深入解析二叉树(二)之堆结构实现
|
2天前
|
存储 算法 JavaScript
Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)
解决这类问题时,建议采取下面的步骤: 理解数学原理:确保你懂得基本的数学公式和法则,这对于制定解决方案至关重要。 优化算法:了解时间复杂度和空间复杂度,并寻找优化的机会。特别注意避免不必要的重复计算。 代码实践:多编写实践代码,并确保你的代码是高效、清晰且稳健的。 错误检查和测试:要为你的代码编写测试案例,测试标准的、边缘情况以及异常输入。 进行复杂问题简化:面对复杂的问题时,先尝试简化问题,然后逐步分析和解决。 沟通和解释:在编写代码的时候清晰地沟通你的思路,不仅要写出正确的代码,还要能向面试官解释你的
35 0
|
2天前
|
存储 算法 JavaScript
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)(二)
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)
35 0