Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Питон срочно!! помогите

Руки прочь от фан клуба
ограничение по времени на тест1 s.
ограничение по памяти на тест256 MB
вводstandard input
выводstandard output
Шел сентябрь 2023 года. Фан клуб Першакова Максима Вадимовича настолько расширился, что ему пришлось создать отдельную электронную почту для писем фанатов. Максим очень любит простые числа, поэтому поставил главное условие: один фанат может отправить за день только простое число писем.

Сегодня Максиму Вадимовичу пришло n
писем и ему стало интересно, сколько максимум фанатов могло ему написать и сколько каждый из них отправил писем. Но т.к. сегодня Максим принимает зачет по графам, то у него нет времени на это, так что он просит вас сделать это.

В качестве помощи он просил вам напомнить: целое положительное число k
называется простым, если оно больше 1
и у него ровно два целых положительных делителя — 1
и k
.

Входные данные
В единственной строке записано целое число n
(2≤n≤100000
).

Выходные данные
В первой строке выведите целое число k
— максимально возможное количество фанатов, которые ему сегодня написали.

В следующей строке выведите k
чисел — кол-во писем которые отправлял каждый из людей. Числа можно выводить в любом порядке. Если возможных решений несколько, разрешается вывести любое из них.

Примеры
входные данныеСкопировать
5
выходные данныеСкопировать
2
2 3

Дополнен

входные данныеСкопировать
6
выходные данныеСкопировать
3
2 2 2

По дате
По рейтингу
Аватар пользователя
Новичок
123456789
 n = int(input()) 
m = n >> 1 
print(m) 
box = [] 
for i in range(m):  
    box.append(2) 
if n & 1: 
   box[-1] = 3 
print(" ".join(map(str, box))) 
Аватар пользователя
Мыслитель

Я это прочитала как" Путин срочно.."

Аватар пользователя
Мудрец
123456789101112131415161718
 def is_prime(num): 
    if num <= 1: 
        return False 
    for i in range(2, int(num ** 0.5) + 1): 
        if num % i == 0: 
            return False 
    return True 
 
def find_primes_sum(n): 
    for i in range(2, n): 
        if is_prime(i) and is_prime(n - i): 
            return i, n - i 
 
n = int(input()) 
prime1, prime2 = find_primes_sum(n) 
print(2) 
print(prime1, prime2) 
 
Аватар пользователя
Оракул
123456789101112
 n = int(input()) 
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] 
ans = [] 
for p in primes: 
    if n % p == 0: 
        ans.append(p) 
        n //= p 
if n > 1: 
    ans.append(n) 
print(len(ans)) 
print(*ans) 
 
Аватар пользователя
Мыслитель

Я по удавам только