どん底から這い上がるまでの記録

どん底から這い上がりたいけど這い上がれない人がいろいろ書くブログ(主にプログラミング)

0016: Treasure Hunt

スポンサーリンク


宝探し

問題ページ

解き方

mathモジュールのsinとcosを使って求める。 sinとcosにはラジアンを渡す必要があるので、はじめにラジアンを求める。 ラジアンの求め方は角度x(π/180)。最初真っ直ぐ向いているので角度は90度。この角度と与えられた距離、求めたラジアンを使って x方向とy方向をそれぞれ求めていく。

コード(python)

import math
x = y = 0
ang = 90
while True:
    d, a = map(int, input().split(','))
    if d == a == 0:
        break
    rad = ang * math.pi / 180
    x += d * math.cos(rad)
    y += d * math.sin(rad)
    ang -= a
print(int(x))
print(int(y))