PS
Мудрец
(19404)
1 месяц назад
f(x) – фейл. Он чекает на простоту, а тебе нужны квадраты простых
ты итерируешься по всем числам, а потом проверяешь, являются ли они квадратами. Зачем? Итерируйся сразу по квадратам
добавляешь в сет все делители, а не только квадраты простых
переписывай с нуля, а не пытайся чинить этот шлак
Если не шаришь, гугли "факторизация числа"
Мой код:
def f(x):
for i in range(2, int(x**0.5)+1):
if x % i ==0:
return False
return True
for x in range(20211209, 20220126):
if x 0.5 == int(x 0.5):
c = set()
for i in range(2, int(x**0.5)+1):
if x % i == 0:
c.add(i)
c.add(x//i)
if len(c) == 3:
print(x)
Объясните ,пожалуйста, что здесь не так!? Он не работает