Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
11 / 10 / 1
Регистрация: 15.11.2023
Сообщений: 55

Найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N

23.11.2023, 21:47. Показов 2346. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N.

Входные данные
В единственной строке входного файла INPUT.TXT записано одно целое число N (0 ≤ N ≤ 109).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести искомое число Q. В том случае, если такого числа не существует, следует вывести -1.

Примеры:
10 25
13 -1
8 8
90 259

Прошу писать программу как можно более простой и понятной, спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2023, 21:47
Ответы с готовыми решениями:

Найти наименьшее натуральное число такое, что произведение его цифр равно заданному числу
Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N. Входные данные: В...

Найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N
Можете пожалуйста проверить правильно ли записан код на JAVA Условие: Найти наименьшее натуральное число Q такое, что произведение...

Найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N
Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N. Входные данные В...

6
Вирусоборец
 Аватар для thyrex
14449 / 7488 / 1582
Регистрация: 06.09.2009
Сообщений: 27,132
23.11.2023, 22:14
Лучший ответ Сообщение было отмечено Gerasick как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
n = int(input())
if n == 0:
    print(10)
elif 1<=n<=9:
    print(n)
else:
    d = [0]*10
    for i in range(9, 1, -1):
        while n%i == 0:
            d[i] += 1
            n //= i
    if n != 1:
        print(-1)
    else:
        for i in range(2, 10):
            for k in range(1, d[i]+1):
                print(i, end = '')
2
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
23.11.2023, 23:59
Ну или так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def get_num(n):
    if not n:
        return 10
    if n == 1:
        return 1
    s = ''
    for i in range(9,2-1,-1):
        while n%i == 0:
            s = str(i) + s
            n //= i
            if n == 1:
                return int(s)
    return -1
 
n = int(input('n = '))
print(get_num(n))
0
0 / 0 / 0
Регистрация: 24.11.2023
Сообщений: 2
24.11.2023, 17:58
Может не самый быстрый способ, но как вариант:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def res(n, max = 1000000):
    for i in range(1, max+1):
        rslt = ''
        valstr = str(i)
        for j in valstr:
            rslt += j
        r = 1
        for k in rslt:
            r = r * int(k)
        if r == n:
            return(rslt)
    return(-1)
 
 
print(res(729, 1000000)) # Вывод 999
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
24.11.2023, 18:23
afors, что-то у вас неправильно считает. Для миллиона есть решение, а у вас нет.
0
0 / 0 / 0
Регистрация: 24.11.2023
Сообщений: 2
24.11.2023, 19:23
idealist, Решение для миллиона 55555588. Просто в функции надо увеличить значение max (max >= 55555588). Считает, но очень долго. Алгоритм не эффективен, согласен!
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
24.11.2023, 21:08
Цитата Сообщение от afors Посмотреть сообщение
Алгоритм не эффективен, согласен
А что за алгоритм?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2023, 21:08
Помогаю со студенческими работами здесь

Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N
Здравствуйте, помогите решить задачу. Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному...

Найти минимальное число такое, что произведение его цифр равно заданному числу
Дано натуральное число N от 9 до 10^7. Необходимо найти минимальное число k такое, что произведение цифр этого числа равно N. Например, для...

Найти число такое, что произведение его цифр равняется заданному числу
Дано число 0 &lt; q &lt; 1 000 000 000, являющееся произведением десятичных цифр некоторого числа. Найти само это число. Если вариантов...

Найти наименьшее и наибольшее натуральные числа, произведение цифр в которых равно заданному числу.
привет всем . у нас имееться числа количество чисел состояшие из 2,3,5,7 нужно найти такое мин число которая состоялы из столькмиже...

Найти наименьшее натуральное число, произведение цифр которого равно X
Вопрос: как найти наименьшее натуральное число, произведение цифр которого равно X? X - каждый раз разное, может быть большим. То есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru