このTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。問題についておおまかに説明する。
地理学では、緯度・経度など地理的な計測に用いられるもののように、角度は60を基数として計測されることがある。基本単位は度である。1度が60分、1分が60秒として扱われる。度、分、秒が整数値で測定されたものが引数として与えられたとき、それを弧度法(=ラジアン)の値にして返せ。なお、n度というのはn*PI(円周率)/180ラジアンに一致する。
私の解答はこちら。
public class DegreesToRadians { public double convertToRadians(int degrees, int minutes, int seconds) { double n = degrees + minutes/60.0 + seconds/3600.0; return n*Math.PI/180; } }
得点は246.99/250、中央値は約237点。与えられた引数から度を実数で計算して、式に当てはめるだけなので、特に悩む箇所はなし。
0 件のコメント:
コメントを投稿