Python求区间正整数内所有素数之和的方法实例


Posted in Python onOctober 13, 2020

前言

Python的学习记录与分享——PTA程序设计类教学平台。如果你也正在学习关于此类的题目可以仔细阅读这篇文章,了解一下循环结构、素数的基本语法知识。

题目:

7-5就区间正整数内所有素数之和 (20分)

【描述】求m-n以内所有素数之和并输出。‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬素数指从大于1,且仅能被1和自己整除的整数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬提示:可以逐一判断区间[m,n]之间以内每个数是否为素数,然后求和。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬若m?n之间无素数,则输出“not have prime!”:

输入格式:

在一行输入2个正整数m,n。m可以大于n。例如计算1?100之间(包括100),可以输入100 1

输出格式:

若有素数,输出素数之和的一个整数,若该区间没有素数则输出not have prime!。

输入样例:

1 100

输出样例:

1060

答案

m, n = map(int, input().split())
sum = 0
if m > n:
  m, n = n, m
for i in range(m, n+1):
  if i != 1:
    for j in range(2, i):
      if i % j == 0:
        break
      else:
        pass
    else:
      sum += i
if sum == 0:
  print('not have prime!')
else:
  print(sum)

详细解析:

首先了解什么是素数

质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。

举个例子:7这个数,从2开始一直到6,都不能被它整除,只有1和它本身(7)才能被整除,所以7就是一个质数。

编写代码

1. 根据题目要求:在一行输入2个正整数m,n。

m, n = map(int, input().split())

  map()会根据提供的函数对指定序列做映射。它的返回结果是一个列表在

     ----这里的作用就是将多个输入值批量转换成in----

  split()方法指定分隔符对字符串进行切片,如果参数num 有指定值则仅分隔 num 个子字符串

    ----这里的作用就是将输入的一条字符串以空格为分隔符切割----

2. 首先学会判断一个数是不是素数的代码

i=7    "用7举例"
for j in range(2, i):  "for循环让7除以2-7之间的数"
  if i % j == 0:
 break   "如果是i除j等于0说明不是素数直接(break)结束循环"
 else:
 print("是素数")

         range(start,end,step=)-----range(开始值,结束值,步长)没写默认为1

3. 判断多个数是不是素数

定义一个i,用for循环让i在里面m-n之间取值

for i in range(m, n+1):
  if i != 1:   “开始的条件必须是i不能等于1”
    for j in range(2, i):
      if i % j == 0:
        break
      else:
        pass
    else:
      sum += i  “如果是就在sum里面加上这个(i)素数”

4. m、n从小到大排序

 上面的素数判断都会了后会发现一个问题就是,如果用户输入100 1时运行会发生错误那么我们则需要在判断素数前保证m是小的值,n是大的值。

if m > n:
  m, n = n, m

5. 输出答案

if sum == 0:   “如果sum在前面的整个for循环里都没有素数加入”
  print('not have prime!')  “那么输出'not have prime!'”
else:    “否则”
  print(sum)    “输出答案”
// An highlighted block
var foo = 'bar';

结束

到此这篇关于Python求区间正整数内所有素数之和的文章就介绍到这了,更多相关Python区间正整数内所有素数之和内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现递归遍历文件夹并删除文件
Apr 18 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
python八皇后问题的解决方法
Sep 27 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
基于python实现数组格式参数加密计算
Apr 21 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
Python必须了解的35个关键词
Jul 16 Python
Python常驻任务实现接收外界参数代码解析
Jul 21 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 Python
python关于倒排列的知识点总结
Oct 13 #Python
Python如何使用ElementTree解析xml
Oct 12 #Python
Django ModelForm组件原理及用法详解
Oct 12 #Python
Python ConfigParser模块的使用示例
Oct 12 #Python
python修改微信和支付宝步数的示例代码
Oct 12 #Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 #Python
Django限制API访问频率常用方法解析
Oct 12 #Python
You might like
索尼ICF-SW100收音机评测
2021/03/02 无线电
文件上传类
2006/10/09 PHP
模拟xcopy的函数
2006/10/09 PHP
php 把数字转换成汉字的代码
2015/07/21 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
基于jQuery实现的打字机效果
2017/01/16 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
python脚本爬取字体文件的实现方法
2017/04/29 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
python如何从文件读取数据及解析
2019/09/19 Python
python小白学习包管理器pip安装
2020/06/09 Python
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
Solaris操作系统的线程机制
2012/12/23 面试题
百度软件工程师职位
2013/02/14 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
初婚初育证明
2014/01/14 职场文书
自主招生自荐信格式
2015/03/04 职场文书
实习推荐信格式模板
2015/03/27 职场文书
2015年班组工作总结
2015/04/20 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
浅谈Python魔法方法
2021/06/28 Java/Android
Tomcat用户管理的优化配置详解
2022/03/31 Servers