AOJ 0159
・問題リンク The Best Body
・コメント
最も理想の体型の人をBMIを基に算出するプログラムです。
どこかにもあったBMIの問題を一度解いたことがあったので意外にサクサクって感じでした。
・ソース
import java.util.*; public class P0159 { // BMI判定 static double BmiJudge(double b) { if (b > 22) { b -= 22; } else { b = 22 - b; } return b; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int answerNumber = 0; int number; double height, weight; while (true) { int n = sc.nextInt(); if (n == 0) break; // 既存BMI double judgeBmi = 10000; // データセット毎の実行 for (int i = 0; i < n; i++) { // スペック入力 number = sc.nextInt(); height = sc.nextDouble(); weight = sc.nextDouble(); height /= 100; // BMI計算 double bmi = weight / (height * height); // BMI判定 bmi = BmiJudge(bmi); // 既存BMIとの比較判定 if (judgeBmi > bmi) { judgeBmi = bmi; answerNumber = number; } else if ((judgeBmi == bmi) && (answerNumber > number)) { answerNumber = number; } } // output System.out.println(answerNumber); } } }