Re[2]: двоично-десятичные палиндромы
От: Кодт Россия  
Дата: 16.12.15 13:18
Оценка:
Здравствуйте, _DAle_, Вы писали:

_DA>Как-то нет сейчас времени особо подумать, но первое, что можно сделать — это перебирать половинки (n/2 цифр для четной длины, n/2+1 для нечетной) 10-палиндромов, зеркально отражать, а потом проверять на 2-палиндром. Во всяком случае по сравнению с тупым брутфорсом — это существенно быстрее. Потом я бы попробовал сгенерировать эти 2-10-палиндромы и посмотреть на них


O(P^(1/2)) против O(P), конечно. (Где P — значение n-ного палиндрома).

Причём генерировать палиндром из половинки можно двумя способами:
— разложением каждого получисла на разряды (задействуя деление)
— формируя последовательность палиндромов как сложение арифметических прогрессий (задействуя только сложение)

А вот как генерировать сразу 2-10-палиндром, это интересный вопрос.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.