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

回答編集履歴

3

削除

2015/11/08 18:44

投稿

daive
daive

スコア2030

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
- ⇒引当済みは、0か-1とる。など
1
+ 質問を取り違えた様子でので、削除
13
- 3.引き当て済みの場所であれば、再度、試行する。
14
- または、前後を該当として、引当済みとする。
15
- この場合に、前後が引当済みであれば、再試行します。
16
- 4.引き当て済みの場所1回毎に、行ってもよいが、数値の量が多いと、遅くなるので、
17
- 3.での再試行が連続で、数回になったら、ガーベージをして
18
- (引き当て済み以外を前詰めするなど)、
19
- ガーベージ後は、当然、引き当て済みでない部分を対象として、引き当てを行います。
20
- 5.全ての割り当てが終了するまで、試行します。

2

誤字訂正

2015/11/08 18:44

投稿

daive
daive

スコア2030

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  コードは見ていません。極簡単な、考え方だけ、
2
2
  前提:コンピュータで実装されている乱数は、速度の都合もあり、正規乱数ではありません。
3
3
  乱数であれば、同じ数が来るのも、確率としては、ありです。
4
- ですので、一意の重ならない数を得る場合は、直接は乱数使いません。
4
+ ですので、一意の重ならない数を得る場合は、直接は乱数使いません。
5
5
  簡単な、くじ引き程度:1~1000個の場合は、トランプのシャッフルの考えを応用します。
6
6
  実際のトランプ、ゲームソフトのトランプのシャッフルでは、ゲームにならなくなるので、
7
7
  完全に混ぜたりはしません。

1

誤字訂正

2015/11/08 18:40

投稿

daive
daive

スコア2030

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  コードは見ていません。極簡単な、考え方だけ、
2
2
  前提:コンピュータで実装されている乱数は、速度の都合もあり、正規乱数ではありません。
3
3
  乱数であれば、同じ数が来るのも、確率としては、ありです。
4
- ですので、一意の重ならない数を得る場合は、直接乱数は使いません。
4
+ ですので、一意の重ならない数を得る場合は、直接は、乱数は使いません。
5
5
  簡単な、くじ引き程度:1~1000個の場合は、トランプのシャッフルの考えを応用します。
6
6
  実際のトランプ、ゲームソフトのトランプのシャッフルでは、ゲームにならなくなるので、
7
7
  完全に混ぜたりはしません。