判断一个数是否为对称且不大于五位数的素数。要求判断对称和判断素数各写一个函数。
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一个正整数n(0 < n < 232)。
输出格式:
对于每组测试,若n是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独占一行。注意:引号不必输出。
输入样例:
11
101
272
33533
2147483647
输出样例:
Yes
Yes
No
Yes
No
代码实现:
import math
def isPrime(a):
for i in range(2,int(math.sqrt(a)+1)):
if a % i == 0 :
return False
return True
def isSym(a):
b = str(a)
c = ''.join(reversed(b))
if b == c :
return True
else:
return False
try:
while True:
n = int(input())
if n>=100000:
print("No")
else:
if isSym(n)!=True:
print("No")
else:
if isPrime(n)!=True:
print("No")
else:
print("Yes")
except EOFError:
pass