• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            驗(yàn)證哥德巴赫猜想

            Posted on 2006-03-26 01:00 我愛C 閱讀(6902) 評(píng)論(8)  編輯 收藏 引用 所屬分類: C語言趣味程序
            驗(yàn)證哥德巴赫猜想
            驗(yàn)證哥德巴赫猜想:任一充分大的偶數(shù),可以用兩個(gè)素?cái)?shù)之和表示,例如:
            4 = 2 + 2
            6 = 3 + 3
            ..
            9 8 = 1 9 + 7 9
            ?
            分析:我們先不考慮怎樣判斷一個(gè)數(shù)是否為素?cái)?shù),而從整體上對(duì)這個(gè)問題進(jìn)行考慮,可以這樣做:讀入一個(gè)偶數(shù)n,將它分成p和q,使n = p + q。怎樣分呢?可以令p從2開始,每次加1,而令q = n - p,如果p、q均為素?cái)?shù),則正為所求,否則令p = p + q再試。
            ?
            ?
            參考程序:
            ?
            #include <math.h>
            #include <stdio.h>
            main( )
            {
            ? long int j,n,p,q,flagp,flagq;
            ? printf("please input n :\n");
            ? scanf("%ld",&n );
            ? if (((n%2)!=0)||(n<=4))
            ??? printf("input data error!\n");
            ? else
            ?? {
            ???? p = 1 ;
            ???? do {
            ????????? p = p + 1 ;
            ????????? q = n - p ;
            ????????? flagp = 1 ;
            ????????? for(j=2;j<=(int)(sqrt(p));j++)?? ?/*判斷p是否為素?cái)?shù)*/
            ??????????? {
            ?????????????? if ((p%j)==0)
            ?????????????? {
            ???????????????? flagp = 0 ;
            ???????????????? break;????? ?/*不是素?cái)?shù),退出循環(huán)*/
            ??????????????? }
            ????????????? }
            ???????? flagq=1 ;
            ???????? for(j=2;j<=(int)(sqrt(q));j++)?? /*判斷q是否為素?cái)?shù)*/

            ?????????? {
            ???????????? if ((q%j)==0)
            ???????????? {
            ?????????????? flagq = 0 ;
            ?????????????? break ;? /*不是素?cái)?shù),退出循環(huán)*/
            ????????????? }
            ?????????? }
            ???? } while(flagp*flagq==0);
            ?? printf("%d = %d + %d \n",n,p,q) ;
            ? }

            Feedback

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2006-05-28 11:00 by 真正的鱷魚
            這個(gè)程序?qū)懙暮芎啙崳髁耍瑥?qiáng)!

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2006-10-12 21:04 by 李勇
            #include <stdio.h>

            int check(int n)//驗(yàn)證n是否為素?cái)?shù)
            {
            if(n%2==0)
            return 0;
            for(int i=2;i<n/2;i++)
            {
            if(n%i==0)
            return 0;
            }
            return 1;

            }
            void data(int n)
            { int a;
            for(int i=2;i<(n/2)+1;i++)
            {
            a=n-i;
            if(check(i)&&check(a))//i ,a 都為素?cái)?shù)則輸出
            {
            printf("%d %d %d\n",n,a,i);
            break;
            }
            }

            }
            void main()
            {
            for(int i=4;i<=1234;i+=2)
            data(i);


            }

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2006-10-19 18:01 by maildaty
            flagp = 1 ;
            for(j=2;j<=(int)(sqrt(p));j++) /*判斷p是否為素?cái)?shù)*/
            {
            if ((p%j)==0)
            {
            flagp = 0 ;
            break; /*不是素?cái)?shù),退出循環(huán)*/
            }
            }
            想明白這一部分是什么意思?
            初學(xué),請(qǐng)教一下各位前輩

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2006-11-09 21:08 by 新手
            還是有的地方看不懂。

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2006-11-10 17:19 by maildaty
            我覺得某些地方應(yīng)該改一下啊
            while(flagp*flagq==0);
            上面這一句是不是有些問題????/

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2006-12-07 11:10 by 米威
            在我看來,覺得在驗(yàn)證是否為素?cái)?shù)時(shí)調(diào)用個(gè)函數(shù),也許會(huì)更加 清楚 明白 簡潔!!

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2008-03-15 10:12 by 被拔毛的老鷹
            這代碼不錯(cuò),但是假如定義一個(gè)函數(shù),并在第一個(gè)“p”不是素?cái)?shù)時(shí)就退出可以執(zhí)行的更快吧。

            # re: 驗(yàn)證哥德巴赫猜想  回復(fù)  更多評(píng)論   

            2009-07-03 08:38 by 方洲
            一個(gè)偶數(shù)等于2個(gè)奇數(shù)相加,只要其中質(zhì)數(shù)一個(gè)減去一個(gè)偶數(shù),另一個(gè)奇數(shù)加上相同的偶數(shù);最后那個(gè)偶數(shù)一定等于奇數(shù)+奇數(shù)。
            久久91这里精品国产2020| 日韩乱码人妻无码中文字幕久久 | 国内精品久久久久影院免费| 久久久一本精品99久久精品66| 1000部精品久久久久久久久| 久久无码一区二区三区少妇| 欧洲成人午夜精品无码区久久 | 国产精自产拍久久久久久蜜| 国产精品久久久久a影院| 久久人人爽人人爽人人AV| 色偷偷888欧美精品久久久| 久久人人爽人人爽人人片AV麻烦| 久久青草国产手机看片福利盒子| 亚洲精品99久久久久中文字幕| 久久久久久久人妻无码中文字幕爆| 久久精品国产72国产精福利| 亚洲av成人无码久久精品| 免费一级做a爰片久久毛片潮| 国产成人综合久久综合 | 久久w5ww成w人免费| 久久久久99精品成人片牛牛影视| 人妻无码αv中文字幕久久| 久久亚洲国产精品123区| 99久久国产免费福利| 精品久久久噜噜噜久久久 | 欧洲精品久久久av无码电影| 久久久久久亚洲精品影院| 久久久91人妻无码精品蜜桃HD| 狠色狠色狠狠色综合久久 | 无码国产69精品久久久久网站| 久久综合成人网| 久久97久久97精品免视看秋霞| 久久91精品国产91久久小草| 99久久国产精品免费一区二区 | 国产高潮久久免费观看| 国产一区二区三区久久精品| www久久久天天com| 日韩久久久久久中文人妻 | 久久91这里精品国产2020| 久久e热在这里只有国产中文精品99 | 欧洲国产伦久久久久久久|