前言
Python的学习记录与分享——PTA程序设计类教学平台。如果你也正在学习关于此类的题目可以仔细阅读这篇文章,了解一下循环结构、素数的基本语法知识。
题目:
7-5就区间正整数内所有素数之和 (20分)
【描述】求m-n以内所有素数之和并输出。"htmlcode">
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';
结束
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Python求区间正整数内所有素数之和的方法实例”评论...
更新日志
2024年11月08日
2024年11月08日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]