• ベストアンサー

Buffonの針

C++でBuffonの針についてのプログラムを書けと言われました。 始めに私が考えたプログラムは却下。 πを求めるプログラムなのに、πを使ってしまった私が愚かなのですが…(-_-;) しかし、sinなどは使ってほしいようで、πを使わずにどう作っていいのか分かりません。 C++自体が初心者よりは少し出来るかなぐらい、数学も長年遠ざかっていたので自分の考えを却下されてしまうと次の考え…というように柔軟にいきません。 Buffonの針についてのC++プログラムを教えていただけるととてもありがたいです! よろしくお願い致しますm(._.)m

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

ちょっと思いついたのですが円周率を使わずに直接sinの値を求めます 2個の乱数で座標を求めます その値からsin(θ)の値を直接求めます double rand_sin(void) { double px, py; px = (double)rand() / RAND_MAX; py = (double)rand() / RAND_MAX; return py / sqrt(px * px + py * py); } 試しにこれでプログラムしてみましたが3.09にしかならないので間違ってるかもしれません

その他の回答 (2)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

乱数で角度の範囲を決めるのに円周率が必要ですよね( 0 <= rad < 2π) 他の方法でやるのでしょうか 思いつきません

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

プログラムまで書けというのはちとナニなので、 πを使わない式ということなら次のページにある 判定式を使えばいいのではないですか? sinは使ってますし。 Buffon's needle http://www.mist.i.u-tokyo.ac.jp/answertoquestion1.htm > 針が直線と交わるのは,X < 1/2 sin(Y) か > X > 1-1/2 sin(Y)のいずれかが成立する場合です. > したがって,針が直線と交わる確率は,

関連するQ&A

  • Buffon

    C++でBuffonの針についてのプログラムを書けと言われました。 始めに私が考えたプログラムは却下。 πを求めるプログラムなのに、πを使ってしまった私が愚かなのですが…(-_-;) しかし、sinなどは使ってほしいようで、πを使わずにどう作っていいのか分かりません。 C++自体が初心者よりは少し出来るかなぐらい、数学も長年遠ざかっていたので自分の考えを却下されてしまうと次の考え…というように柔軟にいきません。 Buffonの針についてのC++プログラムを教えていただけるととてもありがたいです! よろしくお願い致しますm(._.)m

  • 積分について教えてください。

    次の等式が理解できません。cos→sinはなんとかよいのですが・・・・・ ∫π/2~0(1-cos4θ)dθ=[θ-sin4θ/4] π/2~0 数学が苦手です。初心者用の解説をよろしくお願いいたします。                                                      

  • これは数学的に解ける問題ですか?

    次の問題は自分で勝手に考えた問題です.正規の問題ではありません. 「 f(θ) = sinθ + (sin3θ)/3 + (sin5θ)/5 + (sin7θ)/7 + ・・・ + (sin(2n-1)θ)/(2n-1) ただし,0<θ<π とします. nを無限大にしたときの f(θ) の極限値がAであることを示せ.」 このようにθの値が具体的に決まっていない場合,これは数学的に解ける問題なのでしょうか? それが無理だとしたら,θを仮に θ=π/2 と決めて解くこととします.この場合は数学的に解ける問題になるのでしょうか? 数学的に,と強調したのはエクセル等で解析的に解くのは避けるためです.また,Aは実際に解いて頂く問題ではないため敢えて書きませんでしたが,有界な値です. どなたか詳しい方がいらっしゃいましたらご回答よろしくお願い致します.

  • 数学の問題で質問です

    数学の問題で質問です 数学の問題なのですが 次の問題の解答を教えてほしいです。 問1 次のような△ABCにおいて、残りの辺の長さと角の大きさを求めよ (1)b=3 , c=√3 , B=60° (2)a=2√2 , b=√6 , c=√2 (3)a=√6 , b=3+√3 , C=45° (4)a=√6 , b=√3-1 , c=2 問2 次の各場合について、△ABCの残りの辺の長さと各の大きさを求めよ ただし、sin15°=(√6-√2)/4 , sin105°=(√6+√2)/4である (1)a=√2 , b=√6 , A=30° (2)b=1 , c=√2 , B-30° 問3 △ABCにおいて、sinA:sinB:sinC=5:8:7が成り立つとき、角Cの大きさを求めよ。 多くてすみません。 教えていただければありがたいです。 よろしくお願いします。

  • 3針縫った子供の顔面の傷痕は修復できるのでしょうか・・・

    自分の子ではないのですが、5歳の男の子が眉毛の上を3針縫いました。少し眉毛にも傷痕があります。その部分の眉毛はもう生えてこないのでしょうか・・・。また傷痕じたいも一生残ってしまうのでしょうか。もしそうだとしたら形成術などで元どおりに修復できるものなのでしょうか?! また形成術の費用などはどの位かかるものなのでしょうか・・・。その子は東京都在住ですが、おすすめの病院などはありますでしょうか・・・。どなたか良きアドバイスをお願い致します!

  • 関数はあるがC言語で書けないプログラム

    数学的に関数はあるがC言語では書けないプログラムを 探しています。 関数自体は偶数か奇数(0以上の整数)を返す関数で しかしプログラムでは書けないというものです。 よろしくお願いします。

  • ベクトル&三角関数

    どうしてもわからない問題があるので、質問します。数学の得意な方、どちらか片方でもいいので回答をいただけると幸いです。 1.三角形ABCの垂心Hから三角形ABCに垂線をたて、その上にPを取る。BC⊥APを示せ。(Hに関する位置ベクトルで考えよ。) 2.次のものを、大きい順に並べよ。 ただし、3.14<π(パイ)<3.15は既知とする。 sin1,sin2,sin3,sin4,sin5,sin6

  • 高校一年数学

    至急お願いします 高校数学I 分からない問題があるので解説と答えかたを教えてください Q1 sinθcosθtanθの値を求めよ (1)A:B:Cの三角形 A:B=√10 A:C=3 B:C=1 ∠Aθ (2)A:B:Cの三角形 A:B=13 B:C=12 C:A=5 ∠Aθ Q2 次の値を求めよ (1)cos30° tan30° (2)sin45° tan45° (3)sin60° cos60° Q3 次の値を三角比の表から求めよ (1)sin12° (2)cos48° (3)tan75°

  • 媒介変数表示された関数の導関数

    数学3Cを独学で学んでいますが、躓いています… この問題↓で、 次の関数について、dy/dxをθで表せ。(θは媒介変数とする) x=θ-sinθ、y=1-cosθ なぜ↓のようになるのかが、いまいち理解できません…。 dy/dθ=sinθ dx/dθ=1-cosθ ∴dy/dx=sinθ/1-cosθ それから、数3Cで独学に良いサイト等ありましたら、教えて頂けると嬉しいです。 よろしくお願いします。

  • 数学の問題

    いくつか数学の質問があります。 1.次のうち最大のもの (A)log2(1024) (B)11 (C)7ルート(2) (D)15-37/9 (E)0.9+10・sin89° 2.Mは1092と10101の最小公倍数。Mの各桁の数字の合計 3.40!を10進数で表記した際に、最後に0はいくつ並ぶか よろしくお願い致します。

専門家に質問してみよう