题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
如果一个正整数只有 1 和它本身两个约数,则称为一个质数(又称素数)。
前几个质数是:2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, · · 。
如果一个质数的所有十进制数位都是质数,我们称它为纯质数。例如:2,3, 5, 7, 23, 37 都是纯质数,而 11, 13, 17, 19, 29, 31 不是纯质数。当然 1, 4, 351,4,35 也不是纯质数。
请问,在 1 到 20210605 中,有多少个纯质数?
1.两个条件:求各个数位都是质数,本身是质数
from math import *
def check(x):
x=str(x)
ans=0
for i in x:
if i=='2'or i=='3' or i=='5' or i=='7':
ans+=1
if ans==len(x):
return True
else:
return False
def zhishu(x):
for i in range(2,int(sqrt(x))+1):
if x%i==0:
return False
break
return True
t=0
for i in range(1,20210606):
if check(i) and zhishu(i):
t+=1
print(t)