В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
melomicsmel
melomicsmel
05.10.2020 14:34 •  Информатика

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

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

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

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

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

Ответ:
Sasha2280865
Sasha2280865
13.08.2021 00:40

Примечание:

Использовался ЯП 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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?