您当前的位置:中国教育在线资讯正文

Python编程新手看过来怎么求素数(Python学习教程)

放大字体  缩小字体 2019-08-14 20:24:35  阅读:8039 来源:自媒体 作者:千锋Python-晨晨

原标题:Python编程新手看过来,怎样求素数 (Python学习教程)

本期的Python学习教程是针对新入门Python编程的新手来写的:关于怎样求素数!

素数便是质数,浅显点说便是只能被1和其自身整数的数便是素数(1在外)

举个比方:

2,3,4,5,6傍边,依据上面的界说,2只能被1整数(由于任何数和1整除都都等于它自身)

2/1=2
2/2=1
所以 2 是素数
3/1 =3
3/2 =1.5
3/3 = 1
所以 3 也是素数

咱们再看 4

4/2 = 2

由于 4 不仅能被 1 和 其自身整除,还能够被2整除,所以4不是素数,所以后边都能够不必计算了

后边的就以此类推

这儿给咱们供给两种思路,仅供参考

第一种编程思路:咱们给定一个数字 x ,然后咱们使用 2 ~ (x -1) 之间的每一个数字与 x 进行整除,假如呈现能够被整除的状况,则这个数字就不是素数,然后循环就能够跳出去

# 求 a~b之间的素数

def su(a,b):

for i in range(a,b):

n = False #默许不是素数,假如是素数,跳出循环

for j in range(2,i):

if i%j == 0:

n = True

break

if n == False:

print(i,end=" ")

su(100,200)

# ans 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173

# 179 181 191 193 197 199

第二种编程思路,进步编程功率,假如咱们要求的素数的区间比较大,比方 1w ~ 2w,然后光双层循环就会糟蹋许多的时刻,所以,咱们能够把判别条件改一下,咱们不必把 2 ~ (x-1)之间的每一个数字进行整除,只需要对其 x^(0.5) 进行循环相同能够得到成果

# 求 a~b之间的素数

def su(a,b):

for i in range(a,b):

n = False #默许不是素数,假如是素数,跳出循环

for j in range(2,int(i**0.5)):

if i%j == 0:

n = True

break

if n == False:

print(i,end=" ")

su(100,200)

今日先的Python学习教程首要针对的是新入门的同伴,Python刚起步的小同伴能够要点看一下了。后边更多的Python学习教程Python学习道路会持续为咱们共享!!!

责任编辑:

“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!