python判斷是否為素數
阿新 • • 發佈:2018-11-16
下面的自定義函式是判斷一個自然數是否為素數。利用的是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