描述
反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素数的非回文数。
例如:13和31都是素数,且13和31都不是回文数,所以,13和31是反素数。
输入一个正整数 n , 请在同一行输出从小到大排列的的前n个反素数,每个数字后面加一个空格。
输入格式
输入一个正整数
输出格式
符合条件的反素数
示例
输入:10 输出:13 17 31 37 71 73 79 97 107 113
解析:
将一个字符串逆序可用s[-1::-1]或s[::-1]
s = 'hello' # hello
print(s[-1::-1]) # olleh
将一个字符串逆序可用函数 ```python def reverse(s): “””传入字符串参数,返回逆序字符串””” return s[-1::-1]
s = ‘hello’ # hello print(reverse(s)) # olleh
3. 回文是一个字符串,从前到后和从后到前的字符顺序相同,如“上海自来水来自海上”“12321”,下面给出判定回文的函数
```python
def palindromic(num):
"""接收一个数字为参数,判定其是否为回文数,返回布尔值。"""
if str(num) == str(num)[::-1]: # 数字num转为字符串,判定是否与逆序字符串相同
return True
else:
return False
- 数字不能使用切片的方法,需用str()转为字符串
- 要考虑性能,利用逻辑运算的短路效应,将计算量大的放到右侧
- 判定素数要考虑性能,缩小判定区间
常见问题
- 输出n个反素数,不是输出n以内的反素数