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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值