Я пытался решить проблему Эйлера проекта 35, и мне нужно создать функцию, которая сообщит мне, является ли целое число круговым простым числом. У меня есть стандартная функция isprime
и функция, чтобы дать список вращения цифр. Мой код поворота и код iscircularprime
здесь:
def rotate(n):
rotlist = []
m = str(n)
counter = 0
while counter < len(str(n)):
m = m[1:] + m[0]
rotlist.append(int(m))
counter += 1
return rotlist
def iscircularprime(n):
np = [0,2,4,5,6,8]
y = str(n)
for j in y:
if int(j) in np:
return False
if isprime(n)==False:
return False
m = rotate(n)
for i in m:
if isprime(i)==True:
return True
else:
return False
Я не включил свою функцию isprime
, поскольку она довольно стандартна. Моя функция будет правильно определять, является ли простое число круглым, как в случае с 197, но также идентифицирует некоторые некруглые простые числа как круглые, например 191, которое не является круглым, поскольку 119 не является простым.