博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 判断101-200之间有多少个素数,并输出所有素数。
阅读量:6258 次
发布时间:2019-06-22

本文共 1224 字,大约阅读时间需要 4 分钟。

程序分析:

一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数

一、参考解法:

判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

from math import sqrth=0for m in range(101,201):    leap=1    k = int(sqrt(m))        #返回数字的平方根    for i in range(2,k+1):#K+1,表示从2循环到K(包含k)        if m % i==0:            leap=0            break    if leap==1:        print('%-4d'%m)        h+=1        if h % 10==0:            print('')print('The total is %d'%h)

   

二、参考解法:

使用函数解法

from math import sqrth=0def su(n):    global h         #声明全局变量    for i in range (2,int(sqrt(n)+1)):        if n%i==0:            return    print('%d'%n)    h +=1    if h%10==0:        print('')    returnfor j in range(101,201):    su(j)print('The total is %d'%h)

   

三、参考解法:

使用集合解法

l=[ ]for i in range(101,200):    for j in range(2,i-1):        if i % j==0:            break    else:                  #for......else 中,else语句会在 for 不通过 break 跳出而中断的情况下执行。        l.append(i)print(l)print('总数为:%d'%len(l))

   

四、参考解法:

使用列表切片解法

import mathp=range(101,201)aList=list(p)for i in range(101,201):    for j in range(2,int(math.sqrt(i)+1)):        if i % j==0:            aList.remove(i)            breakprint(aList)print('总数为:%d'%len(aList))

  

转载于:https://www.cnblogs.com/python-xkj/p/9218331.html

你可能感兴趣的文章
魔方NewLife.Cube升级v2.0
查看>>
Silverlight 引路蜂二维图形库示例:颜色
查看>>
使用PS保存PDF为图片(JPG)
查看>>
40款不容错过的个人摄影设计作品集网站
查看>>
使用 PIVOT 和 UNPIVOT 行转列
查看>>
【Spring实战】—— 5 设值注入
查看>>
应聘华为 16道经典面试题及回答思路
查看>>
iOS tabbar 自定义小红点 消息显示,定制边框、颜色、高宽
查看>>
JavaScript:JavaScript语法的详细介绍
查看>>
java校验时间格式 HH:MM
查看>>
C# SQL 整表插入
查看>>
CSS3效果:animate实现点点点loading动画效果(二)
查看>>
NYOJ92 图像实用区域 【BFS】
查看>>
Maven常见异常及解决方法(本篇停更至16-4-12)
查看>>
微信小程序wx.previewImage实用案例(交流QQ群:604788754)
查看>>
用SSH解决大局域网反向端口转发问题
查看>>
【来龙去脉系列】机器学习入门必读
查看>>
VMware给虚拟机绑定物理网卡
查看>>
ROS中测试机器人里程计信息
查看>>
Python 能做什么?
查看>>