当前位置: 首页 > news >正文

python-素数中的等差数列

题目描述
质数是在数论中很有意思的数,有很多题都可以围绕它来出,就如你眼前所见的这道题。
给定一个闭区间 [a,b] ,将此范围内的所有素数进行从小到大排序,对于连续的素数,我们可以发现很多等差数列(元素个数大于等于 3 ),现在就请你完成这个任务。
对于给定的闭区间 [a,b] ,你要找出里面所有的等差数列,并输出所有的等差数列。
这里有一个要求,同一个数不能同时存在于两个等差数列中。
比如 a,b,c,d,e 中, a,b,c 是一个等差数列, c,d,e 也是一个等差数列,后一个等差数列就不能以 c 开始,所以 c,d,e 在本题不构成等差数列。
输入格式
输入占一行,只包含两个数 a 和 b ,并用空格隔开。
输出格式
输出占若干行,每行为一个等差数列,每个数用空格隔开。
样例输入输出
样例输入
141 400
样例输出
151 157 163 
167 173 179
199 211 223 
251 257 263 269 
367 373 379
数据范围
对于 100% 的数据,保证 a<b,a≤1000,b≤100000 。
来源/分类(难度系数:三星)
质数 模拟 NOIP普及组

 


完整代码展示:
def prime(i):
       j=2
       k=int(pow(i,0.5))
       while j<=k:
              if i%j==0:
                  break
              j+=1
      if j>k:
          return 1
      else:
             return 0
def AP(j):
       s=[]
       m=max(j)
       n=min(j)
       l=int((m-n)/(len(j)-1))
       for i in range(0,len(j)):
             s.append(n+i*l)
       if s==j:
            return 1
       else:
             return 0
x=[]
a,b=map(int,input().split())
for i in range(a,b+1):
      if prime(i)==1 and i>=2:
            x.append(i)
