第37講 円周率を計算する△
第3話 入力を桁数に変更する
コード例
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) {
int k;
long i,j=1;
double pi;
double h=-1;
pi=0;
k=long::Parse(textBox1->Text);
if(k>1){
for(i=0;i<k-1;i++){
j*=10;
}
}
for(i=0;i<j;i++){
h*=-1;
pi+=h*1/(double)(2*i+1);
}
textBox2->Text=(4*pi).ToString();
}
};
}
実行例
近似値の精度は高いですね。
しかし、計算速度が遅いという問題があります。
近似値の精度と計算速度を上げるために、他の方法を試してみたいと思います。
数学者オイラーの発見した公式
πの2乗/6=1/1*1+1/2*2+1/3*3+1/4*4+・・・
がありますのでこれで試してみましょう。
VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual
Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)