• <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,問(wèn)K有沒(méi)有小于L的質(zhì)因子,有則輸出“BAD 那個(gè)因子”,否則輸出“GOOD”。
            首先,明顯當(dāng)然要打一個(gè)素?cái)?shù)表了。
            接下來(lái)就是關(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òu)男〉酱竺杜e每一個(gè)素?cái)?shù),并對(duì)其進(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 閱讀(330) 評(píng)論(0)  編輯 收藏 引用

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


            <2009年5月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(8)

            隨筆檔案

            文章檔案

            Friends

            OJ

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            91麻豆国产精品91久久久| 99久久成人国产精品免费| 久久这里有精品| 99久久成人国产精品免费| 99久久精品免费看国产| 久久亚洲AV无码精品色午夜麻豆| 午夜精品久久久久久久| 91久久香蕉国产熟女线看| 偷窥少妇久久久久久久久| 久久99中文字幕久久| 久久夜色撩人精品国产| 久久九九久精品国产免费直播| 国产亚洲欧美精品久久久| 欧美亚洲日本久久精品| 国产精品免费福利久久| 日本精品久久久久久久久免费| 精品久久久久久国产| 中文字幕久久精品无码| 久久久久人妻精品一区三寸蜜桃| 久久久久人妻精品一区| 久久香综合精品久久伊人| 久久er国产精品免费观看8| 久久久久国产精品三级网| 久久久av波多野一区二区| 久久精品国产一区二区电影| WWW婷婷AV久久久影片| 一本久久知道综合久久| 亚洲欧美一区二区三区久久| 久久精品国产欧美日韩| 777久久精品一区二区三区无码| 亚洲中文久久精品无码ww16| 亚洲午夜精品久久久久久浪潮 | 国产精久久一区二区三区| 日韩精品久久无码中文字幕| 一级a性色生活片久久无| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 天天爽天天爽天天片a久久网| 亚洲国产精品高清久久久| 精品多毛少妇人妻AV免费久久 | 久久成人国产精品一区二区| 99久久国产综合精品麻豆|