| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10942 人关注过本帖
标题:优化程序或者从新编写求四生素数中项不能合成的偶数
只看楼主 加入收藏
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
总区段    统计2
10    38
11    38
12    22
13    15
14    4
15    10
16    6
17    3
18    1
处理结果

素数问题的解决是我学习编程永恒的动力。
2021-11-21 10:56
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1089
专家分:2682
注 册:2015-12-30
收藏
得分:0 
看你很喜欢记笔记,给你推荐一款好用的软件:有道云笔记。PC、PAD、手机可跨屏使用,真正的随时随地,把需要的东东记录下来

1、纷繁笔记轻松管理——分类整理笔记,高效管理个人知识,快速搜索,分类查找,安全备份云端笔记,存储永不丢失的珍贵资料。
2、文件同步自动完成——自动同步,无需拷贝下载:支持图片及文档类附件,无限增长的大存储空间,轻松实现多地点办公。
3、路上创意随手记录——随时随地记录一切趣事和想法:轻松与电脑双向同步,免去文件传输烦恼,对会议白板进行拍照,有道笔记将对照片进行智能优化,轻松保存会议结果。
4、精彩网页一键保存——一键保存网页中精彩图文,再也不会遗漏;云端存储,永久珍藏有价值的信息。
5、增量式同步技术——只同步每次修改的那部分内容,同步变得更快、更省流量。
6、手机端富文本编辑——在手机上也可以直接编辑含有丰富格式的笔记,提供一体化的跨终端编辑体验。
7、白板拍照智能优化——运用智能算法自动矫正歪斜的白板照片并去除冗余背景,一拍存档,您工作学习上的高效助手。
8、手写输入——用手指直接在屏幕上输入,保留手写原笔迹。
9、涂鸦——轻松、有趣的随手涂鸦,绘制您所想。
2021-11-21 11:10
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
[原创]请教vfbpgyfk先生一个编程问题
http://www.
(出处: 数学中国)
我的vfp编程史

素数问题的解决是我学习编程永恒的动力。
2021-11-21 21:39
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
总区段        统计
1        39461
2        5403
3        1946
4        873
5        493
6        266
7        168
8        109
9        70
10        38
11        38
12        22
13        15
14        4
15        10
16        6
17        3
18        1
19        5
20        1
21        1
22        2
23        0
24        1
25        2
26        0
27        1
28        0
29        1
30        0
31        0
32        1
33        0
34        0
35        0
36        0
37        0
38        0
39        0
40        0
41        1
42        0
43        0
44        0
45        0
合计        48942
等差四生        素数d210
中项和合        成结果
最终完美        结果11.21
每个区间段跨越210万个自然数
这是等差四生素数d210的中项和,不能合成数的统计表,总共有48942个偶数无解。

素数问题的解决是我学习编程永恒的动力。
2021-11-21 23:01
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 182楼 laowan001
多谢!laowan001版主给提的建议和详细介绍。

素数问题的解决是我学习编程永恒的动力。
2021-11-22 11:02
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
今天终于找到问题的症结。因为偶数周期表中出现了,非参照总表的记录值(正常情况下,参照表中包含所有应出现的记录值,即参照表为全集,而偶数周期表为子集),程序的依据就是把子集中没有的记录值找出来,但是需要一个条件,即偶数周期表中有全集中的值时,向下移动一条记录,如果始终没有满足条件,当参照表的记录循环一周,也找不到符合条件的记录,就没有下移,发生,导致程序失效。

素数问题的解决是我学习编程永恒的动力。
2021-11-23 15:54
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
造成上述原因,就是因为等差四生素数d30中,52的参与,mod(52,7)=3,不在运算之列,它是异数,不合群。
四中30    素数7
52    3
56    0
58    2
68    5
82    5
86    2
112    0
152    5
182    0
196    0
212    2
226    2
322    0
352    2
394    2
404    5
434    0
446    5
464    2
476    0
586    5
602    0
616    0
632    2
646    2
842    2
922    5
926    2
952    0
1078    0
1108    2
1274    0
1444    2
1538    5
1568    0
1612    2
1652    0
1708    0
1738    2
2084    5
2098    5
2252    5
2266    5
2296    0
2326    2
2396    2
2662    2
2704    2
2924    5
2954    0
3064    5
3316    5
3344    5
3346    0
3514    0
3628    2
3866    2
4034    2
4436    5
4606    0
4688    5
5486    5
5836    5
6158    5
6314    0
6344    2
6382    5
6536    5
6592    5
6718    5
6748    0
6778    2
7012    5
7502    5
7532    0
7544    5
7562    2
7838    5
8692    5
9014    5
9326    2
9476    5
9506    0
10054    2
10148    5
10178    0
10208    2
10288    5
10414    5
10544    2
10612    0
10642    2
11072    5
11482    2
11534    5
12026    0
12056    2
12502    0
12532    2
12938    2
素7余数    统计    状态
0    21917    正常
2    22011    正常
3    1    异常
5    21605    正常
合计    65534   

