|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrew Doroshev 2:5020/400 09 Apr 2002 13:22:03 To : Andrew Doroshew Subject : Re: Генерация чисел --------------------------------------------------------------------------------
Andrew Doroshew wrote:
> > AZ> Интересует алгоритм сабжа, но такой, чтобы в промежутке от 1 до n
> > AZ> каждое число генерировалось только 1 раз. Только нормальный алгоритм,
> > AZ> а не извраты с массивами.
> > Люди, я забыл написать, что нужна *рандомная* генерация с вышестоящими
> > условиями.
> Пункт первый.
> Hужен источник всех чисел от 1 до n без повторений. Как писали
> предыдущие ораторы, ищем ближайшее сверху к n простое число. Выбираем
> подходящее k, меньшее n. Hапример n-1 или 2 не будет подходящим. Я думаю
> подойдёт k=[2/3n]. (целая часть)
> начиная от нуля, прибавляем k, от суммы берём остаток по модулю n, и так
> до нуля. Так мы сгенерируем все числа от 0 до n-1.
Забыл написать, что так мы сгенерируем все числа от 0 до n+небольшое число.
Перед дальнейшим использованием лишние числа надо выбросить.
Andrew Doroshev
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/7923ef45b680.html, оценка из 5, голосов 10
|