• <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>
            心如止水
            Je n'ai pas le temps
            posts - 400,comments - 130,trackbacks - 0

            已知n1<=n<=20)個整數x1,x2,…,xn1<=xi<=5000000),以及一個整數kk<n)。從n個整數中任選k個整數相加,可分別得到一系列的和。現在,要求你計算出和為素數共有多少種。

             

             

            初期的信息學競賽確實數據很弱……看了測試數據,最大n才只有10而已。

            如果不是提前在網上聽說樸素算法都可以秒殺的話,我肯定會先篩素數,在寫一個判斷素數的函數,對于一個正整數nn>2),只需要檢測小于n的素數就可以了,這點相信不需要說。

            以下是我的代碼:

            #include<stdio.h>
            long n,k,a[21],used[21]={0},ans=0;
            int prime(long x)
            {
                
            long i;
                
            if(x==1return 0;
                
            else if(x==2return 1;
                
            else
                
            {
                   
            for(i=2;i<=sqrt(x);i++)
                     
            if(x%i==0)
                       
            return 0;
                   
            return 1;
                }

            }

            void read()
            {
                
            long i;
                scanf(
            "%ld%ld",&n,&k);
                
            for(i=1;i<=n;i++)
                  scanf(
            "%ld",&a[i]);
            }

            void dfs(long kk,long ss,long sum)
            {//------已經選擇了kk個 第kk次選擇到ss 此時和為sum 
                long i;
                
            if(kk>=k)
                
            {
                   
            if(prime(sum)==1)
                     ans
            ++;
                }

                
            else
                
            {
                   
            for(i=ss+1;i<=n;i++)
                     
            if(!used[i])
                     
            {
                        used[i]
            =1;
                        dfs(kk
            +1,i,sum+a[i]);
                        used[i]
            =0;
                     }

                }

            }

            void write()
            {
                printf(
            "%ld\n",ans);
            }

            int main()
            {
                read();
                dfs(
            0,0,0);
                write();
            return 0;
            }

            posted on 2010-01-06 19:31 lee1r 閱讀(395) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:搜索
            国产欧美久久久精品影院| 国内精品久久久久伊人av| 久久久国产99久久国产一| 狠狠色丁香久久婷婷综合| 青青青青久久精品国产h| 久久久久高潮综合影院| 麻豆精品久久久一区二区| 久久99热这里只频精品6| 久久线看观看精品香蕉国产| 亚洲国产精品成人AV无码久久综合影院 | 久久发布国产伦子伦精品 | 久久久久女教师免费一区| 伊人久久大香线蕉亚洲五月天| 国产精久久一区二区三区| 亚洲国产另类久久久精品小说| 99久久精品国产一区二区| 久久99精品久久久久久动态图 | 久久精品国产精品亚洲下载| 久久99精品久久久久久久久久| 欧美亚洲国产精品久久| 精品无码久久久久久久久久| 国产成人无码久久久精品一| 国产69精品久久久久久人妻精品| 久久久精品久久久久久| 91久久九九无码成人网站| 国产∨亚洲V天堂无码久久久| 一本色道久久88精品综合 | 久久久久人妻一区二区三区vr| 国产精品中文久久久久久久| 伊人久久精品影院| 性高湖久久久久久久久AAAAA| 欧美久久亚洲精品| 日韩久久无码免费毛片软件| 青春久久| 久久久www免费人成精品| 久久亚洲AV无码精品色午夜| 久久久久免费精品国产| 7777久久久国产精品消防器材 | 婷婷久久久亚洲欧洲日产国码AV| 亚洲国产精品久久久天堂 | 久久99国内精品自在现线|