Official

A - BMI Editorial by m_99


BMIの定義で用いた身長の単位がmなのに対して与えられる身長の単位がcmであることに気を付けると、BMIは例えばC++のプログラムでは以下のように表せます。

10000 * W / (H * H)

if文を用いてこの値と閾値との比較を行い、対応する出力をすれば良いです。
BMIの値をそのまま左辺として用いると、例えばタイプAかどうかを調べて出力する処理は

if(10000 * W / (H * H) < 20)cout<<'A'<<endl;

のようになりますが、式変形をして

if(10000 * W < 20 * H * H)cout<<'A'<<endl;

のようにすると整数値の比較で判定ができ、誤差等の心配がいらなくなります。

解答例(C++)

#include <bits/stdc++.h>
using namespace std;

int main() {
    
	int H,W;
	cin>>H>>W;
	
	if(10000 * W < 20 * H * H)cout<<'A'<<endl;
	else if(10000 * W < 25 * H * H)cout<<'B'<<endl;
	else cout<<'C'<<endl;
	
	return 0;
}

posted:
last update: