Initial commit
This commit is contained in:
52
problem-35.py
Normal file
52
problem-35.py
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
MAX_NUM = 1000000
|
||||
|
||||
def is_prime(n):
|
||||
"""Returns True if n is prime."""
|
||||
if n == 1:
|
||||
return False
|
||||
if n == 2:
|
||||
return True
|
||||
if n == 3:
|
||||
return True
|
||||
if n % 2 == 0:
|
||||
return False
|
||||
if n % 3 == 0:
|
||||
return False
|
||||
|
||||
i = 5
|
||||
w = 2
|
||||
|
||||
while i * i <= n:
|
||||
if n % i == 0:
|
||||
return False
|
||||
i += w
|
||||
w = 6 - w
|
||||
|
||||
return True
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
results = []
|
||||
for i in range(MAX_NUM):
|
||||
if not is_prime(i):
|
||||
continue
|
||||
j = str(i)
|
||||
if len(j) == 1:
|
||||
if is_prime(i):
|
||||
results.append(i)
|
||||
continue
|
||||
if len(j) == 2:
|
||||
if is_prime(i) and is_prime(int(j[1] + j[0])):
|
||||
results.append(i)
|
||||
continue
|
||||
for rotation in range(len(j)):
|
||||
prime = True
|
||||
j = j[1] + j[2:] + j[0]
|
||||
if not is_prime(int(j)):
|
||||
prime = False
|
||||
break
|
||||
if prime is True: results.append(i)
|
||||
|
||||
print(results)
|
||||
print(len(results))
|
||||
Reference in New Issue
Block a user