• <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>
            隨筆 - 19, 文章 - 0, 評論 - 2, 引用 - 0
            數據加載中……

            hdu2303_The Embarrassed Cryptographer

                    好幾天都沒有刷題了,心里好煩躁啊!

                    今天終于又做了一個不是很水的題目,數論的,大整數取余,直接暴力過了。其中又學了一種素數的篩選法,效率比我以前用的方法都要高。他不計算,只是篩選。這樣一來效率就高了很多。還有一個地方,就是大整數的取余,從高位,到低位,邊乘邊取余,根據的是同余定理。


            #include <stdio.h>
            #include 
            <string.h>
            #include 
            <stdlib.h>

            int p[1000000] ;
            char pr[1000000] ;
            int len, pnum, num[14] ;

            void prime( )
            {
                
            int i, j ;
                
            // 篩選素數 
                for( i=2; i<1000000++i ){
                    pr[i] 
            = 1 ;
                }

                
            for( i=2,pnum=0; i<1000000++i ){
                    
            if( pr[i] ){
                        p[pnum
            ++= i ;
                        
            for( j=i+i; j<1000000; j+=i )
                            pr[j] 
            = 0 ;
                    }

                }

            }


            int mod( int n )
            {
                __int64 m
            =0 ;
                
            int i ;
                
            // 求余數 
                for( i=len-1; i>=0--i ){
                    m 
            = ( m*100000000+num[i] ) % n ;
                }

                
            return m ;
            }


            int main()
            {
                
            char a[111] ;
                
            int i, j, div, flag ;
                
                prime( ) ;
                
                
            while( scanf("%s%d", a, &div ) && div && a[0]!='0' ){
                    len 
            = strlen( a ) ;
                    
            for( i=0; i<14++i )
                        num[i] 
            = 0 ;
                    
            for( i=0; i<len; ++i ){
                        
            //逢一億進位 
                        j = (len+7-i) / 8 - 1 ;
                        num[j] 
            = num[j]*10 + a[i]-'0' ;
                    }

                    len 
            = (len+7)/8 ;
                    flag 
            = 1 ;
                    
            for( i=0; p[i]<div && i<pnum; ++i ){
                        
            if( mod( p[i] ) == 0 ){
                            flag 
            = 0 ;
                            
            break ;
                        }

                    }

                    
            if( flag )
                        printf(
            "GOOD\n") ;
                    
            else
                        printf(
            "BAD %d\n", p[i] ) ;
                }

                system(
            "pause");
                
            return 0 ;
            }

            posted on 2009-05-30 15:38 祝你好運! 閱讀(326) 評論(0)  編輯 收藏 引用

            国产综合精品久久亚洲| 午夜精品久久久久久中宇| 国内精品久久久久影院亚洲| 国产毛片久久久久久国产毛片 | 久久亚洲日韩精品一区二区三区 | 一本大道久久a久久精品综合| 久久成人18免费网站| 亚洲欧美另类日本久久国产真实乱对白 | 久久精品女人天堂AV麻| 亚洲综合伊人久久大杳蕉| 久久精品国产亚洲麻豆| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲中文久久精品无码| 久久精品国产91久久综合麻豆自制| 精品熟女少妇aⅴ免费久久| 无码超乳爆乳中文字幕久久| 久久久这里有精品中文字幕| 久久午夜无码鲁丝片| 精品国产日韩久久亚洲| 国产精品日韩欧美久久综合| 久久久一本精品99久久精品66 | 久久免费视频6| 亚洲国产精品人久久| 国产高潮国产高潮久久久| 久久99久久99精品免视看动漫| 久久99精品久久久久久秒播| 亚洲国产精品婷婷久久| 久久99精品综合国产首页| 久久丫精品国产亚洲av不卡| 狠狠色狠狠色综合久久| 久久精品国产AV一区二区三区| 久久久久综合国产欧美一区二区| 青青青国产成人久久111网站| 东京热TOKYO综合久久精品| 国产午夜久久影院| 狠狠久久亚洲欧美专区 | 久久精品免费观看| 久久久久综合网久久| 中文字幕亚洲综合久久2| 国产精品成人99久久久久91gav| 久久久精品久久久久久|