| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10934 人关注过本帖
标题:优化程序或者从新编写求四生素数中项不能合成的偶数
只看楼主 加入收藏
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 239
USE G:\三角递增法\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
bwjm="偶数周期表"
For j=221 to 238
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE G:\三角递增法\&wd in 0
      For i=(j-1)*500000+1 to (j+1)*500000

      @ 5,12 say i
      n=i
      s=0
      IF MOD(n,5)=1
      s=s+30
      ENDIF
      IF MOD(n,5)=2
      s=s+90
      ENDIF
      IF MOD(n,5)=3
      s=s+120
      ENDIF
      IF MOD(n,5)=4
      s=s+180
      ENDIF
      IF MOD(n,5)=0
      s=s+210
      ENDIF
     
      wou=INT((n-1)/5)*210+s
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
       A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         skip
         LOOP
         ELSE
         SELECT 239
         APPEND BLANK
         REPLACE 无偶 WITH wou
         ENDIF
   
     ENDFOR
ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
这是第14个外循环(也是最后一次外循环)

素数问题的解决是我学习编程永恒的动力。
2021-11-18 07:06
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
CLOSE DATA
USE G:\三角递增法\无偶数表总表.dbf && 设源表的名称为"表1"
P=''
FOR K=1 TO FCOUNT()
P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
ENDFOR

SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF G:\三角递增法\相同记录数表总14 && 取得各记录的相同记录数及其各字段值
SELECT * FROM DBF() WHERE 相同记录数>1 && 该查询结果详细列举了表1中各重复记录的 重复数
USE IN   相同记录数表总14
接上楼

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

素数问题的解决是我学习编程永恒的动力。
2021-11-18 07:08
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 1
USE G:\三角递增法\无偶最终结果表新总14.DBF ALIAS 无偶总新14
SELECT 2
USE G:\三角递增法\无偶数统计表.DBF ALIAS 无偶统计
kssj=SECONDS()
SELECT 1
     For j=4642 to 4998
      @ 3,6 say j
      fw=j*1000000
            SELECT 1
            GO 1
            COUNT ALL FOR 无偶<=fw TO tj
              SELECT  2  
              APPEND BLANK   
              REPLACE 范围 WITH fw
              REPLACE 统计 WITH tj
     ENDFOR
   
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
接上楼(到此处理完毕)

素数问题的解决是我学习编程永恒的动力。
2021-11-18 07:09
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
无偶
4807984050
4874201190
4968988740
(最终结果,在17*2100万=3.57亿间,只有这三个反例了,最终反例会消失)

素数问题的解决是我学习编程永恒的动力。
2021-11-18 07:11
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
总区段    统计13
205    0
206    0
207    0
208    0
209    2
210    0
211    0
212    0
213    1
214    0
215    0
216    0
217    0
218    0
219    0
220    0
221    0
总区段    统计14
222    0
223    0
224    0
225    0
226    0
227    0
228    0
229    1
230    0
231    0
232    0
233    1
234    0
235    0
236    0
237    1
238    0
从214到228,15个区间段没有出现反例,跨越15*2100万=3.15亿

素数问题的解决是我学习编程永恒的动力。
2021-11-18 07:13
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1089
专家分:2682
注 册:2015-12-30
收藏
得分:0 
加上外循环了,试试看
程序代码:
SELECT 239
USE G:\三角递增法\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
bwjm="偶数周期表"

for m=2 to 14    && 这是所谓的外循环
For j=(m-1)*17 to (m-1)*17+17
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE G:\三角递增法\&wd in 0
      For i=(j-1)*500000+1 to (j+1)*500000

      @ 5,12 say i
      n=i
      s=0
      IF MOD(n,5)=1
      s=s+30
      ENDIF
      IF MOD(n,5)=2
      s=s+90
      ENDIF
      IF MOD(n,5)=3
      s=s+120
      ENDIF
      IF MOD(n,5)=4
      s=s+180
      ENDIF
      IF MOD(n,5)=0
      s=s+210
      ENDIF
     
      wou=INT((n-1)/5)*210+s
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
       A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         skip
         LOOP
         ELSE
         
        && SELECT 239
        && APPEND BLANK
        && REPLACE 无偶 WITH wou
        
        insert into 无偶数总表 (无偶) values (wou)    && 上面三名改成这一句

         ENDIF
        
        use in "偶数周期表"+ALLTRIM(STR(k))        && 用完就关闭,否则可能会崩
     ENDFOR
ENDFOR

endfor     && 这是所谓的外循环--结束


[此贴子已经被作者于2021-11-18 20:12编辑过]

2021-11-18 08:37
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
范围    总个数    分个数
21000000    1530    1530
42000000    2491    961
63000000    3382    891
84000000    4189    807
105000000    4937    748
126000000    5644    707
147000000    6361    717
168000000    7060    699
189000000    7751    691
210000000    8400    649
231000000    8999    599
252000000    9629    630
273000000    10209    580
294000000    10804    595
315000000    11439    635
336000000    12025    586
357000000    12555    530
378000000    13115    560
399000000    13683    568
420000000    14247    564
441000000    14798    551
462000000    15328    530
483000000    15908    580
504000000    16436    528
525000000    16941    505
546000000    17471    530
567000000    17976    505
588000000    18512    536
609000000    19087    575
630000000    19590    503
651000000    20080    490
672000000    20582    502
693000000    21110    528
714000000    21592    482
735000000    22093    501
756000000    22613    520
777000000    23121    508
798000000    23617    496
819000000    24128    511
840000000    24619    491
861000000    25132    513
882000000    25633    501
903000000    26145    512
924000000    26622    477
945000000    27132    510
966000000    27631    499
987000000    28089    458
1008000000    28548    459
1029000000    29011    463
1050000000    29480    469
1071000000    29944    464
1092000000    30402    458
1113000000    30905    503
1134000000    31334    429
1155000000    31829    495
1176000000    32290    461
1197000000    32753    463
1218000000    33217    464
1239000000    33645    428
1260000000    34102    457
1281000000    34538    436
1302000000    34997    459
1323000000    35443    446
1344000000    35883    440
1365000000    36340    457
1386000000    36774    434
1407000000    37208    434
1428000000    37665    457
1449000000    38134    469
1470000000    38595    461
1491000000    39008    413
1512000000    39402    394
1533000000    39824    422
1554000000    40242    418
1575000000    40674    432
1596000000    41114    440
1617000000    41568    454
1638000000    42004    436
1659000000    42422    418
1680000000    42816    394
1701000000    43241    425
1722000000    43662    421
1743000000    44059    397
1764000000    44443    384
1785000000    44917    474
1806000000    45341    424
1827000000    45738    397
1848000000    46193    455
1869000000    46609    416
1890000000    47052    443
1911000000    47496    444
1932000000    47938    442
1953000000    48323    385
1974000000    48746    423
1995000000    49164    418
2016000000    49565    401
2037000000    49938    373
2058000000    50343    405
2079000000    50759    416
2100000000    51151    392
2121000000    51525    374
2142000000    51915    390
2163000000    52335    420
2184000000    52736    401
2205000000    53112    376
2226000000    53514    402
2247000000    53931    417
2268000000    54333    402
2289000000    54776    443
2310000000    55177    401
2331000000    55572    395
2352000000    55992    420
2373000000    56396    404
2394000000    56803    407
2415000000    57208    405
2436000000    57624    416
2457000000    57998    374
2478000000    58419    421
2499000000    58812    393
2520000000    59218    406
2541000000    59663    445
2562000000    60070    407
2583000000    60446    376
2604000000    60813    367
2625000000    61218    405
2646000000    61605    387
2667000000    62051    446
2688000000    62447    396
2709000000    62843    396
2730000000    63249    406
2751000000    63610    361
2772000000    64004    394
2793000000    64456    452
2814000000    64858    402
2835000000    65247    389
2856000000    65660    413
2877000000    66034    374
2898000000    66427    393
2919000000    66819    392
2940000000    67184    365
2961000000    67588    404
2982000000    67998    410
3003000000    68390    392
3024000000    68771    381
3045000000    69151    380
3066000000    69531    380
3087000000    69925    394
3108000000    70268    343
3129000000    70608    340
3150000000    70997    389
3171000000    71386    389
3192000000    71758    372
3213000000    72114    356
3234000000    72474    360
3255000000    72853    379
3276000000    73224    371
3297000000    73606    382
3318000000    73937    331
3339000000    74293    356
3360000000    74673    380
3381000000    75064    391
3402000000    75419    355
3423000000    75787    368
3444000000    76151    364
3465000000    76535    384
3486000000    76920    385
3507000000    77301    381
3528000000    77651    350
3549000000    78034    383
3570000000    78404    370
3591000000    78728    324
3612000000    79125    397
3633000000    79477    352
3654000000    79849    372
3675000000    80231    382
3696000000    80600    369
3717000000    80944    344
3738000000    81313    369
3759000000    81675    362
3780000000    82059    384
3801000000    82438    379
3822000000    82807    369
3843000000    83147    340
3864000000    83517    370
3885000000    83886    369
3906000000    84249    363
3927000000    84622    373
3948000000    84981    359
3969000000    85378    397
3990000000    85726    348
4011000000    86100    374
4032000000    86471    371
4053000000    86835    364
4074000000    87179    344
4095000000    87557    378
4116000000    87930    373
4137000000    88303    373
4158000000    88704    401
4179000000    89105    401
4200000000    89447    342
4221000000    89811    364
4242000000    90177    366
4263000000    90506    329
4284000000    90853    347
4305000000    91210    357
4326000000    91547    337
4347000000    91897    350
4368000000    92243    346
4389000000    92575    332
4410000000    92915    340
4431000000    93268    353
4452000000    93630    362
4473000000    93981    351
4494000000    94360    379
4515000000    94714    354
4536000000    95083    369
4557000000    95418    335
4578000000    95774    356
4599000000    96151    377
4620000000    96514    363
4641000000    96848    334
4662000000    97203    355
4683000000    97547    344
4704000000    97893    346
4725000000    98265    372
4746000000    98629    364
4767000000    98987    358
4788000000    99360    373
4809000000    99718    358
4830000000    100074    356
4851000000    100435    361
4872000000    100805    370
4893000000    101168    363
4914000000    101515    347
4935000000    101864    349
4956000000    102193    329
4977000000    102559    366
4998000000    102914    355
5019000000    103259    345
5040000000    103629    370
5061000000    103999    370
5082000000    104357    358
5103000000    104691    334
5124000000    105054    363
5145000000    105390    336
5166000000    105754    364
5187000000    106079    325
5208000000    106438    359
5229000000    106826    388
5250000000    107187    361
5271000000    107580    393
5292000000    107893    313
5313000000    108202    309
5334000000    108541    339
5355000000    108884    343
5376000000    109242    358
5397000000    109589    347
5418000000    109935    346
5439000000    110298    363
5460000000    110653    355
5481000000    111006    353
5502000000    111345    339
5523000000    111713    368
5544000000    112062    349
5565000000    112395    333
5586000000    112770    375
5607000000    113136    366
5628000000    113472    336
5649000000    113826    354
5670000000    114174    348
5691000000    114492    318
5712000000    114846    354
5733000000    115204    358
5754000000    115548    344
5775000000    115896    348
5796000000    116233    337
5817000000    116538    305
5838000000    116892    354
5859000000    117226    334
5880000000    117584    358
5901000000    117894    310
5922000000    118231    337
5943000000    118557    326
5964000000    118878    321
5985000000    119217    339
6006000000    119564    347
6027000000    119881    317
6048000000    120200    319
6069000000    120541    341
6090000000    120872    331
6111000000    121214    342
6132000000    121533    319
6153000000    121861    328
6174000000    122197    336
6195000000    122551    354
6216000000    122884    333
6237000000    123225    341
6258000000    123569    344
6279000000    123903    334
6300000000    124232    329
6321000000    124574    342
6342000000    124914    340
6363000000    125262    348
6384000000    125611    349
6405000000    125939    328
6426000000    126265    326
6447000000    126574    309
6468000000    126940    366
6489000000    127256    316
6510000000    127600    344
6531000000    127915    315
6552000000    128221    306
6573000000    128568    347
6594000000    128893    325
6615000000    129233    340
6636000000    129557    324
6657000000    129875    318
6678000000    130203    328
6699000000    130540    337
6720000000    130900    360
6741000000    131223    323
6762000000    131535    312
6783000000    131863    328
6804000000    132191    328
6825000000    132502    311
6846000000    132819    317
6867000000    133129    310
6888000000    133453    324
6909000000    133772    319
6930000000    134105    333
6951000000    134459    354
6972000000    134772    313
6993000000    135091    319
7014000000    135409    318
7035000000    135758    349
7056000000    136109    351
7077000000    136437    328
7098000000    136774    337
7119000000    137073    299
7140000000    137404    331
7161000000    137750    346
7182000000    138088    338
7203000000    138420    332
7224000000    138758    338
7245000000    139089    331
7266000000    139404    315
7287000000    139704    300
7308000000    140004    300
7329000000    140308    304
7350000000    140636    328
7371000000    140973    337
7392000000    141311    338
7413000000    141638    327
7434000000    141977    339
7455000000    142300    323
7476000000    142608    308
7497000000    142912    304
7518000000    143228    316
7539000000    143541    313
7560000000    143818    277
7581000000    144131    313
7602000000    144471    340
7623000000    144791    320
7644000000    145147    356
7665000000    145458    311
7686000000    145782    324
7707000000    146103    321
7728000000    146436    333
7749000000    146762    326
7770000000    147057    295
7791000000    147356    299
7812000000    147670    314
7833000000    148004    334
7854000000    148310    306
7875000000    148613    303
7896000000    148945    332
7917000000    149238    293
7938000000    149564    326
7959000000    149881    317
7980000000    150207    326
8001000000    150518    311
8022000000    150829    311
8043000000    151144    315
8064000000    151456    312
8085000000    151757    301
8106000000    152091    334
8127000000    152409    318
8148000000    152737    328
8169000000    153026    289
8190000000    153366    340
8211000000    153692    326
8232000000    154034    342
8253000000    154320    286
8274000000    154625    305
8295000000    154939    314
8316000000    155279    340
8337000000    155587    308
8358000000    155939    352
8379000000    156267    328
8400000000    156610    343
8421000000    156935    325
8442000000    157238    303
8463000000    157558    320
8484000000    157907    349
8505000000    158240    333
8526000000    158603    363
8547000000    158939    336
8568000000    159285    346
8589000000    159583    298
8610000000    159902    319
8631000000    160212    310
8652000000    160529    317
8673000000    160863    334
8694000000    161190    327
8715000000    161499    309
8736000000    161806    307
8757000000    162117    311
8778000000    162402    285
8799000000    162723    321
8820000000    163023    300
8841000000    163347    324
8862000000    163688    341
8883000000    163990    302
8904000000    164291    301
8925000000    164614    323
8946000000    164914    300
8967000000    165243    329
8988000000    165571    328
9009000000    165900    329
9030000000    166220    320
9051000000    166508    288
9072000000    166815    307
9093000000    167162    347
9114000000    167465    303
9135000000    167795    330
9156000000    168087    292
9177000000    168382    295
9198000000    168712    330
9219000000    169034    322
9240000000    169344    310
9261000000    169650    306
9282000000    169978    328
9303000000    170276    298
9324000000    170584    308
9345000000    170897    313
9366000000    171210    313
9387000000    171524    314
9408000000    171838    314
9429000000    172150    312
9450000000    172506    356
9471000000    172801    295
9492000000    173112    311
9513000000    173447    335
9534000000    173749    302
9555000000    174080    331
9576000000    174357    277
9597000000    174642    285
9618000000    174972    330
9639000000    175300    328
9660000000    175601    301
9681000000    175903    302
9702000000    176191    288
9723000000    176506    315
9744000000    176820    314
9765000000    177113    293
9786000000    177403    290
9807000000    177702    299
9828000000    178006    304
9849000000    178337    331
9870000000    178640    303
9891000000    178934    294
9912000000    179233    299
9933000000    179563    330
9954000000    179856    293
9975000000    180155    299
9996000000    180475    320
因为到50亿时,反例还未完全消失,所以又续了50亿

