派森 #P125. 寻找反素数

描述

反素数,英文称作 emirp(prime(素数)的左右颠倒拼写),是素数的一种。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

把一个素数的阿拉伯字数字序列变成由低位向高位反写出来,得到的另一个数还是素数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

例如素数13,反写就是31,它是另一个素数,所以13是一个反素数。这个定义排除了相关的回文素数,因为回文素数反写不是另一个数而是它本身。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

最小的几个反素数为:13, 17, 31, 37, 71, 73, 79, 97, 107, 113, 149, 157, 167, 179, 199, ...‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

编写程序,输入两个数m和n,要求n > m,输出m~n(包含m和n)之间所有的反素数,数之间用空格隔开。

样例

输入1

5 50

输出1

13 17 31 37

代码:

python">m,n = map(int,input().split())
def isPrime(n):
    if n==1:
        return False
    for i in range(2,n):
        if n%i==0:
            return False
    return True
def isReversePrime(n):
    if str(n)==str(n)[::-1]:
        return False
    if isPrime(n):
        n = str(n)
        n = n[::-1]
        n = int(n)
        if isPrime(n):
            return True
        else:
            return False
for i in range(m,n+1):
    if isReversePrime(i):
        print(i,end=' ')

代码解析:

  1. m, n = map(int, input().split()):使用input()函数获取用户输入的一个字符串,然后使用split()方法将其拆分为多个字符串,并使用map()函数将这些字符串转换为整数类型。最终,将这些整数赋值给变量mn
  2. def isPrime(n)::定义一个名为isPrime的函数,用于判断一个数是否为质数。
  3. if n == 1::检查参数n是否等于1,如果是,则返回False,因为1不被视为质数。
  4. for i in range(2, n)::使用range()函数生成一个从2到n-1的整数序列,然后进行迭代,将每个迭代的值依次赋给变量i。该迭代用于检查从2到n-1之间是否存在n的因数。
  5. if n % i == 0::检查n是否能够被当前迭代的值i整除,即判断n是否有其他因数。如果有,则返回False,因为n不是质数。
  6. return True:如果上述循环未找到n的因数,则返回True,表示n是质数。
  7. def isReversePrime(n)::定义一个名为isReversePrime的函数,用于判断一个数是否为反质数。
  8. if str(n) == str(n)[::-1]::将数值n转换为字符串形式,判断该字符串是否与其翻转后的字符串相等。如果相等,意味着n是一个回文数,不满足反质数的条件,返回False。
  9. if isPrime(n)::调用isPrime()函数判断n是否是质数。如果是质数,则进行以下操作,否则直接返回False。
  10. n = str(n):将变量n转换为字符串类型。
  11. n = n[::-1]:使用切片操作将n反转。
  12. n = int(n):将n转换为整数类型。
  13. if isPrime(n)::调用isPrime()函数判断反转后的n是否为质数。如果是质数,则返回True,表示n是反质数;否则返回False。
  14. for i in range(m, n+1)::使用range()函数生成一个从m到n的整数序列(包括n),然后进行迭代,将每个迭代的值依次赋给变量i
  15. if isReversePrime(i)::调用isReversePrime()函数判断当前迭代的值i是否为反质数。如果是反质数,则执行以下操作,否则进入下一次迭代。
  16. print(i, end=' '):打印当前迭代的值i,并以空格结尾。

http://www.niftyadmin.cn/n/4957102.html

相关文章

【MySQL系列】MySQL内置函数的学习

「前言」文章内容大致是对MySQL内置函数的学习。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL的日期函数二、MySQL的字符串函数三、MySQL的数学函数四、 其它函数 一、MySQL的日期函数 常见的日期函数如下: 函数名称描述current…

CentOS 8.5修改安装包镜像源

1 备份原配置 cd /etc/yum.repos.d mkdir backup mv *.repo backup/2 下载镜像源 2.1 使用wget下载 wget http://mirrors.aliyun.com/repo/Centos-8.repo2.2 使用curl下载 我是安装的最小版本的系统,默认只有curl curl使用方法:https://www.ruanyife…

Gitbook超详细使用教程,搭建属于你自己的博客!

文章目录 简介与github同步1.创建space2.安装github插件3.同步github4.生成space的url 博客搭建指南1.自定义域名2.发表博客内容3.设置域名默认页面4.界面设置注意事项 End 简介 Gitbook 是一个平台,允许用户创建和分享内容丰富的在线书籍。它有一个用户友好的界面…

永久设置pip指定国内镜像源(windows内)

1.首先列出国内四个镜像源网站: 一、清华源 https://pypi.tuna.tsinghua.edu.cn/simple/ 二、阿里源 https://mirrors.aliyun.com/pypi/simple 三、中科大源 https://pypi.mirrors.ustc.edu.cn/simple/ 四、豆瓣源 http://pypi.douban.com/simple/ 2.一般下载所需要…

MetaMask Mobile +Chrome DevTools 调试Web3应用教程

注:本教程来源网络,有兴趣的可以直接到这里查看。 写好了WEB3应用,在本地调试用得好好的,但是用钱包软件访问就报莫名的错,但是又不知道是什么原因,排查的过程非常浪费时间 。 因此在本地同一局域网进行调试…

C++ 使用递归、回溯、动态规划算法实现一题多解

1. 引言 为了让大家更好理解递归、回溯、动态规划三者算法之间有关系,本文罗列了几道题目,分别使用递归、回溯、动态规划解决。会发现三者之间同工异曲,都是一种搜索模式,递归是正向搜索且返回;回溯是搜索…

深入理解阻塞队列BlockingQueue

阻塞队列BlockingQueue 阻塞队列与其他类型的队列不同的地方在于阻塞,即对于生产者和消费者两端来说,有任何一端的速度过快时,阻塞队列可以把过快的速度降下来。例如对于一个大小为10的阻塞队列,当生产者线程过快时,在…

8月16日上课内容 第二章 部署LVS-DR群集

本章结构: 数据包流向分析: 数据包流向分析: (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 &#xf…