|
|
|
Генератор перестановок
|
|||
|---|---|---|---|
|
#18+
Никто не может подсазать алгоритм генератора перестановок, где результат перестановок зависел бы от ключа. Т.е. в идеале было бы получить такой генератор, который после инициализации его ключем выдавал уникальную последовательность перестановок. может есть ссылки на какие-нибудь ресурчы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 21:19 |
|
||
|
Генератор перестановок
|
|||
|---|---|---|---|
|
#18+
Хм. Имхо, довольно очевидно. Если есть n объектов, то числовое значение ключа в диапазоне 1..n! задает перестановку. Из числового значения конкретная перестановка получается примерно так: берем остаток от деления на n, получаем индекс для первого объекта. Вычитаем остаток, делим на n. Берем остаток от деления на n-1, получаем индекс для второго объекта (индекс "среди свободных мест", то есть перепрыгнув уже размещенный объект). И так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 19:10 |
|
||
|
Генератор перестановок
|
|||
|---|---|---|---|
|
#18+
Спасибо, я уже и придумал нечто подобное:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2007, 09:16 |
|
||
|
Генератор перестановок
|
|||
|---|---|---|---|
|
#18+
Я придумал следущий алгоритм: Ключ состоит из трех чисел: -Начальное число которое будет переставлено -Шаг относительно начального числа(он берется в кольце, т.е. если нач. позиция + шаг будет больше n, то складываем по модулю) -Количество итераций на одну готовую перестановку(т.е. мы повторяем данный алгоритм k раз, прежде чем дать готовую перестановку) В конце каждой итерации в качестве начального числа берется новое, а в качестве шага начальное число. Может кто нибудь сказать о недостатках этого алгоритма? Я пока вижу тот момент, что переставляться всегда будет одно и то же число. Если не очень понятно излагаю, могу выложить код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2007, 09:25 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34394512&tid=1346186]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 340ms |

| 0 / 0 |
