Дано некое число a. Необходим эффективный алоритм, позволяющий для произвольного x сравнить а с R(x). Сравнение будет выполняться в цикле. Перед входом в цикл можно произвести какие-то преобразования над a, но в теле цикла должен быть минимальный объем вычислений. Процессор позволяет вычислить R(x) за 1 команду. Алгоритм
- Код: Выделить всё • Развернуть
цикл
получить x
найти R(x)
сравнить R(x) с a
использовать-результат-сравнения
конеццикла
считается недостаточно эффективным. Идеальный алгоритм:
- Код: Выделить всё • Развернуть
как-то-преобразовать а в b
цикл
получить x
выполнить какую-то-быструю-операцию(x,b) <--- CMP, AND, OR, XOR, фиг его знает
использовать-результат-предыдущей-операции
конеццикла
Собственно задача - придумать как "как-то-преобразовать а в b" и какую использовать "какую-то-быструю-операцию" ?