Не работает проверка простого числа на 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
Решаю задания с Решу ЕГЭ. Столкнулся с проблемой, что не работает функция проверки простого числа.
Не понимаю почему не работает код.