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

回答編集履歴

5

検証

2017/02/05 12:36

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -15,4 +15,50 @@
15
15
  var v = Math.round((Math.floor(Math.random() * 6) - 2.5) * 1.1);
16
16
  ```
17
17
 
18
+ ---
19
+ 追記
18
- 三番目のものについて修正しました。
20
+ 三番目のものについて修正しました。
21
+ また、検証しました。
22
+ 以下のコードにて
23
+ ```
24
+ <!DOCTYPE html>
25
+ <html>
26
+ <head>
27
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
28
+ <script>
29
+ $(function(){
30
+ var data = {};
31
+ for (var i = 0; i < 1000; i++) {
32
+ var v = Math.round((Math.floor(Math.random() * 6) - 2.5) * 1.1);
33
+ if (!(v in data)) {
34
+ data[v] = 0;
35
+ }
36
+ data[v]++;
37
+ }
38
+ for (var key in data) {
39
+ $('table').append(`<tr><th>${key}</th><td>${data[key]}</td></tr>`);
40
+ }
41
+ });
42
+ </script>
43
+ </head>
44
+ <body>
45
+ <table>
46
+ <tr>
47
+ <th>数値</th><td>出現回数</td>
48
+ </tr>
49
+ </table>
50
+ </body>
51
+ </html>
52
+ ```
53
+ 次の結果となりました。
54
+
55
+
56
+ 数値 出現回数
57
+ 1 139
58
+ 2 179
59
+ 3 167
60
+ -1 177
61
+ -2 162
62
+ -3 176
63
+
64
+ 0 は発生せず、仕様を満たしているようです。

4

修正

2017/02/05 12:36

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -12,5 +12,7 @@
12
12
 
13
13
  もう一つ。
14
14
  ```
15
- var v = Math.round(Math.floor(Math.random() * 6) - 2.5);
15
+ var v = Math.round((Math.floor(Math.random() * 6) - 2.5) * 1.1);
16
- ```
16
+ ```
17
+
18
+ 三番目のものについて修正しました。

3

追記

2017/02/04 11:16

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -4,8 +4,13 @@
4
4
 
5
5
  random の仕様がわかっていませんでした。例題を見て 0 は出ないと思い込みました。書き直しました。
6
6
 
7
- もう一つ
7
+ もう一つ
8
8
  ```
9
9
  var a = Math.floor(Math.random() * 6);
10
10
  var v = a - 3 + Math.floor(a / 3);
11
+ ```
12
+
13
+ もう一つ。
14
+ ```
15
+ var v = Math.round(Math.floor(Math.random() * 6) - 2.5);
11
16
  ```

2

追記

2017/02/03 02:35

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -3,3 +3,9 @@
3
3
  ```
4
4
 
5
5
  random の仕様がわかっていませんでした。例題を見て 0 は出ないと思い込みました。書き直しました。
6
+
7
+ もう一つ
8
+ ```
9
+ var a = Math.floor(Math.random() * 6);
10
+ var v = a - 3 + Math.floor(a / 3);
11
+ ```

1

修正

2017/02/03 02:05

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,1 +1,5 @@
1
+ ```
1
- var v = Math.ceil(Math.random() * 3) * (Math.ceil(Math.random() * 2) * 2 - 3);
2
+ var v = (Math.floor(Math.random() * 3) + 1) * ((Math.floor(Math.random() * 2) + 1) * 2 - 3);
3
+ ```
4
+
5
+ random の仕様がわかっていませんでした。例題を見て 0 は出ないと思い込みました。書き直しました。