AOJ 0159 - The Best Body

BMIから標準BMI22を引いた絶対値が標準との差,それを使うだけの問題.

#include <iostream>
#include <cstdio>
#include <math.h>

const int INF = 1000000, SBMI = 22;

int main(){
	int n;
	while(std::cin >> n, n){
		double bbmi = INF;
		int bn = 0;
		while(n--){
			//Input
			int i;
			double w, h, bmi;
			std::cin >> i >> h >> w;

			//Processing
			bmi = w / ((h / 100) * (h / 100));
			//標準との差でベストBMIを決める.
			if(fabs(bbmi - SBMI) > fabs(bmi - SBMI))bbmi = bmi, bn = i;
		}
		printf("%d\n", bn);
	}
}