首页 > 编程知识 正文

用Python编写素数判断函数并调用

时间:2023-11-19 01:17:32 阅读:293688 作者:TQWF

本文将从以下几个方面对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函数。希望本文能够帮助到大家。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。