📅  最后修改于: 2023-12-03 15:37:15.625000             🧑  作者: Mango
这是一道 ISRO CS 2017 年的编程问题,需要编写一个程序来计算一个数字的反向数字是否是一个质数并将结果输出。该问题可以帮助程序员练习数字操作,循环和质数计算。
编写一个程序,从标准输入中读取一个整数,并计算该整数的反向数字是否是一个质数。如果是质数,则输出“是”,否则输出“否”。
该问题的解决需要执行以下步骤:
input()
函数实现。def reverse_number(number):
"""Returns the reverse of the given number"""
return int(str(number)[::-1])
def is_prime(number):
"""Returns True if the given number is prime, False otherwise"""
if number < 2:
return False
if number == 2:
return True
if number % 2 == 0:
return False
for i in range(3, int(number**0.5) + 1, 2):
if number % i == 0:
return False
return True
# Read input from user
number = int(input("Enter a number: "))
# Reverse the number
reverse = reverse_number(number)
# Check if the reverse is prime
if is_prime(reverse):
print("Yes")
else:
print("No")
字符串反转可以使用字符串切片操作实现,即 string[::-1]
,此处转化的字符串为数字字符串。
def reverse_number(number):
return int(str(number)[::-1])
判断质数需要注意几个特殊情况:
def is_prime(number):
if number < 2:
return False
if number == 2:
return True
if number % 2 == 0:
return False
for i in range(3, int(number**0.5) + 1, 2):
if number % i == 0:
return False
return True