疑似乱数数列を使って円周率を求める

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
山本

疑似乱数数列を使って円周率を求める

#1

投稿記事 by 山本 » 15年前

正方形の面積を1、扇形の面積をπ/4とし、0以上1未満の疑似乱数数列(実数)のペアを1000組作ることで正方形と扇形の面積比を近似的に求めそこから計算される円周率を表示せよ。
という問題が出されがんばってみたのですが全く分かりません。。。
main関数とは違う部分で円周率を求める部分を作る。double変数、for文、if文を使う。return文の返り値に円周率の近似値を設定する。rand関数を含む割り算を使う。ことは確かなのですが…
どなたか知恵をお借りできませんか?

ドラ

Re:疑似乱数数列を使って円周率を求める

#2

投稿記事 by ドラ » 15年前

「0以上1未満の疑似乱数数列(実数)のペア」というのは、1辺の長さが1の正方形
の中にランダムに打たれた点の事です。
その点の中で扇型の中に入った点が何個あるかカウントできれば、
点の総数と扇型の中に入った点の個数の比率で扇型の体積の近似値は求まります。
これを4倍すれば円周率の近似値も求まりますね。
点が扇型の中に入っているかどうかは円の方程式でも使えばいいでしょう。

後は0以上1未満の実数の疑似乱数の求め方が分かればできるはずです。
まあ、rand()/(RAND_MAX+1.0) ってだけだと思いますが。

box

Re:疑似乱数数列を使って円周率を求める

#3

投稿記事 by box » 15年前

> という問題が出されがんばってみたのですが全く分かりません。。。

どこまでがんばったのか、途中経過でよいですからソースコードを見せてください。

academic

Re:疑似乱数数列を使って円周率を求める

#4

投稿記事 by academic » 15年前

「モンテカルロ法 c言語」でググると幸せになれますよ。

dic

Re:疑似乱数数列を使って円周率を求める

#5

投稿記事 by dic » 15年前

答えが書いてる本もってるwww
ヒントはランダムに点をうつことです


閉鎖

“C言語何でも質問掲示板” へ戻る