素数问题的解决是我学习编程永恒的动力。
2021-11-18 20:47
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
SELECT 477
USE G:\三角递增法\无偶数表总表.DBF ALIAS 无偶数总表
kssj=SECONDS()
bwjm="偶数周期表"
For j=238 to 255
      @ 5,12 say j
     k=j
      wd=bwjm+ALLTRIM(STR(j))
      USE G:\三角递增法\&wd in 0
      For i=(j-1)*500000+1 to (j+1)*500000

      @ 5,12 say i
      n=i
      s=0
      IF MOD(n,5)=1
      s=s+30
      ENDIF
      IF MOD(n,5)=2
      s=s+90
      ENDIF
      IF MOD(n,5)=3
      s=s+120
      ENDIF
      IF MOD(n,5)=4
      s=s+180
      ENDIF
      IF MOD(n,5)=0
      s=s+210
      ENDIF
     
      wou=INT((n-1)/5)*210+s
      SELECT "偶数周期表"+ALLTRIM(STR(k))
      
      
         && select G:\三角递增法\&WD..DBF IN 0
       A=偶数
         IF A=wou
         SELECT "偶数周期表"+ALLTRIM(STR(k))
         skip
         LOOP
         ELSE
         SELECT 477
         APPEND BLANK
         REPLACE 无偶 WITH wou
         ENDIF
   
     ENDFOR
ENDFOR
    =MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
第15个外循环

素数问题的解决是我学习编程永恒的动力。
2021-11-18 22:54
独木星空
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:935
专家分:683
注 册:2016-6-29
收藏
得分:0 
CLOSE DATA
USE G:\三角递增法\无偶数表总表.dbf && 设源表的名称为"表1"
P=''
FOR K=1 TO FCOUNT()
P=P+IIF(EMPTY(P),'',',')+FIELDS(K)&& 取得表中所有字段名称,放在P中
ENDFOR

SELECT *,COUNT(FIELDS(1)) AS 相同记录数 FROM DBF() GROUP BY &P. INTO DBF G:\三角递增法\相同记录数表总15 && 取得各记录的相同记录数及其各字段值
SELECT * FROM DBF() WHERE 相同记录数>1 && 该查询结果详细列举了表1中各重复记录的 重复数
USE IN   相同记录数表总15

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



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

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