アプリ版:「スタンプのみでお礼する」機能のリリースについて

大学一年でプログラミングを勉強しているものです。来週の情報の授業で以下の問題のプログラムを勉強するのですが、予習する上で、予めどのようなプログラム表記になるのか気になったので、質問させて頂きました。何方か分かる方がいれば、ご教授お願い致します。

原点を中心とする辺長 2 の正方形 ABCD と半径 1 の内接円があります。正方形 ABCD の中にランダムに n 点ばらまいて,円内に落ちた点数 n1 を数え,円周率の値と誤差を計算する Hit-or-miss Monte Carlo 法のプログラムを作りなさい。

A 回答 (1件)

日本語で書くと、


0.必要な変数の定義および初期化
1.-1~1の範囲の乱数を1つ発生させて点P1のX座標とする。
2.-1~1の範囲の乱数を1つ発生させて点P1のY座標とする。
(上記2つは順不同)
3.点P1と原点(0,0)との距離を計算する。
4.(3)の値が1(=内接円の半径)以下(=円内)であればカウント定数を1つ加える。
5.(1)から(5)を必要数(N)回繰り返す。
6.(円内の点数/N)×4と円周率の値を比較して誤差を計算する。
※(6)を(5)に組み込んでNの増加に伴う誤差の変化を見ても面白いかも?
VBAではありませんが、アルゴリズムは同じなので参考にしてください。
RUSTで円周率をモンテカルロ法で求めた
https://qiita.com/tnagai-github/items/bed481ed8a …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!