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使用PyV8执行javascript代码示例分享
Dec 04 Python
Python的迭代器和生成器
Jul 29 Python
Django Admin实现上传图片校验功能
Mar 06 Python
Python正则抓取网易新闻的方法示例
Apr 21 Python
python中计算一个列表中连续相同的元素个数方法
Jun 29 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
Django 自定义404 500等错误页面的实现
Mar 08 Python
Python 实现集合Set的示例
Dec 21 Python
Python面向对象之内置函数相关知识总结
Jun 24 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
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
JS中script标签defer和async属性的区别详解
2016/08/12 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
Python读取csv文件实例解析
2019/12/30 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
门卫班长岗位职责
2013/12/15 职场文书
大学军训感言1000字
2014/02/25 职场文书
学校读书活动总结
2014/06/30 职场文书
会计岗位说明书
2014/07/29 职场文书
地理科学专业自荐信
2014/09/01 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
pandas中DataFrame检测重复值的实现
2021/05/26 Python