2012年3月11日日曜日

TopCoder SRM341 Div2 250Pts

この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 件のコメント:

コメントを投稿

フォロワー

ブログ アーカイブ

ページビューの合計