赞
踩
反素数
类型:函数
反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素数的非回文数。
例如:13和31都是素数,且13和31都不是回文数,所以,13和31是反素数。
输入一个正整数 n , 请在同一行输出从小到大排列的的前n个反素数,每个数字后面加一个空格。
输入一个正整数
符合条件的反素数
- 输入:
- 10
- 输出:
- 13 17 31 37 71 73 79 97 107 113
- def is_prime(n):
- if n <= 1: # 小于2的数字单独处理
- return True
- for i in range(2, int(n ** (1 / 2) + 1)): # 根据素数定义判定是否是素数,是素数返回1
- if n % i == 0:
- return False
- return True
-
-
- def palindromic(num):
- """接收一个数字为参数,判定其是否为回文数,返回布尔值。"""
- return str(num) == str(num)[::-1]
-
-
-
- def reverse_num(num):
- """接收一个整数,返回其逆序字符串对应的整数"""
- return int(str(num)[::-1])
-
-
- def reverse_prime(number):
- i = 2
- count = 0
- while True:
- if not palindromic(i) and is_prime(i) and is_prime(reverse_num(i)):
- print(i, end=' ') # i为回文素数时输出i,输出后不换行
- count = count + 1
- if count == number:
- break
- i = i + 1
-
-
- if __name__ == "__main__":
- n = int(input())
- reverse_prime(n)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。