#12
from math import * #для произведения

x = '123'
s = sum(map(int,s)) # сумма цифр строки
p = prod(map(int,s)) #произведение цифр строки


#помним что замену делаем только 1 раз при прогоне
s = s.replace('111','23',1)


#убрать знак ">" в конце, что бы посчитать сумму или произв
s = s.replace('>','')

#проверить является ли число полным квадратом какого то числа
if int(x) == int(x ** 0.5) ** 2:
    
    
    
    
 Определите наименьшее значение n, при котором сумма цифр в строке, 
 получившейся в результате выполнения программы, равна 17.   
for n in range(4, 10000):

    s = '2' + '5'*n

    while '25' in s or '355' in s or '555' in s:
        if '25' in s:
            s = s.replace('25', '5', 1)
        if '355' in s:
            s = s.replace('355', '52', 1)
        if '555' in s:
            s = s.replace('555', '3', 1)

    # Найдём сумму цифр
    sm = s.count('2')*2 + s.count('3')*3 + s.count('5')*5

    if sm == 17:
        print(n)
        break    
    
Определите наименьшее значение n, при котором в строке, 
получившейся в результате выполнения программы, останутся только цифры «5».
for n in range(4, 10000):

    s = '2' + '5'*n

    while '25' in s or '355' in s or '555' in s:
        if '25' in s:
            s = s.replace('25', '5', 1)
        if '355' in s:
            s = s.replace('355', '52', 1)
        if '555' in s:
            s = s.replace('555', '3', 1)

    # Проверим условие задачи
    if s.count('5')>0 and s.count('2')==0 and s.count('3')==0:
        print(n)
        break
        
На вход приведённой выше программе поступает строка, начинающаяся с цифры «1», 
а затем содержащая n цифр «9» (3 < n < 10 000).

Определите наибольшее возможное значение суммы числовых значений цифр в строке, 
которая может быть результатом выполнения программы.
mx=0
for n in range(4, 10000):

    s = '1' + '9'*n

    while '19' in s or '49' in s or '999' in s:
        if '19' in s:
            s = s.replace('19', '9', 1)
        if '49' in s:
            s = s.replace('49', '91', 1)
        if '999' in s:
            s = s.replace('999', '4', 1)

    #Найдём сумму цифр
    sm = s.count('1')*1 + s.count('4')*4 + s.count('9')*9

    # Применим приём "Царь горы"
    mx = max(mx, sm)

print(mx)