"""
练习1:实现计算求最大公约数和最小公倍数的函数。
举例:6 3 3 4 5 20
"""
"""
def gys(x, y):
if x > y:
small = y
else:
small = x
for i in range(small, 1, -1):
if x % i == 0 and y % i == 0:
return i
print(gys(21,14))
def gbs(x, y):
if x > y:
big = x
else:
big = y
while True:
if big % x == 0 and big % y == 0:
return big
big += 1
print(gbs(9, 8))
"""
"""
练习2:实现判断一个数是不是回文数的函数。
回文数:正读倒读都一样的整数,如121,12321
"""
num = int(input())
temp = num
total = 0
while temp > 0:
total = total*10+temp % 10
temp //= 10
if total == num:
print("是回文数")
else:
print("不是")
"""
练习3:实现判断一个数是不是素数的函数
"""
def sushu(num):
if num <= 1:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
print(sushu(8))
"""
练习4:写一个程序判断输入的正整数是不是回文素数。
"""
def huiwenshu(num):
temp = num
total = 0
while temp > 0:
total = total*10 + temp % 10
temp = temp // 10
return total == num
def sushu(num):
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
if __name__ == '__main__':
num = int(input())
if huiwenshu(num) and sushu(num):
print("yes")
else:
print("no")