• <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>
            posts - 74,  comments - 33,  trackbacks - 0
            The Embarrassed Cryptographer
            Time Limit: 2000MS Memory Limit: 65536K
            Total Submissions: 4062 Accepted: 804

            Description

            The young and very promising cryptographer Odd Even has implemented the security module of a large system with thousands of users, which is now in use in his company. The cryptographic keys are created from the product of two primes, and are believed to be secure because there is no known method for factoring such a product effectively.
            What Odd Even did not think of, was that both factors in a key should be large, not just their product. It is now possible that some of the users of the system have weak keys. In a desperate attempt not to be fired, Odd Even secretly goes through all the users keys, to check if they are strong enough. He uses his very poweful Atari, and is especially careful when checking his boss' key.

            Input

            The input consists of no more than 20 test cases. Each test case is a line with the integers 4 <= K <= 10100 and 2 <= L <= 106. K is the key itself, a product of two primes. L is the wanted minimum size of the factors in the key. The input set is terminated by a case where K = 0 and L = 0.

            Output

            For each number K, if one of its factors are strictly less than the required L, your program should output "BAD p", where p is the smallest factor in K. Otherwise, it should output "GOOD". Cases should be separated by a line-break.

            Sample Input

            143 10
            143 20
            667 20
            667 30
            2573 30
            2573 40
            0 0

            Sample Output

            GOOD
            BAD 11
            GOOD
            BAD 23
            GOOD
            BAD 31
             
            題目的大意是:給一個(gè)很大的數(shù)K,和一個(gè)普通的整數(shù)L,問K有沒有小于L的質(zhì)因子,有則輸出“BAD 那個(gè)因子”,否則輸出“GOOD”。
            首先,明顯當(dāng)然要打一個(gè)素?cái)?shù)表了。
            接下來就是關(guān)鍵部分了,讀入K,把K轉(zhuǎn)成千進(jìn)制。把數(shù)字往大進(jìn)制轉(zhuǎn)換能夠加快運(yùn)算效率。千進(jìn)制的性質(zhì)與十進(jìn)制相似。例如,1234567890轉(zhuǎn)成千進(jìn)制,就變成了:[1][234][567][890]。

            然后再從小到大枚舉每一個(gè)素?cái)?shù),并對其進(jìn)行高精度求余就行了。
            下面是關(guān)鍵部分的一些代碼:
            int divide(int div) //高精度求余。 
            {
                int i,ans=0;
                for(i=la-1;i>=0;i--)
                    ans=(ans*1000+a[i])%div;
                return ans;    
            }

            void makeprime() //建立素?cái)?shù)表。 
            {
                int i,j,isprime,k,p=3;
                for(i=6;i<N;i++)
                {
                    isprime=1;
                    k=(int)sqrt(i);    
                    for(j=0;j<p;j++)
                    {
                        if(prime[j]>k+1)
                            break;
                        if(i%prime[j]==0)
                        {
                            isprime=0;
                            break;
                        }    
                    }
                    if(isprime) prime[p++]=i;    
                }    
            }

                    len=strlen(s);
                    for(i=0;i<len;i++) //轉(zhuǎn)化為千進(jìn)制。 
                    {
                        t=(len-i+2)/3-1;
                        a[t]=a[t]*10+s[i]-'0';
                    }
                    la=(len+2)/3;
            posted on 2008-12-24 21:51 KNIGHT 閱讀(335) 評(píng)論(0)  編輯 收藏 引用

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


            <2008年12月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(8)

            隨筆檔案

            文章檔案

            Friends

            OJ

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            欧美精品九九99久久在观看| 久久亚洲精品无码AV红樱桃| 亚洲AV伊人久久青青草原| 亚洲国产精品综合久久一线| 精品国产乱码久久久久软件| 一本一道久久精品综合| 国产精品久久久久久久久久影院| 久久久久亚洲Av无码专| 亚洲欧洲久久久精品| 国产福利电影一区二区三区久久久久成人精品综合 | 久久免费小视频| 亚洲中文久久精品无码ww16| 国产精品久久久久…| 精品国产青草久久久久福利| 久久国产乱子伦精品免费午夜| jizzjizz国产精品久久| 久久久无码精品亚洲日韩蜜臀浪潮 | 香蕉99久久国产综合精品宅男自| AAA级久久久精品无码片| 国产精品99久久久精品无码| 久久久黄片| 久久免费香蕉视频| 久久国产高清一区二区三区| 99久久综合国产精品二区| 国产午夜福利精品久久2021 | 97精品国产97久久久久久免费| 久久精品无码专区免费 | 99久久精品免费观看国产| 人人狠狠综合久久亚洲88| 久久国产精品久久国产精品| 国产一久久香蕉国产线看观看 | 蜜臀av性久久久久蜜臀aⅴ| 伊人久久精品无码av一区| 亚洲va久久久噜噜噜久久天堂| 久久丫忘忧草产品| 色欲久久久天天天综合网精品| 久久精品国产亚洲av麻豆蜜芽| 99久久99久久精品国产片果冻| 久久精品久久久久观看99水蜜桃| 婷婷久久香蕉五月综合加勒比| 久久久国产精品亚洲一区|