cos 関数や sin 関数の引数の単位は「度」ではなく「ラジアン」です。入力が「度」で与えられたら、「度」から「ラジアン」に変換する必要があります。
math モジュールに用意されている radians 関数を使うことで、「度」から「ラジアン」に変換することができます。
math.radians(度)
また、math モジュールに用意されている degree 関数を使うことで、「ラジアン」から「度」に変換することができます。
math.degree(ラジアン)
次のプログラムでは、与えられた角度の正弦、余弦を求めています。
import math deg = int(input()) rad = math.radians(deg) print("{0} degree = {1:.5f} radian".format(deg, rad)) print("cos({0}) = {1:.5f}".format(deg, math.cos(rad))) print("sin({0}) = {1:.5f}".format(deg, math.sin(rad))) # 標準入力が 180 の場合 # 180 degree = 3.14159 radian # cos(180) = -1.00000 # sin(180) = 0.00000 # 標準入力が 60 の場合 # 60 degree = 1.04720 radian # cos(60) = 0.50000 # sin(60) = 0.86603
オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。 |