素数问题的解决是我学习编程永恒的动力。
2021-11-23 16:08
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
在运行等差四生素数d30时,出现一些状况,以前的程序不能正常运行,最终找到问题的症结,完全怪罪于异类四中52身上,因为mod(52,7)=3,并不合群,虽然具有等差四生素数d30的中项一切特征,但是它不在参与运算的元素当中,参与四中二元运算的所有元素,除了它是中项外,还需要满足模7余数为0,2,5(余数1,3,4,6不能参与二元运算)。
下边几楼是针对等差四生素数d30的程序,与以前的最密四生素数(0,2,6,8)的,还有等差四生素数d210的有少许不同之处,为了进一步简化程序,对数据的处理上,多数需要其他语句替代,尽量减小数据量,及存储数据,达到尽量小的占用空间。

素数问题的解决是我学习编程永恒的动力。
2021-11-23 19:40
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 477
USE d:\等差四生素数\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
wozzxz="无偶最终结果表新总"
For l=2 to 2
      @ 15,12 say l
      wozb=wozzxz+ALLTRIM(STR(l))
      USE IN 477
      USE d:\等差四生素数\无偶数表总表.DBF ALIAS 无偶数总表
       SELECT 477
     
       DELETE ALL
       PACK
      
      
bwjm="偶数周期表"
For j=(l-1)*2 to 2*l
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE d:\等差四生素数\&wd in 0
      For i=(k-1)*750000+1 to (k+1)*750000

      @ 10,22 say i
    n=i
    s=0
    do case
    case MOD(n,5)=1
       s=s+2
    case MOD(n,5)=2
       s=s+4
    case MOD(n,5)=3
       s=s+10
    case MOD(n,5)=4
       s=s+12
    case MOD(n,5)=0
       s=s+14
    endcase
     
    wou=INT((n-1)/5)*14+s
    &&  wou=2*i
     
    && IF MOD(wou,7)=1 OR  MOD(wou,7)=6
    &&    LOOP
    && ENDIF
     
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
         A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         SKIP
         && ?recno()
         LOOP
         ELSE
         insert into 无偶数总表 (无偶) values (wou)    && 上面三名改成这一句
         ENDIF
   
     ENDFOR
     use in "偶数周期表"+ALLTRIM(STR(k))        && 用完就关闭,否则可能会崩溃
ENDFOR
SELECT * FROM 无偶数总表 WHERE 无偶 IN ( SELECT 无偶 FROM 无偶数总表 GROUP BY 无偶 HAVING count(*) > 1) order by 无偶 INTO table d:\等差四生素数\&wozb
use IN &wozb
SELECT 477
USE IN  477
ENDFOR

    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
针对等差四生素数d30的程序

素数问题的解决是我学习编程永恒的动力。
2021-11-23 19:41
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE d:\等差四生素数\无偶最终结果表新总2.DBF ALIAS 无偶终表2
SELECT 2
USE d:\等差四生素数\无偶最终结果表新总2单.DBF ALIAS 无偶结果表新2单
kssj=SECONDS()
SELECT  1
GO 1
For i=1 to 201682
      @ 5,12 say i
    SELECT  1     &&打开盛放素数式的表
    && jl=recno()
    PUBLIC A
    A=无偶
   
    IF MOD(i,2)=1
         SELECT 2
         APPEND BLANK     &&增加一条空记录
         REPLACE 无偶 WITH A    &&将N值付给素数式
    ENDIF
   
   SELECT 1
   skip
   ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")

素数问题的解决是我学习编程永恒的动力。
2021-11-23 19:41
快速回复:优化程序或者从新编写求四生素数中项不能合成的偶数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032153 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved