• <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>

            PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的

            http://acm.pku.edu.cn/JudgeOnline/problem?id=1006 
                        題目名字叫Biorhythms,翻譯過(guò)來(lái)大概是“生物節(jié)律”吧。 
                        這道題并不難,但是,挺有意思的。 
                        先來(lái)看一個(gè)故事 
                  傳說(shuō)西漢大將韓信,由于比較年輕,開(kāi)始他的部下對(duì)他不很佩服。有一次閱兵時(shí),韓信要求士兵分三路縱隊(duì),結(jié)果末尾多2人,改成五路縱隊(duì),結(jié)果末尾多3人,再改成七路縱隊(duì),結(jié)果又余下2人,后來(lái)下級(jí)軍官向他報(bào)告共有士兵2395人,韓信立即笑笑說(shuō)不對(duì)(因2395除以3余數(shù)是1,不是2),由于已經(jīng)知道士兵總?cè)藬?shù)在2300?/FONT>2400之間,所以韓信根據(jù)23,128,233,------,每相鄰兩數(shù)的間隔是105,便立即說(shuō)出實(shí)際人數(shù)應(yīng)是2333人(因2333=128+20χ105+105,它除以3余2,除以5余3,除以7余2)。這樣使下級(jí)軍官十分敬佩,這就是韓信點(diǎn)兵的故事。 

               簡(jiǎn)化:已知 n%3=2,n%5=3,n%7=2,求n。 
               再看我們這道題,讀入p,e,i,d 4個(gè)整數(shù),已知(n+d)%23=p; (n+d)%28=e; (n+d)%33=i ,求n 。 
               是不是一樣呢? 

               呵呵,確實(shí)一樣。想到這里覺(jué)得很興奮。但是韓信是怎么計(jì)算出結(jié)果的呢? 
               隨便google了一下,原來(lái)這個(gè)東西叫“中國(guó)剩余定理”,《孫子算經(jīng)》中就有計(jì)算方法。 
               韓信應(yīng)該是這樣算的: 
                  因?yàn)閚%3=2,n%5=3,n%7=2且3,5,7互質(zhì) 
                  使5×7被3除余1,用35×2=70; 
                   使3×7被5除余1,用21×1=21; 
                   使3×5被7除余1,用15×1=15。 
                  (70×2+21×3+15×2)%(3×5×7)=23 

               同樣,這道題也應(yīng)該是: 
                   使33×28被23除余1,用33×28×8=5544; 
                   使23×33被28除余1,用23×33×19=14421; 
                   使23×28被33除余1,用23×28×2=1288。 
                  (5544×p+14421×e+1288×i)%(23×28×33)=n+d 
                   n=(5544×p+14421×e+1288×i-d)%(23×28×33)
                   由于我們面對(duì)的是計(jì)算機(jī),所以以上那些很大的數(shù)字,可以單獨(dú)寫(xiě)程序讓電腦在近乎0的時(shí)候內(nèi)求出:) 為什么要單獨(dú)寫(xiě)呢?嘿嘿,為了主程序的效率著想~ 

                程序已經(jīng)出來(lái)了 
             1#include <stdio.h> 
             2void main() 
             3
             4int p,e,i,d,n; 
             5int num=1
             6while(1
             7
             8scanf("%d%d%d%d",&p,&e,&i,&d); 
             9if(p!=-1
            10
            11n=(5544*p+14421*e+1288*i-d+21252)%21252
            12if(n==0)n=21252
            13printf("Case %d: the next triple peak occurs in %d days.\n",num++,n); 
            14}
             
            15else break
            16}
             
            17
            18}
             




             




            呵呵,事情到此為止我已經(jīng)十分開(kāi)心了,因?yàn)槲铱吹竭€有很多用各種各樣方法搞得頭昏腦脹都還沒(méi)有ac的同學(xué)們。大家加油吧~ 
            但是,還有一點(diǎn)想不明白,我的Memory用了72K,查看這道題的status,很多人竟然只用了20K內(nèi)存就做出來(lái)了,最強(qiáng)的竟然只用了4K!難道有更好的算法??百思不得其解。。。如果有人知道,請(qǐng)告訴我,感謝。 

            posted on 2007-09-14 02:12 流牛ζ木馬 閱讀(3887) 評(píng)論(10)  編輯 收藏 引用

            評(píng)論

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的 2008-08-07 17:52 lihongbo1008@163.com

            使33×28被23除余1,用33×28×8=5544;
            使23×33被28除余1,用23×33×19=14421;
            使23×28被33除余1,用23×28×2=1288。
            (5544×p+14421×e+1288×i)%(23×28×33)=n+d
            n=(5544×p+14421×e+1288×i-d)%(23×28×33)


            第一行應(yīng)該是:使33×28被23除余1,用33×28×6=5544;   回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的 2008-12-03 20:49 days

            sum = (5544*p +14421*e + 1288*i)%21252;
            days = sum -d;
            請(qǐng)教一下這樣那里出了問(wèn)題
            一直wa  回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的 2008-12-03 20:56 days

            (5544×p+14421×e+1288×i)%(23×28×33)=n+d

            如果
            sum = n+d
            n = sum -d
            ?  回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的 2009-01-15 22:54 畫(huà)中的黑馬

            終于看懂了!
            “ 同樣,這道題也應(yīng)該是:
            使33×28被23除余1,用33×28×8=5544;
            使23×33被28除余1,用23×33×19=14421;
            使23×28被33除余1,用23×28×2=1288。 ”
            這一段好難看明白哦  回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的[未登錄](méi) 2009-05-02 16:50 菜鳥(niǎo)

            6,19,2是怎么得到的啊  回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的[未登錄](méi) 2009-05-02 17:05 菜鳥(niǎo)

            看懂了……報(bào)告中的錯(cuò)誤也太“低級(jí)”了,苦了菜鳥(niǎo)我啊
              回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的 2011-08-03 21:53 Tinylamb

            @days
            沒(méi)問(wèn)題。因?yàn)?a+b)%c=(a%c+b%c)%c  回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的[未登錄](méi) 2011-10-05 00:08 huhu

            為什么是*8,*19,*2,百度上看的不是很懂,希望樓主賜教~~拜托了!!!  回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的 2012-06-18 10:40 wpj112

            使5×7被3除余1,用35×2=70;
            上句中 5*7被3除是余2呀,筆誤呀,作者?  回復(fù)  更多評(píng)論   

            # re: PKU POJ 1006 Biorhythms 從“韓信點(diǎn)兵”中想到的 2016-03-09 16:17 physhy

            @wpj112
            看好,是使它的結(jié)果為1。那么你就要湊出5*7*n%3=1,n最小為2。  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            導(dǎo)航

            統(tǒng)計(jì)

            公告

            MY Email/MSN :mars1021@163.com QQ : 27402040 流牛ζ木馬

            常用鏈接

            留言簿(6)

            隨筆檔案

            相冊(cè)

            搜索

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            少妇被又大又粗又爽毛片久久黑人| 亚洲国产婷婷香蕉久久久久久 | 国产精品九九久久免费视频 | 狠狠色综合久久久久尤物| 国产精品久久久久久一区二区三区| 久久久久人妻一区二区三区 | 欧洲成人午夜精品无码区久久| 成人午夜精品无码区久久| 日韩乱码人妻无码中文字幕久久 | 狠狠色丁香久久综合婷婷| 亚洲精品国产成人99久久| 久久精品国产欧美日韩| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 9191精品国产免费久久| 伊人色综合久久天天网| 99久久精品国内| 久久九九久精品国产| 久久精品国产网红主播| 欧美性大战久久久久久| 人妻精品久久无码区| 国产精品美女久久久久AV福利| 伊人久久精品影院| 国产精品久久免费| 久久婷婷国产剧情内射白浆| 一级做a爰片久久毛片16| 色播久久人人爽人人爽人人片aV | 久久伊人精品青青草原高清| 中文字幕无码久久久| 99久久精品九九亚洲精品| 午夜不卡久久精品无码免费 | 久久黄视频| 精品久久久久久国产91| 婷婷久久香蕉五月综合加勒比 | 亚洲精品第一综合99久久| 91精品日韩人妻无码久久不卡| 亚洲中文字幕无码久久精品1| 色综合久久最新中文字幕| 99久久国产热无码精品免费| 亚洲欧美日韩久久精品| 欧美与黑人午夜性猛交久久久| 国产精品无码久久久久|