python判断是否为素数

 下面的自定义函数是判断一个自然数是否为素数。利用的是6倍原理。一个自然数都能写成6的形式。如:6K+N(0=<N<=5的整数)。N为0,2,3,4的时候6K+N能被1和本身以外的数整除,也就是一个数只有在除以6的时候余数为1或者5的才有可能是素数。之所以说有可能是要排除掉25能被6X1-1整除,35=(6X1-1)*(6X1+1),排除掉这种情况就可以了。代码如下:

# -*- coding: utf-8 -*-
"""
Created on Tue Aug 21 22:35:59 2018

@author: FanXiaoLei
"""
#python判断一个整数是否为素数
def isprime(num):
    if num<=1:
        return False
    elif num==2 or num==3:
        return True
    elif num%6!=1 and num%6!=5:
        return False
    else:
        sqrtn=int(num**0.5)+1
        flag=True
        for i in range(5,sqrtn,6):
            if num%i==0 or num%(i+2)==0:
                flag=False
                break
        return flag

猜你喜欢

转载自blog.csdn.net/qq_24499417/article/details/82114422