Python-素数

学的是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.请输入一个数.

ini 复制代码
# 判断素数
a = int(input("请输入一个数:"))

2.规定目前因数为0.

ini 复制代码
# 判断素数
a = int(input("输入一个数:"))
num = 0
  1. 规定除数为i.
ini 复制代码
# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):

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

ini 复制代码
# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):
    if a % i == 0:
  1. 如果是余数,则因数加1.
ini 复制代码
# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):
    if a % i == 0:
        num = num +1

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

ini 复制代码
# 判断素数
a = int(input("输入一个数:"))
num = 0
for i in range(2,a):
    if a % i == 0:
        num = num +1
        break
  1. 只有num=0时,n才是素数.
ini 复制代码
# 判断素数
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.演示

三.求100以内所有素数

1.底层逻辑

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

2.步骤

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

python 复制代码
# 求100以内所有的素数
for n in range(2,100):
  1. 接着与上文相同.
ini 复制代码
# 求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语句.

ini 复制代码
# 求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.演示

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

1.底层逻辑

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

2.步骤

1.规定下限.

ini 复制代码
# 求自定范围内的所有素数
a = int(input("请输入下限:"))
  1. 规定下限.
ini 复制代码
# 求自定范围内的所有素数
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.按照上文补齐语句.

ini 复制代码
# 求自定范围内的所有素数
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.演示

总结

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

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

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

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

相关推荐
Jay_Franklin7 小时前
SRIM通过python计算dap
开发语言·python
是一个Bug7 小时前
Java基础50道经典面试题(四)
java·windows·python
吴佳浩7 小时前
Python入门指南(七) - YOLO检测API进阶实战
人工智能·后端·python
liliangcsdn8 小时前
python下载并转存http文件链接的示例
开发语言·python
大、男人8 小时前
python之Starlette
python·uvicorn
小智RE0-走在路上10 小时前
Python学习笔记(11) --数据可视化
笔记·python·学习
历程里程碑10 小时前
hot 206
java·开发语言·数据结构·c++·python·算法·排序算法
Coder_Boy_10 小时前
Java+Proteus仿真Arduino控制LED问题排查全记录(含交互过程)
java·人工智能·python
qq_3561969510 小时前
day47_预训练模型与迁移学习@浙大疏锦行
python
Tipriest_11 小时前
C++ 的 ranges 和 Python 的 bisect 在二分查找中的应用与实现
c++·python·算法·二分法