数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 白新岭

[原创]请教vfbpgyfk先生一个编程问题

  [复制链接]
 楼主| 发表于 2010-5-14 14:02 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

下面引用由vfbpgyfk2010/05/14 00:58pm 发表的内容:
白新岭:您好!
下面是新的程序和新程序计算的结果。
设:K=0;步长=210;初始值=19;判断素数从11开始;外循环是从0到200。最后结果只剩下5个,这五个实质上可能就是素数(不能被开方根内素数整除,但不一定不 ...
你和以前找到四胞胎素数群的最后一个值比较看(除把素数19代表的数给去掉了,因为19的开方值4.3589已小于素数11,当调入素数11时就把它给去掉了,因为19-8=11,即mod(19,11)=8.这与筛选素数是一样的,当用大于它的开方值素数参与筛选时,总有把它筛掉的时候,与它相同时就被筛掉了,不能整除是开方前的,本身是能被整除的,无论合数还是素数。
四胞胎素数群仅在初始值19,109,199上产生,步长相同都是210,外循环值要从0开始,视筛选数量定外循环结束值,为了分段完成,可以把每次的k值给出不同的。
第一个素数都是从11开始。当筛选完3类初始值所在的一次表达式中所有的值时,任务也就完成了,你先用程序筛选出1亿内所有四胞胎素数群的最后一个代表素数,与以前用素数表查询出来的比对一下,如果不出问题,两种方法得到的是一致的。也可以随意挑一段数据来运行。
 楼主| 发表于 2010-5-14 14:22 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

[这个贴子最后由白新岭在 2010/05/14 02:34pm 第 1 次编辑]

现在证明那样的数是一组素数,一组四胞胎素数群。
我们令点序A(n-8,n-6,n-2,n),现在对它关于素数Pj取余数,如果我们已证对于所有Pj(Pj是n开方前的素数),mod(n,Pj)≠0,所以n是素数,同时又证明mod(n,Pj)≠2,那么有mod(n,Pj)≠2可以推出mod(n-2,Pj))≠0,也就是说n-2也是素数,同理,可以得到n-6是素数,n-8是素数,也就证明了点序A(n-8,n-6,n-2,n)是一组四胞胎素数群,并以最后一个素数n代表者。
当然我们用这种方法可以构造出所有k生素数群,也可以用程序找到它们,但是因为技术水平的限制,我们要想找到一组最密的16生素数群那是无法办到的,这也是我限制最多15个预先给定的偶数的原因。
 楼主| 发表于 2010-5-14 14:57 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

下面引用由vfbpgyfk2010/05/14 00:58pm 发表的内容:
白新岭:您好!
下面是新的程序和新程序计算的结果。
设:K=0;步长=210;初始值=19;判断素数从11开始;外循环是从0到200。最后结果只剩下5个,这五个实质上可能就是素数(不能被开方根内素数整除,但不一定不 ...
到此,先生已经全部理解了我的意思与思路,步骤,也得到了实际数据,与预期结果相符。
所以,先生该试一试这把刀是否锋利,能不能在一定的时间段内拿下100亿内所有四胞胎素数群的数据,仅用最后一个代表,一定不要还原它们,那占据量太大。大概数量在4.151179∫dt/(LN(t))^4=181062组(这是一个估算值,到底是多少,我也说不清楚)
你计算完3类初始值19,109,199就知道答案了。
<http://www.mathchina.com/cgi-bin/topic.cgi?forum=5&topic=8925&start=48&#35;bottom
发表于 2010-5-14 16:37 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

白新岭:您好!
您是说:仍用K=0;步长=210;初始值=19;取模条件从11开始;外循环从0到100000,使用现在(最近那个)的程序,就能计算出100亿内的四胞胎?如果是这样,我可以告诉您,得出的结果是:11078937。计算时间共用8秒多。
 楼主| 发表于 2010-5-14 17:16 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

[这个贴子最后由白新岭在 2010/05/14 05:18pm 第 1 次编辑]
下面引用由vfbpgyfk2010/05/14 04:37pm 发表的内容:
白新岭:您好!
您是说:仍用K=0;步长=210;初始值=19;取模条件从11开始;外循环从0到100000,使用现在(最近那个)的程序,就能计算出100亿内的四胞胎?如果是这样,我可以告诉您,得出的结果是:11078937。 ...
结果11078937是什么意思,符合条件(没有那四种余数中任何余数的为符合条件)的被判断值的数量总数吗?100000这个值不是外循环值,是素数表要储存10万以内的素数就够用了,而且表的最后一定置一个较大的数,防止无限的循环下去。100亿开方不是10万吗?
要计算100亿内这样的数,需要外循环次数为:10^10/210=47619047.即需要n=47619047(从0开始,有47619047+1=47619048次外循环)。这只完成了1/3的工作,还有2/3的工作需要做,即把初始值变为109,或199.其它的都不改变。
 楼主| 发表于 2010-5-14 17:38 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

你给的答案太离谱了,经过简单估算也不对每个大于11的数可以把筛选个数去掉4/Pi,留下1-4/Pi.。3*10^10/210=142857142.它乘(1-4/11)*(1-4/13)*(1-4/17)*(1-4/19)*(1-4/23)*(1-4/29)*.......*(1-4/97)=8796560.
也就是说用11到97之间的20个素数,就可以把那些被判断值的数量降到1千万一下,大概留下879万多。
数字意义是:在100亿内,自然数间隔排列如(n-8,n-6,n-2,n)的组数数量为那么多(879万多),而且它们中任何一组都不含100以前的素数因子(出1外),在它们中只有大于100的素数因子,这也是参与素数所决定和造成的,你可以跳过某一素数,则在你得到结果中,就会有这个因子。
 楼主| 发表于 2010-5-14 18:07 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

[这个贴子最后由白新岭在 2010/05/14 06:13pm 第 1 次编辑]

mod(19+n*210,7)=5,没有在(0,2,6,8)中出现;mod(109+n*210,7)=4,没有在(0,2,6,8)中出现;mod(199+n*210,7)=3,没有在(0,2,6,8)中出现。而初始值49,79,139,169就不可以,实际上从0到209之间的初始值只有19,109,199是通过了2,3,5,7检验的,其余已经被判了死刑,永远不会出现符合条件的被判断值,无论外循环值n取到多大。
发表于 2010-5-15 07:45 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

白新岭:您好!
按初始值=19;K=0;步长=210;取模条件从11开始,外循环从0到3809524(50亿),进行了运算,得到了34248个(组)。运行时间为几个小时(超过零时)。早晨将这些结果与以前的四胞胎进行了比较,由于以前的四胞胎数据是2亿内,所以,只能比对到2亿内的数据。比对结果是:在四胞台范围内的,全部一致(199897129以内,本值在内)。
 楼主| 发表于 2010-5-15 09:37 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

下面引用由vfbpgyfk2010/05/15 07:45am 发表的内容:
白新岭:您好!
按初始值=19;K=0;步长=210;取模条件从11开始,外循环从0到3809524(50亿),进行了运算,得到了34248个(组)。运行时间为几个小时(超过零时)。早晨将这些结果与以前的四胞胎进行了比较,由 ...
祝贺vfbpgyfk的成功运行。
外循环从0到3809524的话,应该是(3809524+1)*210=800000250,即8亿零250,它不会筛选到50亿;还有,如果仅用初始值19的话,那只能找到1/3的数据,其余2/3的数据分别在初始值109,和初始值199中。如果,34248没有错误的话,那它的3倍,即34248*3=102744,应该是8亿前的全部数据。所以我感觉还是不对。我这里有22亿前的全部数据,是用Excel软件获得的。
另外你的程序,应该改良一下,最重要的一点是,因为大部分被判断值,在100以内的素数参与时就被去掉了,即前20个素数参与时,大部分数据就被淘汰掉。
我对编程知道的太少,所以无法知道当一个素数参与运算时,如果出现相同余数,程序做何处理,是立刻结束内循环呢?,还是继续把所有根号前的素数都调取完,才退出内环呢?因为小素数对被判断值筛选出局的比较多,只有它是一个(组)无余数(0,2,6,8)的数时,内循环程序才会执行满所有素数,如果中间有一个素数调入时,已出现余数(0,2,6,8)之一的话,那内循环是没有执行完所有素数的,会提前出局的,也就是说,做多执行次数一定小于被判断值开方前素数个数的累计值。
 楼主| 发表于 2010-5-15 09:44 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

再有,100亿内的18万多个(组)是有的放矢,不是凭空出现的。
程序运行不错的话,其运算结果上下离开不会太多,估计181000左右,如果上下差5000就算离谱了。如果我的理论及计算方法不错的话,误差应在正负500之内。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-5-2 08:45 , Processed in 0.091797 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表