BMI

(此方法JZXX过不了,把round改成while才能过)

BMI
Description
小X经过刻苦训练获得了 NOIP 的国一,并参加了 NOI,获得了保送资格,被保送到南都大学学习,进入大学以后,小X觉得中学编程太辛苦了,应该好好犒劳一下自己,刚好南都大学周边美食如云,吃不胜吃,小X不到一个学期就长了 30 多斤,四年下来已经胖得不成样子,体重一举飙升到了 118kg,同时血压也升到了 128mmHg,离正常血压的上限也不远了,数字都很吉祥,但身体状况已呈险兆,上个楼梯就心慌气促,于是下定决心要减重,正所谓胖子不是一天就能吃成的,瘦下来也不可能饿几天就达到,小X的短期目标就是减到像 Q 老师那么瘦,尽管也从没有人夸过 Q 老师瘦!当然小X的最终目标是减到正常体重,正常体重怎么算呢?国际通用的标准是 BMI 指数,以下科普一下 BMI 指数:BMI 指数=体重/(身高^2),正
常范围在 18 到 24 之间,小于 18 过轻,大于 24 过重。这里体重的单位为公斤(kg),身高的单位是米(m)。如费德勒的身高为 185 厘米,体重为 85 公斤,其 BMI=85/(1.85*1.85)≈24.8356。

Input
输入数据包含两个用空格隔开的正整数,分别表示身高和体重,身高的单位是厘米(cm),体重的单位为公斤(kg),1 米等于 100 厘米。

Output
输出数据第一行为一个字符串,“Good!”表示正常,“Too fat!”表示过重,“Too thin!”表示过轻,双引号不需要输出,感叹号都是英文字符。
如果体重正常则不用输出第二行,否则第二行输出一个正整数 w,表示此人离正常体重的最小整数差值,假如此人过重,则他要减去 w 公斤才能使得 BMI 指数小于等于 24,如果太轻则要增加 w 公斤才能使得BMI 指数大于等于 18。

Sample Input
样例1:
175 118
样例2:
173 50
样例3:
176 58
Sample Output
样例1:
Too fat!
45
样例2:
Too thin!
4
样例3:
Good!
Hint
【样例解释】
样例 1 为小X的身高体重,小X最少需要减掉 45 公斤体重才能达标;样例二为某大学生的身高体重,
他最少需要增加 4 公斤体重才达标;样例三是某学生的身高体重,他的 BMI 大约等于 18.72,正常!
【数据范围】
20%的数据,BMI 在正常范围内
另外 80%的数据,一半太胖,一半太瘦
100%的数据,身高<=250,体重<=300

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double cm,kg,bmi;
    cin>>cm>>kg;
    cm=cm/100;
    bmi=kg/(cm*cm);
    if(bmi>=18&&bmi<=24)
    {
        cout<<"Good!"<<endl;
    }
    else
    {
        if(bmi<18)
        {
            cout<<"Too thin!"<<endl;
            cout<<round(cm*cm*18-kg)<<endl;
        }
        else
        {
            cout<<"Too fat!"<<endl;
            cout<<round(kg-cm*cm*24)<<endl;
        }
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值