算法每日一题 | 入门-顺序结构-大象喝水

[复制链接]
发表于 2025-5-5 11:25:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
大象喝水

标题描述

一只大象口渴了,要喝 20 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r 厘米的小圆桶 (h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。
这里我们近似地取圆周率                                        π                            =                            3
.14                                  \pi=3
.14                     π=3
.14 。

输入格式

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

输出一行,包罗一个整数,表示大象至少要喝水的桶数。
输入输出样例 #1

[size=3
]输入 #1

  1. 23
  2. 11
复制代码
[size=3
]输出 #1

  1. 3
复制代码
阐明/提示

数据规模与约定
对于全部的测试点,包管KaTeX parse error: Expected &#3
9;EOF&#3
9;, got &#3
9;&&#3
9; at position 2: 1&̲le;h≤500 ,KaTeX parse error: Expected &#3
9;EOF&#3
9;, got &#3
9;&&#3
9; at position 2: 1&̲le;r≤100。
C&#43
;&#43
;


                                    1                         d                                   m                            3
                                  =                         1                         L                              1dm^3
=1L                  1dm3
=1L 以是将“升”转化为“立方厘米”公式为:
                                    1000                         c                                   m                            3
                                  =                         1                         L                              1000cm^3
=1L                  1000cm3
=1L
可知题中大象要喝                                   20000                         c                                   m                            3
                                       20000cm^3
                  20000cm3
的水才解渴。
又知圆柱体体积公式:
                                    V                         =                         π                         ⋅                                   r                            2                                  ⋅                         h                              V=\pi\cdot r^2\cdot h                  V=π⋅r2⋅h
现已知 h,r 以及总喝水数,求大象喝水数。
易错点:末了要对喝水的桶数取整!(因为 a 大部分不为整数,要向上取整大象才能喝饱)
上代码:
  1. #include<bits/stdc&#43
  2. ;&#43
  3. ;.h>using namespace std;int h,r,a;int main(){ cin>>h>>r; a=20000/(3
  4. .14*r*r*h)&#43
  5. ;1; cout<<a; return 0;}
复制代码

Python

本题需要不少于喝水总量,因此需要向上取整 ceil() 函数,在 Python 中需要导入 math 库。
假如你只需要 math 库中的某一函数,你可以使用 from math import x 来导入;假如你需要导入 math 库中的全部函数,你可以使用 import math。
本标题代码如下:
  1. from math import ceila,b=input().split();a=int(a);b=int(b);print(ceil(20000/(3
  2. .14*a*b*b)));
复制代码

Java

借助 Scanner 类读取输入的小圆桶的深和底面半径,然后计算小圆桶的容积。因为标题里大象要喝的水的总量单位是升,以是要将其转换为立方厘米。末了使用 Math.ceil() 方法对计算得到的桶数向上取整,而且输出结果。
  1. import java.util.Scanner;publicclass Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        // 读取输入的小圆桶的深和底面半径        int h = scanner.nextInt();        int r = scanner.nextInt();        // 定义圆周率        double pi = 3
  2. .14;        // 计算小圆桶的容积,单位为立方厘米        double volume = pi * r * r * h;        // 大象需要喝的水的总量,单位转换为立方厘米        double totalWater = 20 * 1000;        // 计算需要的桶数        int buckets = (int) Math.ceil(totalWater / volume);        // 输出结果        System.out.println(buckets);        scanner.close();    }}   
复制代码

空想可以大,第一步总是小的!

.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表