回答編集履歴

5

検証

2017/02/05 12:36

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -32,4 +32,96 @@
32
32
 
33
33
 
34
34
 
35
+ ---
36
+
37
+ 追記
38
+
35
39
  三番目のものについて修正しました。
40
+
41
+ また、検証しました。
42
+
43
+ 以下のコードにて
44
+
45
+ ```
46
+
47
+ <!DOCTYPE html>
48
+
49
+ <html>
50
+
51
+ <head>
52
+
53
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
54
+
55
+ <script>
56
+
57
+ $(function(){
58
+
59
+ var data = {};
60
+
61
+ for (var i = 0; i < 1000; i++) {
62
+
63
+ var v = Math.round((Math.floor(Math.random() * 6) - 2.5) * 1.1);
64
+
65
+ if (!(v in data)) {
66
+
67
+ data[v] = 0;
68
+
69
+ }
70
+
71
+ data[v]++;
72
+
73
+ }
74
+
75
+ for (var key in data) {
76
+
77
+ $('table').append(`<tr><th>${key}</th><td>${data[key]}</td></tr>`);
78
+
79
+ }
80
+
81
+ });
82
+
83
+ </script>
84
+
85
+ </head>
86
+
87
+ <body>
88
+
89
+ <table>
90
+
91
+ <tr>
92
+
93
+ <th>数値</th><td>出現回数</td>
94
+
95
+ </tr>
96
+
97
+ </table>
98
+
99
+ </body>
100
+
101
+ </html>
102
+
103
+ ```
104
+
105
+ 次の結果となりました。
106
+
107
+
108
+
109
+
110
+
111
+ 数値 出現回数
112
+
113
+ 1 139
114
+
115
+ 2 179
116
+
117
+ 3 167
118
+
119
+ -1 177
120
+
121
+ -2 162
122
+
123
+ -3 176
124
+
125
+
126
+
127
+ 0 は発生せず、仕様を満たしているようです。

4

修正

2017/02/05 12:36

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -26,6 +26,10 @@
26
26
 
27
27
  ```
28
28
 
29
- var v = Math.round(Math.floor(Math.random() * 6) - 2.5);
29
+ var v = Math.round((Math.floor(Math.random() * 6) - 2.5) * 1.1);
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ 三番目のものについて修正しました。

3

追記

2017/02/04 11:16

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- もう一つ
13
+ もう一つ
14
14
 
15
15
  ```
16
16
 
@@ -19,3 +19,13 @@
19
19
  var v = a - 3 + Math.floor(a / 3);
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ もう一つ。
26
+
27
+ ```
28
+
29
+ var v = Math.round(Math.floor(Math.random() * 6) - 2.5);
30
+
31
+ ```

2

追記

2017/02/03 02:35

投稿

Zuishin
Zuishin

スコア28660

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

1

修正

2017/02/03 02:05

投稿

Zuishin
Zuishin

スコア28660

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