回答編集履歴
3
削除
answer
CHANGED
@@ -1,20 +1,1 @@
|
|
1
|
-
コードは見ていません。極簡単な、考え方だけ、
|
2
|
-
前提:コンピュータで実装されている乱数は、速度の都合もあり、正規乱数ではありません。
|
3
|
-
乱数であれば、同じ数が来るのも、確率としては、ありです。
|
4
|
-
ですので、一意の重ならない数を得る場合は、直接は乱数を使いません。
|
5
|
-
簡単な、くじ引き程度:1~1000個の場合は、トランプのシャッフルの考えを応用します。
|
6
|
-
実際のトランプ、ゲームソフトのトランプのシャッフルでは、ゲームにならなくなるので、
|
7
|
-
完全に混ぜたりはしません。
|
8
|
-
1.10~1000個程度の重ならない、数を用意します。
|
9
|
-
10個程度でテストしてから、多い方の確認が良いかも。
|
10
|
-
⇒n個配列を用意して、配列には1以上の重ならない値をいれる。(連番でも可)
|
11
|
-
2.1.で用意した数の場所を、乱数で引く、引き当て済みの値は、引き当て済みとする。
|
12
|
-
|
1
|
+
質問を取り違えた様子ですので、削除
|
13
|
-
3.引き当て済みの場所であれば、再度、試行する。
|
14
|
-
または、前後を該当として、引当済みとする。
|
15
|
-
この場合に、前後が引当済みであれば、再試行します。
|
16
|
-
4.引き当て済みの場所1回毎に、行ってもよいが、数値の量が多いと、遅くなるので、
|
17
|
-
3.での再試行が連続で、数回になったら、ガーベージをして
|
18
|
-
(引き当て済み以外を前詰めするなど)、
|
19
|
-
ガーベージ後は、当然、引き当て済みでない部分を対象として、引き当てを行います。
|
20
|
-
5.全ての割り当てが終了するまで、試行します。
|
2
誤字訂正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
コードは見ていません。極簡単な、考え方だけ、
|
2
2
|
前提:コンピュータで実装されている乱数は、速度の都合もあり、正規乱数ではありません。
|
3
3
|
乱数であれば、同じ数が来るのも、確率としては、ありです。
|
4
|
-
ですので、一意の重ならない数を得る場合は、直接は
|
4
|
+
ですので、一意の重ならない数を得る場合は、直接は乱数を使いません。
|
5
5
|
簡単な、くじ引き程度:1~1000個の場合は、トランプのシャッフルの考えを応用します。
|
6
6
|
実際のトランプ、ゲームソフトのトランプのシャッフルでは、ゲームにならなくなるので、
|
7
7
|
完全に混ぜたりはしません。
|
1
誤字訂正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
コードは見ていません。極簡単な、考え方だけ、
|
2
2
|
前提:コンピュータで実装されている乱数は、速度の都合もあり、正規乱数ではありません。
|
3
3
|
乱数であれば、同じ数が来るのも、確率としては、ありです。
|
4
|
-
ですので、一意の重ならない数を得る場合は、直接
|
4
|
+
ですので、一意の重ならない数を得る場合は、直接は、乱数は使いません。
|
5
5
|
簡単な、くじ引き程度:1~1000個の場合は、トランプのシャッフルの考えを応用します。
|
6
6
|
実際のトランプ、ゲームソフトのトランプのシャッフルでは、ゲームにならなくなるので、
|
7
7
|
完全に混ぜたりはしません。
|