解決いたしました。
ありがとうございます。————————————————————-/—-
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
箇条書きになっているものをコードに落とし込むだけですね。
.N = 100
だとあまり正確な値は出ませんが、回数を増やすと円周率に近づきます。
タグにJava
があったのでJava
でやりました。
java
1import java.util.*; 2 3public class Main { 4 public static void main(String[] args) { 5 6 int count = 0; 7 int n = 100; 8 for(int i = 0; i < n; i++){ 9 double x = Math.random(); 10 double y = Math.random(); 11 if(distance(x,y) <= 1.00000000){ 12 count++; 13 } 14 } 15 16 double answer = 4.0 * count / n; 17 18 System.out.println(answer); 19 } 20 21 public static double distance(double x, double y) 22 { 23 return Math.sqrt(x * x + y * y); 24 } 25} 26
投稿2018/10/15 07:58
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/15 08:03
2018/10/15 08:07
退会済みユーザー
2018/10/15 08:16
2018/10/15 08:19
退会済みユーザー
2018/10/15 08:34
2018/10/15 08:35
2018/10/15 09:07
0
ベストアンサー
1.mを0にする
JavaScript
1var m = 0;
2.1x1の範囲に任意の点(x, y)を打つ
JavaScript
1var x = Math.random(); 2var y = Math.random();
3.その点の原点からの距離(SQRT(x^2+y^2))が1以下ならmに1加える
JavaScript
1var distance = Math.sqrt(x * x + y * y); 2if(distance <= 1) { 3 m = m + 1; 4}
4.2~3をN回繰り返す
JavaScript
1for(var i = 0; i < N; i++) { 2 2.と3.の処理 3}
5.1/4円の面積はnπ^2 / 4で、上記の場合r = 1なのでπは4m / Nで求められる
JavaScript
14 * m / N
っていう感じです。あとは頑張ってください!(ほぼ答えのような気もするけど・・・)
投稿2018/10/15 07:45
編集2018/10/15 07:50総合スコア5545
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/15 08:04
2018/10/15 08:31
2018/10/15 08:40
0
えっと、何がわからないのでしょうか。
実行する内容は「1~5」に箇条書きとなっていますので、あとはこれをコードに起こすだけだと思います。
投稿2018/10/15 07:43
総合スコア145183
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。