【C++】円周率を定義

未分類

C++で、円周率を定義する方法の備忘録です.
(人力で入力しても良いのですが…)

問題
abc259 B – Counterclockwise Rotation

やりたいこと
円周率\( \pi (3.14159265…) \)を定義する.

結論
アークコサインを利用する.

#include<bits/stdc++.h>
using namespace std;

int main() {
    const double a = 3.14159265;
    // 円周率を定義する時に上記のように人力で定義しても良いが,
    // アークコサインを利用して下記のように定義できる.
    const double pi = acos(-1);

    printf("%.10f", pi); // 出力: 3.1415926536
    return 0;
}

(アークコサインについての補足)
$$ \cos{\pi} = -1 $$
上記の式は見慣れている方は多いと思います。
(ラジアンを与えることで\( -1 \) 以上 \( 1 \) 以下の値を得ることができるのが \( \cos \) です.)
この逆関数がアークコサインです.
( \( -1 \) 以上 \( 1 \) 以下の値を与えることで、ラジアンを得ることができる.)
\( -1 \) を与えることで \( \pi \) が得られます.
式にすると下記のようです.
$$ \arccos(-1) = \pi $$

コメント