求孪生素数c++_绝对是重大突破:一次性找出所有素数的方法和大合数对应素数乘积简易解法...

感谢所有给出意见的大神们,无论什么意见都非常感谢你们花时间看了这个并给出了宝贵的意见。我会根据大家意见不断改进更新其中让人误解的地方或者错误的地方。谢谢各位大神。

先说明下我个人认为此法的好处:我的方法是无脑筛法,其实也说不上筛法,的确很简单,只要无脑画图就可以了。通过大家的不理解我更坚定了这个绝对是重大的突破了。因为我将对素数的求法的问题转化为了画图的就能解决的问题,这本身就是最重大的突破。并且素数所有的问题都可以通过这个来解释。但我觉的他的主要作用在于:

1目前计算机每次判断一个数N=n*n是否素数都要重新将n之前的数字除一遍,并且对N之前或者N之后的数字是否素数都一无所知,每次都需要重新判断。但是用我画图的方法判断了N之后,N之前所有的数字哪些是素数一目了然,并且其实N到N*N以内的素数也一可以判断。所以才叫一次找出所有素数。不是通过一个个除来实现,而是通过画图就可以来实现了。

Ps:这里补充说明一点,好多人说我这个筛法没啥新意,几千年前就有了。那其实是他们误解了。无论多好的筛法都是有限定条件要判断的,而且每重新判定一个素数,都要重新在筛选一遍。我的方法是不需要任何判定条件的。只需要不停无脑划线就可以了。这就相当于一个简单的方程式y=2x+1,每给定一个x值你都要重新计算得到一个y值,但是我给你画了个图像说这个包含所有的x,y值了。你说这个没啥没啥新鲜的,还是按照每给一个x值对应一个y值来的。这就是我说的重大突破,可以通过画图解决,并给出了画图后的判定条件。

2画图另外一个重要好处是对于任何合数的乘积都能很好判断,哪条线穿过哪个数就是质因子。所以对素数乘积为算法的密码法是个问题。但问题是计算机能不能实现这个画图,如果画图实现起来比目前判断素数的每次单独重复除还困难,那这个的确就没有意义了。

3,通过以sin函数做图选素数的方法,发现了以周期函数的做法至少发现了部分素数之间的联系,设T=P1*P2*P3***Pr时,任意Pn-K*T<Pr*Pr时,Pn-K*T必然是素数或者是1。而哥德巴赫猜想要想证明,必然需要找到素数之间的联系才可能证明。周期T和Pn-K*T<Pr*Pr时是素数毫无疑问是关键。哪位大神据如果用到了此点证明了哥德巴赫猜想的话请记得也署上我的名字作为联名作者啊,哈哈哈。

方法如下:从0开始,做1/2周期为2,3,4,5,6,7,8,9,10……一次做正玄函数(即做sin(π*x/2)sin(π*x/3)以此类推),做完图后然后回来检查图上的所有数字,如果只有一条线穿过的就是素数。有两条线或者多条线的就是合数,并且代表此数肯定是这两条线或多条线所代表的数的乘积。 如果划线只画2.3.5.7.9.11。。。。做正玄函数时,那就看所有的奇数,只有一条线穿过的为素数,有两条线或者多条线的就是合数,并且代表此数肯定是这两条线或多条线所代表的数的乘积。也就是求素数的问题最终转化为了划线解决问题。

我做图渣渣,制作了2,3,5三条线线只是做个简单示例。你可以按照我的方法随便做线,绝对经得起考验。2,3,5,只要一条线通过所以时素数,6有2,3两条线通过,所以必定能写成2和3的乘积。无论画多少条线,都符合只要有一条线通过的就注定是素数。

040594c76c3d47aadec52b13c9bb48d4.png

目前素数所有发现的所有规律都可以通过这个图像来验证解释:

例如:素数所有发现的规律都能按照这个图像来解释。例如两个素数之间的距离可以无限大。根据周期函数的图像特点.我们知道当Qn=P1*P2*P3***Pi时,Qn+P2到Qn+Pi肯定全部是合数,素数无穷,所以两个素数之间的距离可以无限大。比如素数有任意长度的等差数列,比如为何每隔n必然出现一个素数,。。。。。。等等

当然你还可以图像做出自己的发现和解释,以下是我的目前的发现:

1.孪生素数为什么会出现,他出现的核心原因是无论周期T多么大,如果按照正常的周期运行完不被破坏,令数Qn=T, 则Qn-1 和Qn+1必然是其中的解,因为1没有任何图像经过。这就是孪生素数会出现的理论终极解释

2比如梅森素数,梅森素数要想出现必然出现Ti+1处,也就说只有Ti+1是素数才可能是梅森素数,因为只有此处才符合所有余数是0,然后+1变成素数,再+1变成只能被2整除不能被其他数整除的数。利用这个方法其实可以先排除很多不可能的素数,只需先验证P1*P2*P3***Pi+2是否是2^t,如果不是就可以直接排除了。如果是看t是否是素数,如果还是在验证Ti+1是否素数。当然最简单的方法还是通过图像上直接观察,标定2^t,看他前面的数是否素数,如果是在判断t是否是素数就可以了。

3. 发现了将来证明哥德巴赫猜想的核心因素,两个素数之间的联系,设Ti=P1*P2*P3**Pi,如果P你是素数,当Pn-K*Ti<Pr*Pr时候,Pn-K*Ti=Qn Qn也肯定是素数或者1。等于1应该对应N=Pn+1时候可能素数解之一。为什么这个会成立原因如下:Sin函数毕竟是周期函数并且对称,所以感觉可以把素数看成是看成是周期是Ti=P1*P2*P3**Pi周期函数,只不过是永远被中途破坏的完不成整个周期的函数。但因为Pi只能保证到 Pi*Pi内的数为素数,一般Pi*Pi远小于Ti,所以导致了它是不断被破坏的不完全的周期函数。如果N=n*n,在N内只要不被n以内的数整除,就一定是素数。所以对于任意N以内的素数就变成只画2-n之间的正玄函数图像就可以了。 相当于可以把N看做是Tn的周期函数。但Tn远远大于N,所以操作性不大。但既然是周期函数,即使大周期也要符合小周期的特点,虽然不完全,但也应该符合Pn-K*Ti=Pm Pm也注定是素数或者1。但前提条件是:Pn-K*Ti<Pr*Pr。Ti可以取更小的周期使Pn-K*Ti-1的数小于Pr*Pr。(感谢大神提供的331-210=121的反例,我原来以为小于Pn-K*Ti<Ti就可以了),另外有个问题是Pn-K*Ti 有可能对应1,而1不是素数也不是合数,这个要单独注意。我觉得这个素数Pm和Pn的联系肯定是证明哥德巴赫猜想猜想的关键点之一。对不完全不断被破坏的周期函数我做个说明(例如:T1=P1=2,T2=P1*P2=6,T3=P1*P2*P3=30,T4=210,以此类推,正常的话比如1-6以内的数实际是按照周期为T2=6来运行的。1-30以内的所有数按照T3=30的周期函数运行,都没有问题,因为他们T所对应的Pr所能保证的素数范围都在周期结尾。1-210以内的数正常应该是按照期为T4的周期函数运行。但7只能保证到49以内的数为素数,但11*11,11*13等等均通过了T4周期的筛选标准应该是素数,但实际上他们不是素数,因为他们后边的素数11,13起到了作用,所以素数是周期不断被破坏的周期函数)。

4,通过画图还可以轻易得到合数的质因子,无论多大的合数。这个也是原来的筛法不可能解决的。

所以这个能不算重大突破吗,更多规律等待你的发现。也欢迎大家来找出其中不足的地方,我坚信画图经得起时间的检验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常感谢您的提问。对于这个问题,我可以为您提供以下算法实现思路: 首先,我们需要构建一个包含所有素数的列表,以便于后续判断相邻两个数的和是否为素数。可以使用筛法素数方法构建该列表。 接下来,我们可以使用回溯算法来实现对素数环的解。具体实现思路如下: 1. 定义一个列表 visited,记录当前已经在素数环中的数字。初始状态下 visited 为空列表。 2. 定义一个函数 is_prime,判断一个数是否为素数。 3. 定义一个函数 dfs,实现对素数环的搜索。dfs 函数可以接受以下参数: - current: 当前搜索到的位置,即已经在素数环中的数字个数; - n: 素数环中数字的总个数; - primes: 包含所有素数的列表; - visited: 当前已经在素数环中的数字列表; - path: 当前搜索的路径。 4. 在 dfs 函数中,判断当前搜索到的位置是否为 n。如果是,则说明找到了一个合法的素数环,将其添加到解法列表中。 5. 否则,遍历所有未访问的数字,对于每个数字,判断其与之前的数字之和是否为素数,如果是则将该数字添加到 visited 列表中,并递归调用 dfs 函数搜索下一位数字。递归调用结束后,将该数字从 visited 列表中删除,以便于尝试其他未访问的数字。 最终,搜索结束后,解法列表中记录的即为所有的素数解法。具体实现细节可以根据需要进行调整和优化。希望这个算法实现思路对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值