【洛谷算法题】P5714-肥胖问题【入门2分支结构】

👨💻博客主页:@花无缺
欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 花无缺 原创收录于专栏 【洛谷算法题】
文章目录
- 【洛谷算法题】P5714-肥胖问题【入门2分支结构】
- 🌏题目描述
- 🌏输入格式
- 🌏输出格式
- 🌏样例 #1
- 🌙样例输入 #1
- 🌙样例输出 #1
- 🌏样例 #2
- 🌙样例输入 #2
- 🌙样例输出 #2
- 🌏提示
- 🌏题解
- 🌏总结
【洛谷算法题】P5714-肥胖问题【入门2分支结构】
题目链接:【深基3.例7】肥胖问题 - 洛谷
🌏题目描述
BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m h 2 \dfrac{m}{h^2} h2m,其中 m m m 是指体重(千克), h h h 是指身高(米)。不同体型范围与判定结果如下:
- 小于 18.5 18.5 18.5:体重过轻,输出
Underweight; - 大于等于 18.5 18.5 18.5 且小于 24 24 24:正常体重,输出
Normal; - 大于等于 24 24 24:肥胖,不仅要输出 BMI 值(使用
cout的默认精度),然后换行,还要输出Overweight;
现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。
对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 0 0 0,不要输出后缀 0 0 0。
请注意,保留六位有效数字不是保留六位小数。例如 123.4567 123.4567 123.4567 应该输出为 123.457 123.457 123.457, 5432.10 5432.10 5432.10 应该输出为 5432.1 5432.1 5432.1。
🌏输入格式
共一行。
第一行,共 2 2 2 个浮点数, m , h m, h m,h,分别表示体重(单位为 kg),身高(单位为 m)。
🌏输出格式
输出一行一个字符串,表示根据 BMI 的对应判断。特别地,对于 Overweight 情况的特别处理请参照题目所述。
🌏样例 #1
🌙样例输入 #1
70 1.72
🌙样例输出 #1
Normal
🌏样例 #2
🌙样例输入 #2
100 1.68
🌙样例输出 #2
35.4308
Overweight
🌏提示
对于所有数据, 40 ≤ m ≤ 120 40\le m \le 120 40≤m≤120, 1.4 ≤ h ≤ 2.0 1.4 \le h \le 2.0 1.4≤h≤2.0。 m m m 和 h h h 的小数点后不超过三位。
🌏题解
import java.math.BigDecimal;
import java.math.MathContext;
import java.util.Scanner;public class P5714 {public static void main(String[] args) {Scanner input = new Scanner(System.in);// 体重,单位千克double m = input.nextDouble();// 身高,单位米double h = input.nextDouble();// BMI指数double bmi = m / (h * h);if (bmi < 18.5) {System.out.println("Underweight");} else if (bmi >= 18.5 && bmi < 24) {System.out.println("Normal");} else {BigDecimal b = new BigDecimal(String.valueOf(bmi)); BigDecimal divisor = BigDecimal.ONE;// 结果保留 6 位有效数字MathContext mc = new MathContext(6); System.out.println(b.divide(divisor, mc));System.out.println("Overweight");}input.close();}
}
🌏总结
这个题也不难,就是一个简单分支结构就可以解决问题了,但是有一个点需要注意就是题目要求的非 C++ 语言要将 BMI 值保留 6 位有效数字,而 6 位有效数字不代表 6 位小数。
有效数字是指从第一个不为 0 的数字开始后的数字,而且不算上末尾的 0。
例如:
1.3454位有效数字
0.041位有效数字
0.004533位有效数字
0.7830003位有效数字
对于 Java 语言来说,保留 n 位有效数字的方法:
public class Test {public static void main(String[] args) {Scanner in = new Scanner(System.in);double number = 0.06789;BigDecimal b = new BigDecimal(String.valueOf(number)); BigDecimal divisor = BigDecimal.ONE;// 保留几位有效数字就把 2 改成几MathContext mc = new MathContext(2);System.out.println(b.divide(divisor, mc));in.close();}
}
作者:花无缺(huawuque404.com)
🌸欢迎
关注我的博客:花无缺-每一个不曾起舞的日子都是对生命的辜负~
🍻一起进步-刷题专栏:【洛谷算法题】
💻Java题解同步仓库:https://github.com/huawuque404/Java-solution
🥇往期精彩好文:
📢【CSS选择器全解指南】
📢【HTML万字详解】
你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!
相关文章:
【洛谷算法题】P5714-肥胖问题【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5714-肥胖问题【入门2分支结构】🌏题目描述🌏输入格式&a…...
促进材料基因工程基础理论、前沿技术和关键装备的发展和应用,第七届材料基因工程高层论坛将于12月重庆举办,龙讯旷腾出席会议
为了进一步促进材料基因工程基础理论、前沿技术和关键装备的发展和应用,加强国际交流,加速我国新材料的研发和应用,由中国材料研究学会、西部科学城重庆高新区管理委员会主办,重庆大学、北京科技大学、北京云智材料大数据研究院等…...
Cypress-浏览器操作篇
Cypress-浏览器操作篇 页面的前进与后退 后退 cy.go(back); cy.go(-1);前进 cy.go(forward); cy.go(1);页面刷新 cy.reload() cy.reload(forceReload) cy.reload(options) cy.reload(forceReload, options)**options:**只有 timeout 和 log forceReload 是否…...
短视频矩阵系统源码搭建部署分享
一、 短视频矩阵系统源码搭建部署分享 目录 一、 短视频矩阵系统源码搭建部署分享 二、短视频矩阵系统搭建功能设计 三、 抖音矩阵号矩阵系统功能设计原则 四、 短视频矩阵开发部分源码展示 很高兴能够帮助您,以下是短视频矩阵系统源码搭建部署分享:…...
科技赋能,创新发展!英码科技受邀参加2023中国创新创业成果交易会
11月17日至19日,2023中国创新创业成果交易会(简称:创交会)在广州市广交会展馆圆满举行。英码科技受邀参加本届创交会,并在会场展示了创新性的AIoT产品、深元AI引擎和行业热门解决方案。 据介绍,本届创交会由…...
Talk | UCSB博士生宋珍巧:基于人工智能的功能性蛋白质设计
本期为TechBeat人工智能社区第549期线上Talk。 北京时间11月22日(周三)20:00,UC Santa Barbara博士生—宋珍巧的Talk已准时在TechBeat人工智能社区开播! 她与大家分享的主题是: “基于人工智能的功能性蛋白质设计”,介绍了如何利用机器学习算…...
C++基础从0到1入门编程(四)类和对象
系统学习C 方便自己日后复习,错误的地方希望积极指正 往期文章: C基础从0到1入门编程(一) C基础从0到1入门编程(二) C基础从0到1入门编程(三) 参考视频: 1.黑马程序员匠心…...
如何有效解决UDP协议传输问题实现快速安全的文件传输
随着互联网技术的不断发展,UDP协议作为一种快速、简单的传输协议被广泛应用于文件传输领域。然而,UDP协议传输过程中也存在着一些问题,如传输速度不稳定、数据丢失等,这些问题会影响到文件传输的效率和安全性。本文将介绍UDP协议传…...
Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行
Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行 设备/引擎:Mac(11.6)/Mac Mini 开发工具:终端 开发需求:让显示已损坏的文件顺利安装到电脑 大家肯定都遇到过下载…...
实战 - 在Linux上部署各类软件
前言 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没有一些具体的实操能够串联起来这些知…...
Jenkins扩展篇-流水线脚本语法
JenkinsFile可以通过两种语法来声明流水线结构,一种是声明式语法,另一种是脚本式语法。 脚本式语法以Groovy语言为基础,语法结构同Groovy相同。 由于Groovy学习不适合所有初学者,所以Jenkins团队为编写Jenkins流水线提供一种更简…...
一个ETL流程搞定数据脱敏
数据脱敏是什么? 数据脱敏是指在数据处理过程中,通过一系列的技术手段去除或者替换敏感信息,以保护个人隐私和敏感信息的安全的过程。数据脱敏通常在数据共享、数据分析和软件测试等场景下使用,它旨在降低数据泄露和滥用的风险。…...
重生奇迹mu迹辅助什么好
主流辅助一号选手:弓箭手 智弓作为最老、最有资历的辅助职业,一直都是各类玩家的首要选择。因为智力MM提供的辅助能力都是最基础、最有效、最直观的辅助。能够减少玩家对于装备的渴求度,直接提升人物的攻防,大大降低了玩家升级打…...
【bug 回顾】上传图片超时
测试 bug 问题分析 - 上传图片超时 最近在测试上遇到一个莫名奇妙的问题,最后也没有得到具体是哪块的原因,看各位大佬有没有思路?? 一 、背景 现在我们有三台服务器,用来布两套环境。其中另外一台服务器3配置的 tom…...
Leetcode1410. HTML 实体解析器
Every day a Leetcode 题目来源:1410. HTML 实体解析器 解法1:模拟 遍历字符串 text,每次遇到 ’&‘,就判断以下情况: 双引号:字符实体为 " ,对应的字符是 " 。单引号&a…...
【Django使用】django经验md文档10大模块。第4期:Django数据库增删改查
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展…...
SAP LU04记账更改通知单创建转储单报错:L3094 记帐修改没有份存在
解决办法: 使用事务码LU02,修改过账更改状态,将过账更改状态改为U,强制关闭 1. LU04 查找记账更改通知单号 2. 事务码LU02修改状态 这个时候再用LU04去查看的时候,就不会再显示了...
Redis:Java客户端
前言 "在当今大数据和高并发的应用场景下,对于数据缓存和高效访问的需求日益增长。而Redis作为一款高性能的内存数据库,以其快速的读写能力和丰富的数据结构成为众多应用的首选。与此同时,Java作为广泛应用于企业级开发的编程语言&…...
使用electron工具打包web端到PC端应用程序
根据electron官网快速入门示例可以方便的构建mac端包,我们在此基础上构建windows端exe包. 1在package.json文件的script字段增加以下配置 "scripts": {..."build": "electron-builder --win"}, 2然后在终端执行以下命令 npm run b…...
Django框架环境的搭建(图文详解)
目录 day01 Web框架和Django基础 1.web框架底层 1.1 网络通信编辑 1.2 常见软件架构 1.3 手撸web框架 2.web框架 2.1 wsgiref 2.2 werkzeug 2.3 各框架的区别 3.快速上手django框架 3.1 安装 3.2 命令行 3.3 Pycharm 4.虚拟环境 4.1 创建虚拟环境 - 命令行 4…...
保姆级教程:用MMAction2训练你的第一个自定义动作识别模型(从数据集准备到模型训练)
从零开始构建自定义动作识别模型:MMAction2实战指南 动作识别技术正在重塑多个行业的交互方式——从健身应用的实时动作纠正到工业质检中的异常行为检测。作为OpenMMLab生态中的重要成员,MMAction2以其模块化设计和丰富的预训练模型,成为开发…...
ETA6198,32V输入耐受电压,2.5A开关模式电池充电器,超低1uA电池端静态电流。
1.描述ETA6198是一款高效率开关型锂离子电池充电器,可为电池提供高达2.5安培的充电电流。充电过程中,该芯片采用专属控制方案,省去了传统恒流控制所需的电流检测电阻,不仅大幅提升充电效率、缩短充电时长,还能降低整体…...
【MIMO通信】基于粒子群算法的蜂窝大规模 MIMO动态 AP选择附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...
从URDF到Rviz:手把手教你用joint/robot_state_publisher让机器人模型动起来
从URDF到Rviz:手把手教你用joint/robot_state_publisher让机器人模型动起来 在ROS机器人开发中,将静态的URDF模型转化为可视化、可交互的动态展示是一个关键里程碑。许多开发者在完成URDF建模后,常常卡在如何让关节真正"活"起来这…...
NVDLA中的卷积流水线:原理、实现与性能优化
NVDLA卷积流水线深度解析:从硬件架构到极致优化 在边缘计算和物联网设备爆炸式增长的今天,高效能的神经网络推理加速器已成为行业刚需。NVDLA(NVIDIA深度学习加速器)作为开源架构中的佼佼者,其核心竞争优势正来自于精…...
Unity转微信小游戏,包体超20M别急着上CDN!我的字体、图片、音频压缩实战(附PS/格式工厂参数)
Unity转微信小游戏包体瘦身实战:从24.93MB压回20MB的终极技巧 当Unity项目转换为微信小游戏时,20MB的包体限制就像一道无形的门槛。最近我的一个项目打包后显示24.93MB,超出限制近5MB。面对这种情况,很多开发者的第一反应可能是考…...
DRIFT技术:动态微调提升多模态大模型推理性能
1. 项目概述 DRIFT(Dynamic Refinement through Injected Fine-Tuning)是一种针对多模态大模型的轻量级优化技术,通过在推理阶段动态注入梯度信号,显著提升模型在复杂任务中的表现。这项技术特别适合处理需要跨模态对齐的视觉-语言…...
终极指南:3分钟自动化解决iPhone USB网络共享Windows驱动问题
终极指南:3分钟自动化解决iPhone USB网络共享Windows驱动问题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com…...
信号灯老化管理:90%的Java开发者都忽略了这个关键点!
🔥关注墨瑾轩,带你探索编程的奥秘!🚀 🔥超萌技术攻略,轻松晋级编程高手🚀 🔥技术宝库已备好,就等你来挖掘🚀 🔥订阅墨瑾轩,智趣学习不…...
手把手调试CAT主动式命令:用Python模拟终端与SIM卡的完整对话流程
用Python构建CAT主动式命令调试工具:从协议解析到交互模拟实战 在物联网设备和移动终端开发中,SIM卡应用工具包(CAT)的主动式命令机制是实现卡端与终端双向通信的核心技术。本文将带您从零构建一个Python模拟环境,完整复现TERMINAL PROFILE交…...
