ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python中求素数的算法,超简单思路,一看就会

2021-01-01 16:01:42  阅读:492  来源: 互联网

标签:False 中求 python 质数 range 素数 整除 True


本文章转载于慕课网手记,作者:Gorit ,本人加入了自己理解!

点击链接既可以跳转:点击

一、什么是素数?
素数就是质数,通俗点说就是只能被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

不过慕课网也是没谁了,复制也不好复制,完了之后,复制一次就出现一次链接,唉真烦;

个人理解,非常详细,有不懂的留言问我!!

#创建方法,定义形参!
def test4(s,n):
    for f in range(s,n):#这个就是区间范围,在后面调用参数设置参数的话,会给与出来!
        t = False #设置默认变量t ,t的值为False;不用想太多,只单单认为他是一个变量
        for j in range(2,f):#在创建一个循环,因为质数2和1都不属于质数,所以从2开始,到f结束。f就是上一个for循环的结果
            if f%j==0:#f就是我们要求的区间中的数,拿f除以2-f之间的所有数,余数若等于0,则会继续向下执行,如果不是,则不会执行一下的语句
                t=True#若余数则是0.则从新赋值t为True
                break#跳出循环
        if t ==False:#素数是不可能执行 t=True这个语句,所以t = False,一直是t = False,用if判断,当t ==False时,执行输出语句#如果t=True,那么就不会执行
            print(f,end=" ")#f为满足t ==False 输出,end这里是换行,并且“ ” 是保持空格
test4(100,200)#调用函数,设置参数!!

标签:False,中求,python,质数,range,素数,整除,True
来源: https://blog.csdn.net/m0_48462648/article/details/112060497

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有