Обратное число (n) получается путем обращения его цифр. Например: < /p>
- Обратная (123) составляет (321). < /Li>
Обратная (105) (501). - Условие для удовлетворения: reverse (n) = 2 * n
- Я хочу найти наименьшее (N) (с любым количеством цифр), которые удовлетворяют это условием.
Код: Выделить всё
def find_number():
for n in range(1, 10**12): # Extendable range
reverse_n = int(str(n)[::-1])
if reverse_n == 2 * n:
return n
return None
result = find_number()
print(result)
Мои вопросы:
< ul>
[*]Как мне эффективно найти такое число ( N )?
[*]Есть ли математический подход или оптимизация, которую я могу использовать, чтобы избежать грубой силы? >
Будем очень признательны за любую помощь или информацию!
Подробнее здесь: https://stackoverflow.com/questions/793 ... nal-number
Мобильная версия