powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Генератор перестановок
5 сообщений из 5, страница 1 из 1
Генератор перестановок
    #34381565
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никто не может подсазать алгоритм генератора перестановок, где результат перестановок зависел бы от ключа.
Т.е. в идеале было бы получить такой генератор, который после инициализации его ключем выдавал уникальную последовательность перестановок. может есть ссылки на какие-нибудь ресурчы?
...
Рейтинг: 0 / 0
Генератор перестановок
    #34394512
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм. Имхо, довольно очевидно. Если есть n объектов, то числовое значение ключа в диапазоне 1..n! задает перестановку.

Из числового значения конкретная перестановка получается примерно так: берем остаток от деления на n, получаем индекс для первого объекта. Вычитаем остаток, делим на n. Берем остаток от деления на n-1, получаем индекс для второго объекта (индекс "среди свободных мест", то есть перепрыгнув уже размещенный объект). И так далее.
...
Рейтинг: 0 / 0
Генератор перестановок
    #34397534
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, я уже и придумал нечто подобное:)
...
Рейтинг: 0 / 0
Генератор перестановок
    #34397538
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я придумал следущий алгоритм:
Ключ состоит из трех чисел:
-Начальное число которое будет переставлено
-Шаг относительно начального числа(он берется в кольце, т.е. если нач. позиция + шаг будет больше n, то складываем по модулю)
-Количество итераций на одну готовую перестановку(т.е. мы повторяем данный алгоритм k раз, прежде чем дать готовую перестановку)
В конце каждой итерации в качестве начального числа берется новое, а в качестве шага начальное число.

Может кто нибудь сказать о недостатках этого алгоритма? Я пока вижу тот момент, что переставляться всегда будет одно и то же число. Если не очень понятно излагаю, могу выложить код
...
Рейтинг: 0 / 0
Генератор перестановок
    #34397642
mrDOS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Генератор перестановок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]