Я пытаюсь найти число ( N ) такое, что обратное число ( N ) равно ( 2 * N ). Вот подробная постановка задачи:
Обратное число ( N ) получается перестановкой его цифр. Например:
1.Обратным к ( 123 ) является ( 321 ).
2. Обратной стороной (105) является (501).
3. Условие, которое необходимо удовлетворить:
reverse(N) = 2 * N
< /code>
Я хочу найти наименьшее (n) (с любым количеством цифр), которые удовлетворяют это условием. < /li>
< /ol>
Я написал сценарий Python, чтобы проверить номера последовательно: < /p>
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)
< /code>
Однако мой код занимает много времени для выполнения больших диапазонов. < /p>
Мои вопросы: < /p>
< ul>
Как я могу эффективно найти такое число (n)? < /li>
Есть ли математический подход или оптимизация, которую я могу использовать, чтобы избежать грубой силы? < /li >
< /ul>
Любая помощь или идеи были бы очень оценены! < /p>
Подробнее здесь: https://stackoverflow.com/questions/793 ... nal-number
Как найти число, реверс которого в два раза больше исходного? ⇐ Python
Программы на Python
-
Anonymous
1737976297
Anonymous
Я пытаюсь найти число ( N ) такое, что обратное число ( N ) равно ( 2 * N ). Вот подробная постановка задачи:
Обратное число ( N ) получается перестановкой его цифр. Например:
1.Обратным к ( 123 ) является ( 321 ).
2. Обратной стороной (105) является (501).
3. Условие, которое необходимо удовлетворить:
reverse(N) = 2 * N
< /code>
Я хочу найти наименьшее (n) (с любым количеством цифр), которые удовлетворяют это условием. < /li>
< /ol>
Я написал сценарий Python, чтобы проверить номера последовательно: < /p>
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)
< /code>
Однако мой код занимает много времени для выполнения больших диапазонов. < /p>
Мои вопросы: < /p>
< ul>
Как я могу эффективно найти такое число (n)? < /li>
Есть ли математический подход или оптимизация, которую я могу использовать, чтобы избежать грубой силы? < /li >
< /ul>
Любая помощь или идеи были бы очень оценены! < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79390473/how-to-find-a-number-whose-reverse-is-twice-the-original-number[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия