ここでは乱数を使って(モンテカルロ法を使って)、円周率を求めてみましょう。
ここではrand関数を使って乱数を生成します。rand関数を使ったことがない方は、まずはこちらをご覧ください。
サンプルプログラム
それではサンプルプログラムをみてみましょう。
x = ( double ) rand ()/RAND_MAX; |
y = ( double ) rand ()/RAND_MAX; |
pi = ( double )count / max * 4; |
実行結果
いくつかの実行結果です。
3.144000
3.147520
3.14までは正確に計算できているようです。試行回数(変数「max」)を増やしたり、より周期の長い乱数を使うとより精度が高くなるでしょう。
その他のサンプルプログラムも合わせてご覧ください。
C言語の基本構文についてはこちらをご覧ください。
サンプルプログラム の人気記事
- サンプルプログラム集
- 10進数を2進数に変換する
- 乱数 - 1〜10のランダムな数値を出力する
- 2進数を10進数に変換する
- フィボナッチ数の計算する
- 配列に格納した数値を昇順ソートする
- 入力した自然数を逆順に並べ替える
- 入力した2つの自然数の最小公倍数を求める
- 入力した長さの単位をセンチメートル(cm)からインチ(inch)へ換算する
- 入力したアルファベットを小文字から大文字に変換する