获取小于N的素数 优化筛选法的C++实现

本文探讨孪生素数定理,并提供C++代码实现优化筛选法寻找小于N的素数。根据定理,当N不小于6且N-1和N+1为孪生素数时,N是6的倍数;若N大于5,素数N除以6的余数只能是1或5。代码利用这些性质高效地找出素数。
摘要由CSDN通过智能技术生成

孪生素数(间隔为2的相邻素数)的相关定理与推论

  1. P1: 当 N 不小于 6 且 N-1 和 N+1 为 孪生素数, 则 N 一定是 6的倍数

    T1:当 N 不小于 1 且 N=6x-1 或 N=6x+1 不是素数, 那么 N 一定不是 2和 3的倍数

  2. P2:当N 不小于 5 时,若 N 为素数,那么N mod 6 =1或N mod 6 = 5
    T2: 一个大于5的数有且只有整除6余数是 1 或者 5 才有可能是素数
    一个数整除6的余数只可能是1,2,3,4,5; 但是余数为2,3,4的情况下肯定是合数
    T3: 一个大于3的素数,其与下一个素数之间的间隔是偶数

具体代码如下

/*
 ***************************************************************
 *    NAME: sp.cpp
 *    DESC: 
 *  AUTHOR: Liu Dongguo(jealdean@outlook.com)
 * VERSION: 1.0
 *  CREATE: 2015-04-10 19:53:36
 *  LUTIME: 2015-04-10 20:00:53
 *
 * Copyright (c) 2007 - 2015 Abodu.com,Inc. All Rights Reserved
 *
 ***************************************************************
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值