Не работает проверка простого числа на Python

Дана программа для Редактора:

Известно, что исходная строка A содержала ровно два нуля  — на первом и на последнем месте, 48 единиц, больше 48 двоек и не содержала других цифр. После выполнения данной программы получилась строка B, сумма цифр которой оказалась простым числом. Какое наименьшее количество двоек могло быть в строке A? (Код задания с сайта Решу ЕГЭ 58520)

Мой код:

def prost(x):
    for d in range(2,round(x**0,5)+1):
        if x%d==0:
            return False
    return True

for b in range(49,150):
    s='0'+'1'*48+'2'*b+'0'
    while '00' not in s:
        s=s.replace('02','101',1)
        s=s.replace('11','2',1)
        s=s.replace('012','30',1)
        s=s.replace('010','00',1)
    summa=sum([int(i) for i in s])
    if prost(summa):
        print(b)
        break

Решаю задания с Решу ЕГЭ. Столкнулся с проблемой, что не работает функция проверки простого числа.

Не понимаю почему не работает код.


Ответы (0 шт):