safiya250707
15.03.2023 23:36

, на ПИТОНЕ Разложение на простые
Требуется разложить целое число N на простые множители с учётом их степени и вывести результат в порядке возрастания множителей.

Входные данные

Программе дано число N(2≤N≤109).

Выходные данные

Вывести разложение N на простые множители. Возведение в степень обозначайте значком ^.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:

Примечание:

Использовался ЯП Python, версия 3.8.10.

Решение состоит из двух частей: функция которая составляет словарь простых делителей и их степени, и основной код, который отвечает за вызов этой функции и генерацию строки вывода.

В функции prime_factorization использовался достаточно оптимальный алгоритм факторизации.

Код и примеры работы есть в виде скринов.

Исходный код:

def prime_factorization(n):

   d = 2

   divisors = {}

   while n > 1:

       if n % d == 0:

           divisors[d] = divisors.get(d, 0) + 1

           n //= d

       elif d*d > n:

           d = n

       else:

           d += 1

   return divisors

if __name__ == '__main__':

   n = int(input())

   factors = prime_factorization(n)

   s = ' * '.join([f'{k}^{v}' for k, v in sorted(factors.items())])

   print(s)


, на ПИТОНЕ Разложение на простые Требуется разложить целое число N на простые множители с учётом их
, на ПИТОНЕ Разложение на простые Требуется разложить целое число N на простые множители с учётом их
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота