一种比较巧妙的高效率质数判断法


前言

质数,又名素数(prime number),是算法竞赛出题常用的一种角度。素数的定义是只能被1和它本身整除的数字叫做素数。算法竞赛中与此有关的知识点有素数判断、素数筛等。由于判断质数在比赛出题中常常作为解题的其中一小步,因此我们常常用写一个isprime函数的方式来进行素数判断。此函数的功能为接收一个整数,若此整数为素数,返回true,否则返回false。

在之前的文章里已经提到过了素数判断的一般方法,即遍历2到sqrt(n),寻找是否有n的因数。在介绍本篇文章的方法之前,我们先来进行必要的知识储备。

一、知识储备和证明

结论:除2,3以外素数必然临近6的倍数,即一个除了2,3以外的素数一定可以用6n+1或者6n+5来表示(n=1,2,3,4…)。

证明:将所有自然数为6n+0, 6n+1, 6n+2, 6n+3, 6n+4, 6n+5, 易证6n+0一定能被6整除,6n+2</

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值