回答編集履歴

3

間違いがあったので修正しました。

2022/03/19 01:42

投稿

One_of_Arthur
One_of_Arthur

スコア80

test CHANGED
@@ -1,7 +1,7 @@
1
1
  そのサンプルコードだと、やりたい事に対して、間違っているコードだと思いますけれど・・・
2
2
  - 1以上1001未満を1000で割ると、1以上1.001未満という乱数が発生しますので、整数化した場合などには、発生確率に僅かですが偏りができてしまいます。
3
3
  - 0〜999未満の乱数に1を足すと、1〜1000未満という乱数になり、これを1000で割ると0.001〜1.0未満という結果になりますので、0を超える0.001未満の乱数が発生しなくなります。
4
- - 0〜1001未満を1000で割ると、1.0を超える1.001未満の乱数が発生してしまいます。
4
+ - 1〜1001未満を1000で割ると、1.0を超える1.001未満の乱数が発生してしまいます。
5
5
  この3つとも、乱数としては正常ではないと考えられます。
6
6
 
7
7
  さて、0を超える1.0以下の乱数ですが、`1 - Math.random()`でできると思います。

2

余計な文字が入っていたのでそれを削除しました。

2022/03/19 01:40

投稿

One_of_Arthur
One_of_Arthur

スコア80

test CHANGED
@@ -1,6 +1,6 @@
1
1
  そのサンプルコードだと、やりたい事に対して、間違っているコードだと思いますけれど・・・
2
2
  - 1以上1001未満を1000で割ると、1以上1.001未満という乱数が発生しますので、整数化した場合などには、発生確率に僅かですが偏りができてしまいます。
3
- - 0〜-999未満の乱数に1を足すと、1〜1000未満という乱数になり、これを1000で割ると0.001〜1.0未満という結果になりますので、0を超える0.001未満の乱数が発生しなくなります。
3
+ - 0〜999未満の乱数に1を足すと、1〜1000未満という乱数になり、これを1000で割ると0.001〜1.0未満という結果になりますので、0を超える0.001未満の乱数が発生しなくなります。
4
4
  - 0〜1001未満を1000で割ると、1.0を超える1.001未満の乱数が発生してしまいます。
5
5
  この3つとも、乱数としては正常ではないと考えられます。
6
6
 

1

余計な文字が入っていたのでそれを削除しました。

2022/03/19 01:38

投稿

One_of_Arthur
One_of_Arthur

スコア80

test CHANGED
@@ -1,7 +1,7 @@
1
1
  そのサンプルコードだと、やりたい事に対して、間違っているコードだと思いますけれど・・・
2
- - リスト1以上1001未満を1000で割ると、1以上1.001未満という乱数が発生しますので、整数化した場合などには、発生確率に僅かですが偏りができてしまいます。
2
+ - 1以上1001未満を1000で割ると、1以上1.001未満という乱数が発生しますので、整数化した場合などには、発生確率に僅かですが偏りができてしまいます。
3
- - リスト0〜-999未満の乱数に1を足すと、1〜1000未満という乱数になり、これを1000で割ると0.001〜1.0未満という結果になりますので、0を超える0.001未満の乱数が発生しなくなります。
3
+ - 0〜-999未満の乱数に1を足すと、1〜1000未満という乱数になり、これを1000で割ると0.001〜1.0未満という結果になりますので、0を超える0.001未満の乱数が発生しなくなります。
4
- - リスト0〜1001未満を1000で割ると、1.0を超える1.001未満の乱数が発生してしまいます。
4
+ - 0〜1001未満を1000で割ると、1.0を超える1.001未満の乱数が発生してしまいます。
5
5
  この3つとも、乱数としては正常ではないと考えられます。
6
6
 
7
7
  さて、0を超える1.0以下の乱数ですが、`1 - Math.random()`でできると思います。