本文将从以下几个方面对Python编写素数判断函数并调用进行详细阐述:
- 什么是素数?
- 素数的判断方法
- Python编写素数判断函数
- 调用Python素数判断函数
一、什么是素数?
在整数中,除了1和它本身,没有其他数能够整除它的数被称为素数。比如2、3、5、7、11等就是素数,而4、6、8等就不是素数。
二、素数的判断方法
素数的判断方法有很多种,以下是其中几种常用的方法:
1.试商法
试商法,又称试除法,就是用每个小于被测数的自然数去除它,如果能被整除,则该数不是素数。实现代码如下:
def is_prime(n): if n <= 1: return False for i in range(2, n): if n % i == 0: return False return True
2.埃氏筛法
埃氏筛法又称素数筛法,是一种很好的素数筛法算法,利用了每个素数的倍数一定不是素数这个规律。实现代码如下:
def is_prime(n): if n <= 1: return False prime_list = [True] * (n + 1) prime_list[0] = False prime_list[1] = False i = 2 while i * i <= n: if prime_list[i]: j = i * i while j <= n: prime_list[j] = False j += i i += 1 return prime_list[n]
三、Python编写素数判断函数
Python编写素数判断函数代码已经在上一章中给出,这里重点讲解一下埃氏筛法实现的原理:
首先初始化素数列表prime_list,设置所有元素为True,表示它们都是素数。然后将第0个和第1个元素设置为False,因为0和1不是素数。
接下来从i=2开始遍历到sqrt(n),如果prime_list[i]为True,则将它的倍数prime_list[j]都设置为False。这里是利用了每个素数的倍数一定不是素数的规律。
最后返回prime_list[n]就是n是否为素数的结果。
四、调用Python素数判断函数
调用Python素数判断函数非常简单,只需要传入一个整数n作为参数,然后判断返回值即可。
if is_prime(7): print("7是素数") else: print("7不是素数")
这里判断7是否是素数,如果是则输出“7是素数”,否则输出“7不是素数”。
总结
本文通过介绍素数的定义和判断方法,详细讲解了Python编写素数判断函数的方法,并给出了使用埃氏筛法实现素数判断的代码示例。同时也介绍了如何调用已经编写好的Python函数。希望本文能够帮助到大家。