Как создать миллионы перестановок без дубликатов [закрыто]Python

Программы на Python
Anonymous
Как создать миллионы перестановок без дубликатов [закрыто]

Сообщение Anonymous »

Я знаю, что об этом много спрашивали, но я не могу найти решение при работе с большими числами. Я пытаюсь создать перестановку {letter}{5 цифр}, которая в общей сложности будет потенциально 2,6 миллиона возможных перестановок. Я пробовал что-то вроде этого

Код: Выделить всё

 count = 1
def generate_random(self):

#constants from Linear Congruential Generator

#multiplier
a = 1103515245

#increment
c = 12345

#modulus
m = 2 ** 31
random_number = (a * count + c) % m

mapped_number = random_number % 2600000

letter = chr(65 + (mapped_number // 100000))
digits = f"{mapped_number % 100000:05d}"
count += 1
return f"{letter}{digits}"
но в моем моделировании оно дублируется примерно на уровне 15000. Для моего приложения было бы лучше не хранить все числа, и я не уверен, что это слишком велико для использования выборки. . Я пытался использовать счетчик в качестве начального числа, чтобы изменить числа, но это не сработало. Я также хочу создавать не последовательный список, а более случайную генерацию.
Изменить: главное, что я ищу, - это не хранить каждую перестановку из-за проблем с памятью, если Я храню сотни тысяч или миллионы перестановок и хочу «случайную» генерацию, последовательность которой непредсказуема.

Подробнее здесь: https://stackoverflow.com/questions/789 ... duplicates

Вернуться в «Python»