[C语言]哥德巴赫猜想

来源:互联网 发布:js定时跳转页面 编辑:程序博客网 时间:2024/05/16 19:23

程序分为两部分

1。求素数(http://blog.pfan.cn/wentao/22158.html)

2。偶数分解为两个素数之和

 

#include <stdio.h>
#include <math.h>


#define MAX 1000

int main(void)
{

    int s=6;
    int n=0;
    int b[MAX+1];
    int i;
    int j;
    int a[MAX+1];                // 为直观表示,各元素与下标对应,0号元素不用


    for (i=1; i<=MAX; i++) // 数组各元素赋值
        a[i]=i;

    for (i=2; i<sqrt(MAX); i++)     // 外循环使i作为除数
        for (j=i+1; j<=MAX; j++)  // 内循环检测除数i之后的数是否为i的倍数
        {
            if (a[i]!=0 && a[j]!=0) // 排除0值元素
                if (a[j]%a[i]==0)
                   {
                       a[j]=0;           // i后数若为i的倍数,刚将其置0(挖去)
                       n++;
                   }
        }

    //以上源代码抄自http://blog.pfan.cn/wentao/22158.html
    //以下为原创


    for(i=1,j=3;j<=MAX;j++)        //原数组非0值元素转移至新数组
    {
        if(a[j]!=0)
        {
            b[i]=a[j];
            i++;
        }
    }

    /*
    printf("%d/n",MAX-2-n);        
    for(i=1;i<=(MAX-2-n);i++)    
    {
        printf("%5d",b[i]);
    }
    */
    
    //偶数分解为两个素数之和
    for(i=1;s<=MAX;i++)       
    {
        for(j=1;s<=MAX;j++)      
        {
            if(b[i]+b[j]==s)  
            {
                printf("%d=%d+%-5d/t",s,b[i],b[j]);
                s+=2;
            }
            if(b[i]+b[j]>s)break;
        }
        if(b[i]>s)
            i=1;
    }

}

 

-----------------------------------------------------------------------------------------

我编的另一个版本

 

#include <stdio.h>
#include <math.h>


#define MAX 1000

int main(void)
{

    int s=6;

    int i;
    int j;
    int a[MAX+1];                // 为直观表示,各元素与下标对应,0号元素不用


    for (i=1; i<=MAX; i++) // 数组各元素赋值
        a[i]=i;

    for (i=2; i<sqrt(MAX); i++)     // 外循环使i作为除数
        for (j=i+1; j<=MAX; j++)  // 内循环检测除数i之后的数是否为i的倍数
        {
            if (a[i]!=0 && a[j]!=0) // 排除0值元素
                if (a[j]%a[i]==0)
                   {
                       a[j]=0;           // i后数若为i的倍数,刚将其置0(挖去)

                   }
        }

 

   //以下
   
    a[1]=0;
    for(i=3;s<=MAX;)
    {
        if(a[i]!=0)
        {
           
            if(a[s-a[i]]!=0)
            {
                j=s-a[i];
                printf("%d=%d+%-5d/t",s,a[i],a[j]);
                s+=2;
            }
           
        }

        //if(a[i]>s) i=3;

         if(a[i]==0||a[s-a[i]]==0) i+=2;
    }
}

 

 


运行结果:

6=3+3           8=3+5           10=3+7          12=5+7          14=7+7
16=11+5         18=11+7         20=13+7         22=17+5         24=17+7
26=19+7         28=23+5         30=23+7         32=29+3         34=29+5
36=29+7         38=31+7         40=37+3         42=37+5         44=37+7
46=41+5         48=41+7         50=43+7         52=47+5         54=47+7
56=53+3         58=53+5         60=53+7         62=59+3         64=59+5
66=59+7         68=61+7         70=67+3         72=67+5         74=67+7
76=71+5         78=71+7         80=73+7         82=79+3         84=79+5
86=79+7         88=83+5         90=83+7         92=89+3         94=89+5
96=89+7         98=19+79        100=29+71       102=29+73       104=31+73
106=47+59       108=47+61       110=67+43       112=71+41       114=71+43
116=73+43       118=89+29       120=89+31       122=103+19      124=107+17
126=107+19      128=109+19      130=113+17      132=113+19      134=127+7
136=131+5       138=131+7       140=137+3       142=137+5       144=137+7
146=139+7       148=11+137      150=11+139      152=13+139      154=17+137
156=17+139      158=19+139      160=23+137      162=23+139      164=37+127
166=53+113      168=59+109      170=61+109      172=71+101      174=71+103
176=73+103      178=89+89       180=97+83       182=103+79      184=113+71
186=113+73      188=127+61      190=131+59      192=131+61      194=151+43
196=167+29      198=167+31      200=181+19      202=191+11      204=191+13
206=193+13      208=197+11      210=197+13      212=199+13      214=211+3
216=211+5       218=211+7       220=23+197      222=23+199      224=31+193
226=47+179      228=47+181      230=67+163      232=83+149      234=83+151
236=97+139      238=101+137     240=101+139     242=103+139     244=107+137
246=107+139     248=109+139     250=113+137     252=113+139     254=127+127
256=149+107     258=149+109     260=151+109     262=173+89      264=181+83
266=193+73      268=197+71      270=197+73      272=199+73      274=227+47
276=229+47      278=241+37      280=251+29      282=251+31      284=271+13
286=281+5       288=281+7       290=283+7       292=11+281      294=11+283
296=13+283      298=17+281      300=17+283      302=19+283      304=23+281
306=23+283      308=31+277      310=41+269      312=41+271      314=43+271
316=47+269      318=47+271      320=79+241      322=83+239      324=83+241
326=97+229      328=101+227     330=101+229     332=103+229     334=107+227
336=107+229     338=109+229     340=113+227     342=113+229     344=151+193
346=167+179     348=167+181     350=193+157     352=239+113     354=241+113
356=277+79      358=311+47      360=313+47      362=331+31      364=347+17
366=347+19      368=349+19      370=353+17      372=353+19      374=367+7
376=373+3       378=373+5       380=373+7       382=379+3       384=379+5
386=379+7       388=383+5       390=383+7       392=389+3       394=389+5
396=389+7       398=19+379      400=41+359      402=43+359      404=67+337
406=89+317      408=97+311      410=97+313      412=101+311     414=101+313
416=103+313     418=107+311     420=107+313     422=109+313     424=113+311
426=113+313     428=151+277     430=167+263     432=181+251     434=193+241
436=197+239     438=197+241     440=199+241     442=251+191     444=251+193
446=283+163     448=311+137     450=311+139     452=313+139     454=317+137
456=317+139     458=331+127     460=347+113     462=349+113     464=367+97
466=383+83      468=389+79      470=397+73      472=401+71      474=401+73
476=409+67      478=419+59      480=419+61      482=421+61      484=431+53
486=433+53      488=457+31      490=461+29      492=461+31      494=463+31
496=467+29      498=467+31      500=487+13      502=491+11      504=491+13
506=499+7       508=503+5       510=503+7       512=509+3       514=509+5
516=509+7       518=19+499      520=29+491      522=31+491      524=37+487
526=47+479      528=61+467      530=67+463      532=71+461      534=71+463
536=73+463      538=89+449      540=97+443      542=103+439     544=113+431
546=113+433     548=127+421     550=131+419     552=131+421     554=157+397
556=167+389     558=179+379     560=181+379     562=251+311     564=251+313
566=283+283     568=311+257     570=313+257     572=331+241     574=347+227
576=347+229     578=349+229     580=353+227     582=353+229     584=373+211
586=389+197     588=389+199     590=397+193     592=401+191     594=401+193
596=433+163     598=449+149     600=449+151     602=463+139     604=467+137
606=467+139     608=499+109     610=503+107     612=503+109     614=541+73
616=557+59      618=557+61      620=577+43      622=593+29      624=593+31
626=607+19      628=617+11      630=617+13      632=619+13      634=631+3
636=631+5       638=631+7       640=23+617      642=23+619      644=31+613
646=47+599      648=47+601      650=73+577      652=83+569      654=83+571
656=109+547     658=137+521     660=137+523     662=139+523     664=173+491
666=179+487     668=181+487     670=191+479     672=193+479     674=211+463
676=227+449     678=229+449     680=241+439     682=251+431     684=251+433
686=277+409     688=419+269     690=419+271     692=421+271     694=431+263
696=433+263     698=457+241     700=461+239     702=461+241     704=463+241
706=467+239     708=467+241     710=487+223     712=521+191     714=521+193
716=523+193     718=569+149     720=569+151     722=571+151     724=587+137
726=587+139     728=601+127     730=617+113     732=619+113     734=631+103
736=647+89      738=659+79      740=661+79      742=683+59      744=683+61
746=709+37      748=719+29      750=719+31      752=733+19      754=743+11
756=743+13      758=751+7       760=757+3       762=757+5       764=757+7
766=761+5       768=761+7       770=13+757      772=29+743      774=31+743
776=37+739      778=59+719      780=61+719      782=73+709      784=83+701
786=103+683     788=127+661     790=131+659     792=131+661     794=151+643
796=179+617     798=179+619     800=181+619     802=233+569     804=233+571
806=283+523     808=317+491     810=331+479     812=349+463     814=353+461
816=353+463     818=379+439     820=389+431     822=389+433     824=457+367
826=467+359     828=479+349     830=499+331     832=521+311     834=521+313
836=523+313     838=557+281     840=557+283     842=571+271     844=587+257
846=607+239     848=607+241     850=617+233     852=619+233     854=631+223
856=659+197     858=659+199     860=661+199     862=683+179     864=683+181
866=709+157     868=719+149     870=719+151     872=733+139     874=743+131
876=769+107     878=769+109     880=773+107     882=773+109     884=787+97
886=797+89      888=809+79      890=811+79      892=821+71      894=821+73
896=823+73      898=827+71      900=827+73      902=829+73      904=857+47
906=859+47      908=877+31      910=881+29      912=881+31      914=883+31
916=887+29      918=887+31      920=907+13      922=911+11      924=911+13
926=919+7       928=17+911      930=19+911      932=73+859      934=107+827
936=107+829     938=109+829     940=113+827     942=113+829     944=157+787
946=173+773     948=179+769     950=181+769     952=191+761     954=193+761
956=199+757     958=239+719     960=241+719     962=271+691     964=281+683
966=283+683     968=307+661     970=311+659     972=311+661     974=313+661
976=317+659     978=317+661     980=337+643     982=383+599     984=383+601
986=409+577     988=419+569     990=419+571     992=421+571     994=431+563
996=433+563     998=457+541     1000=479+521

    

原创粉丝点击