回答編集履歴

3

削除

2015/11/08 18:44

投稿

daive
daive

スコア2030

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

2

誤字訂正

2015/11/08 18:44

投稿

daive
daive

スコア2030

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  乱数であれば、同じ数が来るのも、確率としては、ありです。
6
6
 
7
- ですので、一意の重ならない数を得る場合は、直接は乱数使いません。
7
+ ですので、一意の重ならない数を得る場合は、直接は乱数使いません。
8
8
 
9
9
  簡単な、くじ引き程度:1~1000個の場合は、トランプのシャッフルの考えを応用します。
10
10
 

1

誤字訂正

2015/11/08 18:40

投稿

daive
daive

スコア2030

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  乱数であれば、同じ数が来るのも、確率としては、ありです。
6
6
 
7
- ですので、一意の重ならない数を得る場合は、直接乱数は使いません。
7
+ ですので、一意の重ならない数を得る場合は、直接は、乱数は使いません。
8
8
 
9
9
  簡単な、くじ引き程度:1~1000個の場合は、トランプのシャッフルの考えを応用します。
10
10