Run ID:160668
提交时间:2026-09-26 09:48:43
import math def is_prime(n): """判断一个数是否为素数""" if n < 2: return False if n == 2: return True if n % 2 == 0: return False # 只需检查到平方根,且只检查奇数 for i in range(3, int(math.sqrt(n)) + 1, 2): if n % i == 0: return False return True def reverse_num(n): """返回整数的反序数""" return int(str(n)[::-1]) def find_absolute_primes(m, n): """找出M和N之间(含M,N)的所有绝对素数""" result = [] # 确保遍历范围从小到大 start = min(m, n) end = max(m, n) for num in range(start, end + 1): if is_prime(num): rev = reverse_num(num) if is_prime(rev): result.append(num) return result # 获取输入 try: m = int(input("请输入正整数 M: ")) n = int(input("请输入正整数 N: ")) if m < 1 or n < 1: print("请输入正整数。") else: primes = find_absolute_primes(m, n) if primes: # 格式化输出,每行5个 for i, p in enumerate(primes): print(p, end=" ") if (i + 1) % 5 == 0: print() print() # 换行 print(f"共找到 {len(primes)} 个绝对素数。") else: print("该范围内没有绝对素数。") except ValueError: print("输入无效,请确保输入的是整数。")