C++を始めてみる(3)
さて、少し複雑にして円に内接する正多角形の辺の数から円周率の近似値を求めていくプログラムを作成しました。コードは以下の通り。内容的には数学的な側面もありますので苦手な方は読み飛ばしていただいて構いません。
#include <iostream>
#include <cmath>
using namespace std;
double calc(int n) {
double gen; //弦
double pai; //円周率の近似値
double radian;
const double PI = 3.141592653589793;
radian = (360 / n) * PI / 180;
gen = 2 - 2 * cos(radian);
gen = sqrt(gen);
pai = n * gen / 2;
return pai;
}
int main()
{
int n; //正n角形
double kakudo; //中心角
cout << "円に内接する正多角形の辺の数を入力ください:";
cin >> n;
kakudo = 360.0 / n;
calc(n);
cout << "\n中心角:" << kakudo << "°";
double l= calc(n);
cout << "\n正" << n << "角形のときの周りの長さ:" << l;
}
解説は次回にまわします。

