1. 程式人生 > >python判斷是否為素數

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