学的是b站的课,非本人自创代码!
现在来写一篇博客来讲解求素数的方法,[如果讲述不清可以私信问哈,如果讲的不好也可以说,毕竟自己还是入门水平].
目录
一.素数的定义
素数是指一个大于 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.演示
三.求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.演示
四.求自定范围内的所有素数
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.演示
总结
在 Python 中判断一个数是否为素数可以使用试除法或优化的试除法。在实际应用中,需要考虑多种情况,如负数、0、1、大数和特殊类型的数。根据不同的需求,可以选择不同的方法来判断素数。同时,素数在密码学、数学计算和数据筛选等领域都有广泛的应用。希望这篇博客对你理解和使用 Python 判断素数有所帮助。
个人认为这些程序的本质不变,举一反三。同志们多多调试,多改错,就会记住语法。有解释的不好的地方多多包涵,谢谢观看!
我也知道自己现在对 Python 的理解可能还只是些皮毛,在学习的过程中,肯定有不少地方理解得还不够准确、不够深入。要是我在这儿讲的这些想法和理解,有啥不对的地方,还请同志们多多包涵呀。我这也是想把自己的学习心得和大家分享分享,说不定还能互相交流交流,让大家都能在学习 Python 的路上走得更顺呢。
好啦,啰啰嗦嗦说了这么多,总之就是谢谢大伙能抽出时间来看我这些碎碎念啦,希望咱们都能在 Python 的学习中收获满满呀!再次谢谢观看!