三角関数

cos 関数や sin 関数の引数の単位は「度」ではなくラジアンです。入力が度で与えられたら、2πラジアン = 360度 より、度からラジアンに変換する必要があります。

cos(π) = -1 すなわち π = arccos(-1) であることから、逆余弦 acos 関数に -1 を与えることで PI(円周率)を求めることができます。

次のプログラムは、三角関数を用いて与えられた角度の正弦、余弦を求めます。

Scanner sc = new Scanner(System.in);
int deg;
double rad;
double PI = Math.acos(-1);  // PI = 3.141593...
deg = sc.nextInt();
rad = deg * PI / 180;
System.out.printf("%d degree = %f radian\n", deg, rad);
System.out.printf("cos(%d) = %f, sin(%d) = %f\n", deg, Math.cos(rad), deg, Math.sin(rad));

以下は、入力の例とその値に対する出力です。

入力 出力
180 180 degree = 3.141593 radian
cos(180) = -1.000000, sin(180) = 0.000000
60 60 degree = 1.047198 radian
cos(60) = -0.500000, sin(60) = 0.866025

Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。