Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Генератор случайных чисел  (Прочитано 647 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2121
  • Lubuntu 18.04 LTS
    • Просмотр профиля
Генератор случайных чисел
« : 07 Июля 2020, 20:18:54 »
Есть такая команда:

shuf -i 1-20 -n 1
Генерирует случайное число в диапазоне от 1 до 20.

Мне нужно, чтобы новое сгенерированное число было НЕ РАВНО предыдущему.
Кто может показать пример, как лучше реализовать это?

Можно записывать значание во временный файл, что бы потом сравнивать и если новое значение РАВНО, запускать команду повторно пока будет НЕ РАВНО.
Может есть более грамотное решение?
« Последнее редактирование: 07 Июля 2020, 21:26:44 от ecc83 »

Оффлайн soarin

  • Старожил
  • *
  • Сообщений: 1850
  • ubuntu 20.04
    • Просмотр профиля

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2121
  • Lubuntu 18.04 LTS
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #2 : 07 Июля 2020, 21:03:54 »
ecc83, А смысл?

Вопрос не понятен.

https://stackoverflow.com/questions/9755538/how-do-i-create-a-list-of-random-numbers-without-duplicates

Благодарю. Перед тем как сюда написать, я плотно посидел в гугле. Эти ссылки я видел. python не подходит.

Dzhoser

  • Гость
Re: Генератор случайных чисел
« Ответ #3 : 07 Июля 2020, 21:15:10 »
Мне нужно, чтобы новое сгенерированное число было НЕ РАВНО педыдущему.
А какая у Вас выборка?

Пользователь добавил сообщение 07 Июля 2020, 21:17:11:
Это я к тому что рано или поздно числа будут повторяться.
« Последнее редактирование: 07 Июля 2020, 21:17:11 от Dzhoser »

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2121
  • Lubuntu 18.04 LTS
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #4 : 07 Июля 2020, 21:25:57 »
Это я к тому что рано или поздно числа будут повторяться.

Потом пусть себе повторяются. Мне важно что бы небыло два одинаковых значения подряд.
А выборка это числа от 1-го до 20-ти.

Dzhoser

  • Гость
Re: Генератор случайных чисел
« Ответ #5 : 07 Июля 2020, 21:34:31 »
Создайте массив и удаляйте из него выпавшие числа

Оффлайн ALiEN175

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5442
  • Сделай шаг и пройдешь милю
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #6 : 07 Июля 2020, 22:04:50 »
Код: (bash) [Выделить]
#!/bin/bash
A=0
B=0

for i in {1..300} ; do # 600 чисел. Для бесконечной генерации: while : ; do
  A=$((RANDOM % 20 +1)) # зачем shuf, если есть RANDOM?
  while (( A == B )) ; do A=$((RANDOM % 20 +1)) ; done
  echo $A
  B=$((RANDOM % 20 +1))
  while (( A == B )) ; do B=$((RANDOM % 20 +1)) ; done
  echo $B
done
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 07 Июля 2020, 22:17:08 от ALiEN175 »
ASUS P5K-C :: Intel Xeon E5450 @ 3.00GHz :: 8 GB DDR2 :: Radeon R7 260X :: XFCE
ACER 5750G :: Intel Core i5-2450M @ 2.50GHz :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2121
  • Lubuntu 18.04 LTS
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #7 : 07 Июля 2020, 22:47:46 »
ALiEN175, благодарю.

 

Страница сгенерирована за 0.042 секунд. Запросов: 25.