筛法求素数python
A. python 中怎么判断一个数是否为1
如果这个数是从输入中得到的,可以用一下判断
a=input()
ifais'1':
print("Yes,inputnumberis1")
如果在代码中,1可能是个数字,也可能是字符串,若是数字类型,直接用数字比较
a=1
ifais1:
print("Yes,thenumberis1")
B. python中编程求1到100之间的素数有几种方法
六种。
方法一: 穷举法
方法二: 开方减"半"法
方法三:去除偶数法
方法四:使用列表法。
方法五:素数性质法
方法六: 埃拉托斯特尼筛法
拓展资料:Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上
Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如着名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
C. python中用while循环计算100到10000的素数
素数的计算方法有很多种。
最朴素的办法是,用所有小于n但大于1的整数去除n,如果均不能除尽,那么,n就是素数。这就是筛法的核心。
进一步,除了2之外,所有素数都是奇数,那么,用于试商的可以只用小于n但大于1的奇素数,并且只对奇数进行试商。
再进一步,如果一个数n可以分解为两个因数相乘,那么,至少其中一个因数是不大于n的平方根的,所以,我们可以对奇数n用不小于n的平方根但大于1的奇素数去试商。
到这一步,已经可以用来对一个比较小的数进行进行“是否是素数”的检查了。麻烦的只是需要建立一个素数表,记录从小到大我们找到的每一个素数。
参考以下代码:
素数计算
筛法还有更高的应用方式,比如while中对i不是每次加而是每次加素数表前若干个数的积,如6,30,210中的某一个。(2是第一个素数)这种需要更多的控制,实现复杂,对速度的提升远没有只对奇数试商和只用平方根以下的素数试商的提升大。
除了筛法以外,还有其它的方式去判断一个数是不是素数,这里就不罗列了。
对于这道练习题,会筛法就足够了,想进一步提升,你可以在上图给出的方法的基础上尝试用步长为6的循环来做,如果做到了,那么步长为30或更大的就只是体力活了。