Python-素数

简介: 本文介绍了如何使用 Python 判断素数,并通过具体示例展示了求 100 以内及自定义范围内所有素数的方法。内容包括素数的定义、判断素数的底层逻辑和步骤,以及详细的代码演示。适合初学者参考学习。

学的是b站的课,非本人自创代码!
现在来写一篇博客来讲解求素数的方法,[如果讲述不清可以私信问哈,如果讲的不好也可以说,毕竟自己还是入门水平].


目录
一.素数的定义
二.判断素数
1.底层逻辑
2.步骤
3.演示
三.求100以内所有素数
1.底层逻辑
2.步骤
3.演示
四.求自定范围内的所有素数
1.底层逻辑
2.步骤
3.演示
总结


一.素数的定义

素数是指一个大于 1 的自然数,除了 1 和它自身外,不能被其他自然数整除的数。例如,2、3、5、7、11 等都是素数,而 4、6、8、9、10 等都不是素数。

二.判断素数

1.底层逻辑

输入一个数,判断它除了1和自身外还有没有其他的因数.

2.步骤

1.请输入一个数.

# 判断素数
a = int(input("请输入一个数:"))

2.规定目前因数为0.

# 判断素数
a = int(input("输入一个数:"))
num = 0

3. 规定除数为i.

# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):

4.判断除后余数是否为0.

# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):
    if a % i == 0:

5. 如果是余数,则因数加1.

# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):
    if a % i == 0:
        num = num +1

6.可以判断除该数不是素数,程序跳出循环.

# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):
    if a % i == 0:
        num = num +1
        break

7. 只有num=0时,n才是素数.

# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):
    if a % i == 0:
        num = num + 1
        break
if num == 0:
    print("是素数")
else:
    print("是合数")

3.演示

image.png

三.求100以内所有素数

1.底层逻辑

因为求100以内,所以要对每个数都进行判断,将上文的输入换成遍历数字就行.

2.步骤

1.遍历2-100所有的数,我们用for…in循环语句.

# 求100以内所有的素数
for n in range(2,100):

2. 接着与上文相同.

# 求100以内所有的素数
for n in range(2,100):
    num = 0
    for i in range(2, n):
        if n % i == 0:
            num = num + 1
            break

3.因为只用输出素数,所以只用写 if语句.

# 求100以内所有的素数
for n in range(2,100):
    num = 0
    for i in range(2, n):
        if n % i == 0:
            num = num + 1
            break
    if num == 0:
        print(n,"是素数")

3.演示

image.png

四.求自定范围内的所有素数

1.底层逻辑

将上文的range换成input函数自己输入即可.

2.步骤

1.规定下限.

# 求自定范围内的所有素数
a = int(input("请输入下限:"))

2. 规定下限.

# 求自定范围内的所有素数
a = int(input("请输入下限:"))
b = int(input("请输入上限:"))

3.按照上文补齐语句.

# 求自定范围内的所有素数
a = int(input("请输入下限:"))
b = int(input("请输入上限:"))
for n in range(a,b):
    num = 0
    for i in range(2, n):
        if n % i == 0:
            num = num + 1
            break
    if num == 0 and n != 1:
        print(n,"是素数")

3.演示

image.png

总结

在 Python 中判断一个数是否为素数可以使用试除法或优化的试除法。在实际应用中,需要考虑多种情况,如负数、0、1、大数和特殊类型的数。根据不同的需求,可以选择不同的方法来判断素数。同时,素数在密码学、数学计算和数据筛选等领域都有广泛的应用。希望这篇博客对你理解和使用 Python 判断素数有所帮助。

个人认为这些程序的本质不变,举一反三。同志们多多调试,多改错,就会记住语法。有解释的不好的地方多多包涵,谢谢观看!

我也知道自己现在对 Python 的理解可能还只是些皮毛,在学习的过程中,肯定有不少地方理解得还不够准确、不够深入。要是我在这儿讲的这些想法和理解,有啥不对的地方,还请同志们多多包涵呀。我这也是想把自己的学习心得和大家分享分享,说不定还能互相交流交流,让大家都能在学习 Python 的路上走得更顺呢。

好啦,啰啰嗦嗦说了这么多,总之就是谢谢大伙能抽出时间来看我这些碎碎念啦,希望咱们都能在 Python 的学习中收获满满呀!再次谢谢观看!

相关文章
|
9月前
|
Python
435: 素数的求解(python)
435: 素数的求解(python)
|
9月前
|
算法 Python
Python判断素数
Python判断素数
|
9月前
|
Python
利用Python判断一个数是否为素数
利用Python判断一个数是否为素数
231 0
|
9月前
|
机器学习/深度学习 人工智能 算法
【代数学作业1完整版-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
【代数学作业1完整版-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
195 0
|
9月前
|
机器学习/深度学习 人工智能 算法
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
155 0
|
9月前
|
机器学习/深度学习 Python 算法
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
|
9月前
|
Python
Python基础【素数判断、插入字符串、插入排序】
Python基础【素数判断、插入字符串、插入排序】
|
8月前
|
Python
【Python 训练营】N_6 求素数
【Python 训练营】N_6 求素数
30 0
|
9月前
|
Python
1174: 绝对素数(python)
1174: 绝对素数(python)
|
9月前
|
Python
189: 素数判定(python)
189: 素数判定(python)