?

Log in

No account? Create an account
Записи Друзья Календарь Профиль назад назад далее далее
Записки одного программиста
stkorn
stkorn
Задачка
21 комментарий или Оставить комментарий
Comments
naid From: naid Date: Июль, 15, 2008 12:55 (UTC) (Ссылка)

хм, а если так?

взять элемент рандомно
записать в отдельный array в [0]
свопнуть ячейку с последней ячейкой массива
сделать массив меньше на 1 (то есть затереть первую)
взять элемент рандомно.... :)

если бы random умел обрабатывать числа в диапазоне от n до m, то вместо пп.2 и 4 можно было бы m присвоить m-1 - или, если нам нужна хронологически упорядоченная выборка, ячейку свопать с array[n], n=n+1. я не знаю, умеет ли он это делать, но написать такой рандом выгодней, чем перетряхивать массив.
stkorn From: stkorn Date: Июль, 15, 2008 14:53 (UTC) (Ссылка)

Re: хм, а если так?

Абсолютно верно!
naid From: naid Date: Июль, 15, 2008 18:38 (UTC) (Ссылка)

простая задачка.

я, кстати, ошиблась в формулировке - затирать надо не первую, а последнюю, ту, в которую мы перенесли уже найденный элемент. но это именно в формулировке ошибка :)

а ещё задач, посложнее, нет? *)
21 комментарий или Оставить комментарий