y=[]
for i in range(0,len(x)-3):
      for j in range(i+3,len(x)):
            z=x[i:j]
            if len(y)==0:
                if AP(z)==1:
                   y.append(z)
            else:
                   if AP(z)==1 and y[-1][0]==z[0] and len(z)>len(y[-1]):
                      y[-1]=z
                   elif AP(z)==1 and min(z)>max(y[-1):
                         y.append(z)     
for i in range(0,len(y)):
      sum=""
      for j in range(0,len(y[i])):
            sum+="{} ".format(y[i][j])
      print(sum)

def prime(i):j=2k=int(pow(i,0.5))while j<=k:if i%j==0:breakj+=1if j>k:return 1else:return 0
def AP(j):s=[]m=max(j)n=min(j)l=int((m-n)/(len(j)-1))for i in range(0,len(j)):s.append(n+i*l)if s==j:return 1else:return 0
x=[]
a,b=map(int,input().split())
for i in range(a,b+1):if prime(i)==1 and i>=2:x.append(i)
y=[]
for i in range(0,len(x)-3):for j in range(i+3,len(x)):#将i+3错误写为3,导致出现:ZeroDivisionErrorz=x[i:j]if len(y)==0:if AP(z)==1:y.append(z)else:if AP(z)==1 and y[-1][0]==z[0] and len(z)>len(y[-1]):#尽可能地延长等差数列y[-1]=zelif AP(z)==1 and min(z)>max(y[-1]):#保证数列符合所给条件y.append(z)     
for i in range(0,len(y)):sum=""for j in range(0,len(y[i])):sum+="{} ".format(y[i][j])print(sum)

 


代码解释:
“def prime(i):
        j=2
        k=int(pow(i,0.5))
        while j<=k:
               if i%j==0:
                   break
               j+=1
       if j>k:
           return 1
       else:
              return 0      ”,根据素数的定义自定义一个函数prime(),用于判断prime()函数中实参是否为素数:如果是,则返回值1,否则返回值0。

“def AP(j):
        s=[]
        m=max(j)
        n=min(j)
        l=int((m-n)/(len(j)-1))
        for i in range(0,len(j)):
              s.append(n+i*l)
        if s==j:
             return 1
        else:
               return 0              ”,根据等差数列的定义自定义一个函数AP(),用于判断AP()中的实参是否为等差数列,如果是:则返回值1,否则返回值0。
“x=[]
 a,b=map(int,input().split())
 for i in range(a,b+1):
       if prime(i)==1 and i>=2:
            x.append(i)               ”,建立一个空列表x,接着导入用户给定的闭区间[a,b]。遍历a~b的所有数字,将属于素数的数字添加进列表x中。
“y=[]
 for i in range(0,len(x)-3):
       for j in range(i+3,len(x)):
             z=x[i:j]
             if len(y)==0:
                 if AP(z)==1:
                    y.append(z)
             else:
                    if AP(z)==1 and y[-1][0]==z[0] and len(z)>len(y[-1]):
                       y[-1]=z
                    elif AP(z)==1 and min(z)>max(y[-1]):#保证数列符合所给条件
                          y.append(z)                               ”,建立一个空列表y,接着遍历x中元素,按顺序截取元素个数大于等于三的数列。如果y列表为空,则将第一个符合等差数列的数列添加进y中;否则1:判断新查找得到的等差数列与y中的最后一个数列y[-1]是否有重复元素,如果没有,则将其添加进y中。2:判断新查找得到的等差数列的第一个元素与y中最后一个元素y[-1]的第一个元素相同且该数列的长度大于y[-1],如果是,则将该数列替换y[-1]。
“for i in range(0,len(y)):
       sum=""
       for j in range(0,len(y[i])):
             sum+="{} ".format(y[i][j])
       print(sum)                             ”,遍历y中元素:建立一个空字符串sum,sum依次连接y[i]中的元素,最终打印sum。

 


运行效果展示:

9ec22afb15c24e11833ee3f0c453c4c8.jpg

 37111479028447f49950a4427cd88ade.jpg

              (声明:以上内容均为原创) 

 

 

相关文章:

python-素数中的等差数列

题目描述 质数是在数论中很有意思的数&#xff0c;有很多题都可以围绕它来出&#xff0c;就如你眼前所见的这道题。 给定一个闭区间 [a,b] ,将此范围内的所有素数进行从小到大排序&#xff0c;对于连续的素数&#xff0c;我们可以发现很多等差数列(元素个数大于等于 3 )&#x…...

Unity3D 服务器AStar寻路客户端位置同步显示验证详解

在游戏开发中&#xff0c;经常需要在服务器和客户端之间同步玩家的位置信息&#xff0c;以便其他玩家可以看到他们的移动。本文将详细介绍如何在Unity 3D中使用AStar算法进行路径规划&#xff0c;并在服务器和客户端之间同步玩家的位置信息。 对惹&#xff0c;这里有一个游戏开…...

无人机之悬停精度篇

无人机的悬停精度是指无人机在无GPS信号或其他外部定位辅助下&#xff0c;能够保持在一个固定空间位置时的精度。这一精度受到多种因素的影响&#xff0c;包括但不限于风速、气压、温度、湿度以及无人机自身的姿态稳定性等。以下是对无人机悬停精度的详细分析&#xff1a; 一、…...

力扣题解2848

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述&#xff08;简单&#xff09;&#xff1a; 与车相交的点 给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i&#xff0c;nums[i] [starti, endi] &…...

电子电气架构---智能汽车应该是怎么样的架构?

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…...

无心剑七绝《中秋相思》

七绝中秋相思 中秋月满意深长 百代江阳老窖香 莫道天涯情不尽 相思寸寸赋华章 2023年9月29日 平水韵七阳平韵 这首诗七绝《中秋相思》由无心剑所作&#xff0c;以其深情的笔触描绘了中秋夜的相思之情。 诗中首句“中秋月满意深长”即以中秋圆月为起点&#xff0c;勾勒出了一幅…...

Python画笔案例-051 绘制赵爽弦图

1、绘制赵爽弦图 通过 python 的turtle 库绘制 赵爽弦图&#xff0c;如下图&#xff1a; 2、实现代码 绘制 赵爽弦图&#xff0c;以下为实现代码&#xff1a; """赵爽弦图.py本程序演录了如何自定义形状&#xff0c;如何把它添加到造型字典。赵爽弦图是用来证明…...

SEGGERS实时系统embOS推出Linux端模拟器

SEGGER 发布了两个新的 embOS 仿真模拟器&#xff1a;embOS Sim Linux 和 embOS-MPU Sim Linux。 通过模拟 Linux 主机系统上的硬件&#xff0c;取代物理硬件&#xff0c;为开发人员提供了一种无缝的方式来构建原型和测试应用程序。 embOS Sim Linux 端口支持 32 位和 64 位系…...

HTML + CSS - 网页布局之一般布局浮动布局

1. 一般布局 1.1 一般布局相关参数 元素内容常常可以想像为放在一个盒子里&#xff0c;然后在周边加上内边距&#xff0c;边框和外边距&#xff0c;是盒子模型 默认一个块级区域会填充父类所有的行向空间&#xff0c;并且沿着块伸长容纳其内容&#xff0c;可以为块状体设置某…...

python定时任务,定时爬取水质和天气

定时爬取水质和天气 代码 代码 from apscheduler.schedulers.background import BackgroundScheduler import requests import datetimeurlweather "http://localhost:8000/CrwalingViewWeather" # 天气接口 urlwater "http://localhost:8000/CrwalingViewW…...

ARM驱动学习之基础小知识

ARM驱动学习之基础小知识 • sch原理图工程师工作内容 – 方案 – 元器件选型 – 采购&#xff08;能不能买到&#xff0c;价格&#xff09; – 原理图&#xff08;涉及到稳定性&#xff09; • layout画板工程师 – layout&#xff08;封装、布局&#xff0c;布线&#xff0c…...

【字幕】恋上数据结构与算法之019动态数组07打印数组

是吧&#xff1f;什么意思呢&#xff1f;你看啊我们刚刚已经加了三个东西了&#xff0c;我现在希望能够打印一下这个速度&#xff0c;希望能把它里面所有元素打出来&#xff0c;那我们试一下&#xff0c;看它默认是怎么打&#xff0c;这个时候我们右击你会发现它打出来长这样子…...

Python基础语法(3)下

列表和元组 列表是什么&#xff0c;元组是什么 编程中&#xff0c;经常需要使用变量&#xff0c;来保存/表示数据。变量就是内存空间&#xff0c;用来表示或者存储数据。 如果代码中需要表示的数据个数比较少&#xff0c;我们直接创建多个变量即可。 num1 10 num2 20 num3…...

数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例

时间序列概况在日常生活和专业研究中都很常见。简而言之,时间序列概况是一系列连续的数据点 y(0), y(1), …, y(t) ,其中时间 t 的点依赖于时间 t-1 的前一个点(或更早的时间点)。 在许多应用中,研究者致力于预测时间序列概况的未来行为。存在各种建模方法。这些模型通常基于过…...

XML_Tomcat_HTTP

第四章 XML_Tomcat10_HTTP 一 XML XML是EXtensible Markup Language的缩写&#xff0c;翻译过来就是可扩展标记语言。所以很明显&#xff0c;XML和HTML一样都是标记语言&#xff0c;也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义格式。但这不代…...

GPT Prompt

Reference https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-apihttps://platform.openai.com/docs/guides/prompt-engineeringbilibili 8分钟系统学习提示工程,别再说大模型还不够聪明!Prompt Engineering,提示词,Few…...

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别&#xff1f; 在 Go 语言中&#xff0c;channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型&#xff1a;无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为&#xff1a;无缓冲的 channel 是一种同步…...

【字幕】恋上数据结构与算法之014动态数组02接口设计

申请表数组英文单词叫away&#xff0c;而这个数组是怎么样的申请表&#xff1f;数组是一种顺序存储的申请表&#xff0c;什么叫顺序存储&#xff1f;就是数组里面的所有元素&#xff0c;它的内存地址是连续的&#xff0c;大家的内存是连续的&#xff0c;比如说举个例子&#xf…...

ffmpeg硬件解码一般流程

流程 根据硬件名称&#xff0c;查询是否是支持的类型 const char *device_name "qsv"; //cuda enum AVHWDeviceType type av_hwdevice_find_type_by_name(device_name); if(type AV_HWDEVICE_TYPE_NONE) {//如果一个硬件类型是不支持的&#xff0c;打印所有支持…...

微信支付开发-程序开发

一、操作流程图 二、后端代码实现 1、题库实现 a、列表、所有、详情、保存、启禁用、导入答题 b、获取奖品信息、保存奖品信息、 class Question extends Base {// 列表public function getList(){$param $this->request->param();$where [];if(!empty($param[title])…...

【数据结构】排序算法系列——堆排序(附源码+图解)

堆排序 堆排序基于一种常见的**[[二叉树]]结构**&#xff1a;堆 我们前面讲到选择排序&#xff0c;它在待排序的n个记录中选择一个最小的记录需要比较n一1次。本来这也可以理解&#xff0c;查找第一个数据需要比较这么多次是正常的&#xff0c;否则无法知道它是最小的记录。 …...

Linux——应用层自定义协议与序列化

目录 一应用层 1再谈 "协议" 2序列化与反序列化 3理解read,write,recv,send 4Udp vs Tcp 二网络版本计算器 三手写序列和反序列化 四进程间关系与守护进程 1进程组 1.1什么是进程组 1.2组长进程 2会话 2.1什么是会话 2.2会话下的前后台进程 3作业控…...

CGAL 从DSM到DTM-建筑物区域提取

CGAL 从DSM到DTM-建筑物区域提取 生成的DSM被用作DTM计算的基础&#xff0c;即地面表示为过滤掉非地面点后的另一个TIN。主要是去除一些建筑物和植被非地形点。 建筑物立面及连通区域提取 建筑物立面的特征是三角形面片的高度变化剧烈。 通过遍历每一个三角面片&#xff0c;…...

Python--编码解码报错

报错问题 错误信息 UnicodeDecodeError: gbk codec cant decode byte 0xac in position 2: illegal multibyte sequence 通常出现在尝试使用 GBK 编码解码某些二进制数据时&#xff0c;但数据中包含了无法被 GBK 解码的字符。具体错误提示是解码器在处理某个字节时发现该字节无…...

大屏可视化常用图标效果表达

1-echarts-雷达图 2-echarts-仪表盘 3-echarts-水球图&#xff08;利用插件&#xff0c;echarts-liquidfill&#xff09; 4-element UI tree 添加连接线&#xff0c;修改样式或使用插件&#xff08;element-tree-line&#xff09; 5-echarts-漏斗图 6-echarts-饼状图嵌套 optio…...

高通Liunx 系统镜像编译

本文将会介绍如何在编译高通Liunx代码, 具体可以在高通 Linux | 高通下查看相关信息。 编译服务器配置 首先&#xff0c;准备一台Ubuntu 22.04版本主机或者服务器 1&#xff0c;编译Yocto 系统&#xff0c;需要如下一些配置 sudo apt update sudo apt install repo gawk wg…...

105、解析Java中1000个常用类:StringTokenizer类,你学会了吗?

在线工具站 推荐一个程序员在线工具站:程序员常用工具(http://cxytools.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。程序员资料站 推荐一个程序员编程资料站:程序员的成长之路(http://cxyroad.com),收录了一些列的技术教程…...

虚幻引擎 | 实时语音转口型 Multilingual lipsync

实时语音转口型&#xff1a;EPIC的metahuman sdk&#xff0c;NVIDIA的audio2face&#xff0c;都好。本文使用metahuman sdk 需要工具&#xff1a;Metahuman SDK网页账号&#xff0c;获取两日免费tokens https://space.metahumansdk.io/#/unauthorized ———————————…...

vue国际化

前言 现在的大公司都走国际化路线&#xff0c;我们应用程序也不例外。今天就在 Vue3 项目中整一个比较简单的国际化 背景 之前搞国际化的时候&#xff0c;也搜索了很多帖子&#xff0c;但是没有一个可以完整的实现。今天有空搞了一版&#xff0c;大家有什么问题欢迎留言探讨…...

解决tiktoken库调用get_encoding时SSL超时

文章目录 解决tiktoken库调用get_encoding时SSL超时1. 获取词表文件url2. 手动下载词表文件并保存到本地3. 复制并重命名文件4. 环境变量中设置tiktoken cache5. 使用tiktoken库参考资料 解决tiktoken库调用get_encoding时SSL超时 最近在看Build a Large Language Model (From…...