Euler Project35

"problem35"

#-*- coding:utf-8 -*-
#Euler 35
import numpy as np
total=0
max=1000000
dictionary=[0,2,4,6,8]
#素数判定関数
def prime(n):
	i=3
	if n==1 or n==0: return False
	if n%2==0: return False #偶数なら非素数
	while i<np.sqrt(n):	#3〜√nまで
		if n%i==0:
			return False
		i+=1
	return True

#数字を入れ替えて巡回素数かどうか調べる
def ch_number(x):
	count=0
	#数値が0,2,4,6,8を持つかどうか判定
	if (True in [int(i) in dictionary for i in list(str(x))])==False:
		number=x
		for j in range(len(str(number))):
			number=int(str(number)[1:]+str(number)[0])
			if prime(number)==True:
				count+=1
			else:
				return False	
			if count==len(str(x)):
				return True
	else:
		return False

if __name__=="__main__":
	for i in range(max):
		if prime(i)==True:
			if ch_number(i) == True:
				total+=1
	print total