# -*- coding: utf-8 -*-
"""
Created on Sat Jan 7 08:58:29 2017
@author: Jerry Xu
"""
import time
start = time.time()
def getprimes(n=1000):
primes = [True]*n
primes[0],primes[1]=False,False
for i,prime in enumerate(primes):
if prime:
for j in range(i*i,n,i):
primes[j]=False
primes[2],primes[5]=False,False
return [k for k,trueprime in enumerate(primes) if trueprime]
def loop(n):
tmp = []
m = 10
while m%n not in tmp:
tmp.append(m%n)
m *= 10
if not tmp[-1]:
return 0
else:
return len(tmp)
longest, x = 0, 0
for i in getprimes():
if loop(i)>longest:
longest = loop(i)
x = i
print (x, longest)
print ('Time used: %.3f sec' % (time.time()-start))
输出:
983 982
Time used: 0.429 sec |