Дана программа для редактора:
|
1 2 3 4 5 6 |
НАЧАЛО ПОКА нашлось (01) ИЛИ нашлось (02) заменить (02, 1110) заменить (01, 220) КОНЕЦ ПОКА КОНЕЦ |
Известно, что исходная строка A содержала больше 40 цифр, первая из которых – ноль, а остальные – единицы и двойки. После выполнения данной программы получилась строка B, сумма цифр которой оказалась простым числом. Чему равна наименьшая возможная сумма цифр в строке A?
Ответ:
СтатГрад Вариант ИН2310101 24 октября 2023 – задание №12
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def prosto(x): if x==1: return False for d in range(2, int(x**0.5)+1): if x % d==0: return False return True m=10*10 for x in range(200): for y in range(200): a = '0' + '1'*x + '2'*y s1=x+2*y if len(a)<=40: continue while ('01' in a) or ('02' in a): a=a.replace('02','1110',1) a=a.replace('01','220',1) s2=a.count('2')*2+a.count('1') if prosto(s2): m=min(m,s1) print(m) |
Ответ: 42
