J как сделать форму случайных чисел - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь создать форму случайных чисел (0 или 1) в этом случае, когда я пытаюсь создать поле тральщика.

Я пытался использовать "?" символ для случайного, чтобы получить его, но обычно он превращается в неслучайный, повторяющийся шаблон, который для моих целей является неудовлетворительным:

5 5 $ ? 0 1

0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0

Из-за этого я пробовал другие способы, такие как извлечение чисел из индекса (это называется броском). Но это возвращает случайные десятичные дроби. Другие небольшие изменения в коде также привели к этим случайным десятичным знакам.

1 Ответ

0 голосов
/ 02 мая 2018

Я сам делал это несколько раз. Главное, когда вы применяете ?. Вы получите желаемый результат, если примените его после создания матрицы.

Мы знаем, что ?2 возвращает значение 1 или 0, сгенерированное случайным образом.

   ? 2
0
   ? 2
1
   ? 2
0

Итак, если мы создадим матрицу 5X5 2 s

   5 5 $ 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2

затем мы применяем ? к каждому 2 в матрице, которую вы получаете случайным 1 или 0 для каждой позиции.

   ? 5 5 $ 2 NB. first 5 X 5 matrix of random 1's and 0's
0 0 0 1 1
1 1 1 0 1
0 0 0 0 1
1 1 1 1 0
1 1 1 0 0

   ? 5 5 $ 2  NB. different 5 X 5 matrix of random 1's and 0's
0 0 0 1 1
1 0 1 1 0
0 0 0 1 1
1 0 0 1 0
1 1 1 0 0
...