|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 15 Oct 2001 12:05:54 To : Anton Mihaelov Subject : Задача -------------------------------------------------------------------------------- Sat Oct 13 2001 13:22, Anton Mihaelov wrote to All: AM> Кто знает, подскажите плз самый оптимальный алгаритм решения задачи: AM> Дано множество натуральных чисел. Hайдите все числа этого множества, AM> двоичная запись которых представляет собой симметричную AM> последовательность нулей и единиц, начинающихся с единиц. AM> зы: кучу if then не предлагать... Варианты: а. Для каждого числа делаем в цикле сдвиги, формируя вспомогательное число и инверсным порядком битов. Сравниваем исходное и вспомогательное. v:=0; for i:=0 to N do begin v:=v shl 1; if (x mod 2)=1 then v:=v+1; x:=x shr 1; end; б. Формируем вспомогательный массив, в котором для каждого числа признак - палиндром ли оно? Просто проверяем. Быстрая проверка ценой больших начальных затрат. Евгений Машеров АКА СанитарЖеня --- ifmail v.2.15 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300f2a638b1.html, оценка из 5, голосов 10
|