题目描述
如果一个整数只能被1和自己整除,就称这个数是素数。
如果一个数正着反着都是一样,就称为这个数是回文数。例如:6, 66, 606, 6666
如果一个数字既是素数也是回文数,就称这个数是回文素数
牛牛现在给定一个区间[L, R],希望你能求出在这个区间内有多少个回文素数。
时间限制:1秒;空间限制:32768K
输入描述:
输入包括一行,一行中有两个整数(1 ≤ L ≤ R ≤ 1000)
输出描述:
输出一个整数,表示区间内回文素数个数。
示例1
输入
100 150
输出
2
解题思路
# coding=utf-8
# 判断一个数是否为素数
def Prime_number(n):
if n%2 == 0 :
return False
else:
for i in range(3,n,2):
if n%i == 0:
return False
return True
# 判断一个数是否为回文数
def Palindrome(n):
if str(n) == str(n)[::-1]:
return True
else:
return False
def fun():
s = map(int,raw_input().split())
L,R = s[0],s[1]
count = 0
for i in range(L,R+1):
if Prime_number(i) and Palindrome(i):
count += 1
return count
if __name__=='__main__':
print(fun())