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

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

Чётное натуральное число n будем называть чётнопростым числом, если его нельзя представить в виде произведения двух чётных чисел. Например, числа 2 и 6 — чётнопростые.

Очевидно, что каждое число либо является чётнопростым, либо разлагается в произведение чётнопростых. Но такое разложение на чётнопростые не всегда единственно.

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

Дано чётное натуральное n≤109.

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

Если число n чётнопростое, выведите слово prime. Если это число единственным образом разлагается в произведение двух и более чётнопростых, то выведите слово single, а в следующей строке выведите разложение этого числа на чётнопростые множители. Если число допускает несколько различных разложений на чётнопростые, то выведите слово many, а в следующих двух строках выведите два каких-нибудь различных разложения числа на чётнопростые множители.

Показать ответ
Ответ:
Илья164Умникум
Илья164Умникум
12.08.2021 23:51

def solve(n):

 d = 0

 while not (n&1):

   d += 1

   n //= 2

 a = [2]*d

 a[-1] *= n

 if d == 1:

   print("prime")

   return

 for x in range(3, int(n**.5)+1, 2):

   if not (n%x):

     b = a[:]

     b[-1] //= x

     b[-2] *= x

     print("many")

     print(" ".join(map(str, a)))

     print(" ".join(map(str, b)))

     return

 print("single")

 print(" ".join(map(str, a)))

from sys import stdin

for line in stdin:

 print("=== " + line.strip() + " ===")

 solve(int(line))

Дайте плз 5 звёзд, мне очень не хватает "Лучших ответов"

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