14:大象喝水

一、问题链接

http://noi.openjudge.cn/ch0103/14/


二、问题需求

2.1 已知大象需要喝20升水才能解渴,现只有一个小圆桶可供大象喝水;
2.2 输入两个整数,分别代表小圆桶的深度底面半径,单位都是厘米,计算并输出大象至少需要喝多少桶水才能解渴,结果应为一个正整数


三、相关知识点

序号知识点列表
知识点说明
3.1桶数的计算显然,大象解渴需要的桶数可通过算式 20000 ÷ v 20000\div v 20000÷v计算,其中 v v v是桶的体积(单位立方厘米或毫升)
3.2小数进位问题桶的体积 v v v可能会包含小数,因此算式 20000 ÷ v 20000\div v 20000÷v也可能会包含小数,此时需要将小数部分进位1,例如:
  ▲ 计算桶数为3.23,则实际需要4桶
  ▲ 计算桶数为12.001,则实际需要13桶
  ▲ 计算桶数为195,则实际需要195桶
  ▲ 以此类推
3.3Math类的ceil方法将一个数的小数部分进位1,小数部分为0或没有小数部分则不进位,称为天花板操作,计算结果是一个double类型的浮点数,例如:
  ▲ Math.ceil(3.23)得到4.0
  ▲ Math.ceil(12.001)得到13.0
  ▲ Math.ceil(195)得到195.0
  ▲ 以此类推
3.4题目规定的圆周率 π = 3.14159 \pi=3.14159 π=3.14159

四、算法思想

4.1 定义并输入两个int类型的整数hr,分别代表桶的深度、底面半径,单位均为厘米;
4.2 定义double类型的浮点数v=3.14159*h*r*r,代表桶的体积,单位立方厘米或毫升;
4.3 定义int类型的整数ans=(int)Math.ceil(20000/v),也即大象解渴需要的桶数,输出ans


五、Java程序

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int h = input.nextInt(); // 定义并输入桶的深度,单位厘米
        int r = input.nextInt(); // 定义并输入桶的底面半径,单位厘米
        double v = 3.14159 * h * r * r; // 定义并计算桶的体积,单位立方厘米或毫升
        int ans = (int) Math.ceil(20000 / v); // 定义并计算大象解渴需要的桶数
        System.out.print(ans);
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江苏科技大学_计算机学院_潘磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值