teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

重要な追記

2017/02/04 00:55

投稿

退会済みユーザー
answer CHANGED
@@ -10,4 +10,14 @@
10
10
  その前提で考えると、「-3, -2, -1, 1, 2, 3」を連続した数値に直すか、連続した順番で捉えるかの2択になるかと。
11
11
 
12
12
  前者は多段な処理を行わなければならないのであまりシンプルな発想ではないと思います。
13
- シンプルさで言えば、後者の配列として捉える方法が適解かと。
13
+ シンプルさで言えば、後者の配列として捉える方法が適解かと。
14
+
15
+ **重要な追記**
16
+ 途中から、識者が指摘を諦めてますがw
17
+
18
+ Math.random() の取る範囲が、0以上1未満なので、一様性を確保しようとするとMath.floor()と組み合わせるのがセオリーなんですね。今回は勉強になりました。
19
+
20
+ Math.ceil() 使っているヒトォー、0 問題クリアできていませんよぉー。
21
+ 0を有効数字として扱うと、一様ではなくなるので組み合わせとしては最悪ですね。
22
+
23
+ Math.round() はコツがいりますね。発生した乱数を0.5ずらしてやらなければ一様にならない。

2

補足/修正

2017/02/04 00:55

投稿

退会済みユーザー
answer CHANGED
@@ -1,4 +1,13 @@
1
1
  「-3, -2, -1, 1, 2, 3」を配列として捉えて、ランダムに選ぶのは、ワリとやる手だと思います。
2
2
  シンプルだと思いますが。
3
3
 
4
- 数学的な方法って、どんなものをイメージしていますか?
4
+ 数学的な方法って、どんなものをイメージしていますか?
5
+
6
+ **補足**
7
+ シンプルな方法ということで、乱数の元は組み込まれた関数を使用するものとします。
8
+ すると乱数は連続する数値の範囲を指定することになります。
9
+
10
+ その前提で考えると、「-3, -2, -1, 1, 2, 3」を連続した数値に直すか、連続した順番で捉えるかの2択になるかと。
11
+
12
+ 前者は多段な処理を行わなければならないのであまりシンプルな発想ではないと思います。
13
+ シンプルさで言えば、後者の配列として捉える方法が適解かと。

1

修正

2017/02/03 00:09

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,4 @@
1
- 「-3, -2, -1, 1, 2, 3」を配列として捉えて、ランダムに選んでみて
1
+ 「-3, -2, -1, 1, 2, 3」を配列として捉えて、ランダムに選ぶの、ワリとやる手だと思います。
2
- ワリとやる手だと思います。
2
+ シンプルだと思います
3
+
4
+ 数学的な方法って、どんなものをイメージしていますか?