精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 關(guān)于素數(shù)的數(shù)列,高手進!

    關(guān)于素數(shù)的數(shù)列,高手進!
    a1 = 1
    a2 = 3
    a3 = 6
    a4 = 11
    a[n] - a[n - 1]是一個遞增的素數(shù)序列
    如果a[n] > 10000, a[n] = a[n] % 10000;
    input n
    output a[n]
    下面這個解法我看不懂,請高手講解,謝謝!
    #include
    #include
    #define N 1000001
    #define MOD 10000
    long p[50001];
    bool prime[N];
    long out[50001];
    void get_out()
    {
    long i,num=0,j,k;
    memset(prime,0,sizeof(prime));
    out[0]=1;
    for(i=2;i
    其他人氣:857 ℃時間:2020-05-20 19:42:56
    優(yōu)質(zhì)解答
    這個算法沒什么難懂的啊,無非是利用了篩法來建素數(shù)數(shù)組而已.
    篩法的原理是:假設(shè)要求從2到n之間所有的素數(shù),可以選建一個長度為n-1的數(shù)組,初始全設(shè)為0,表示目前所有的數(shù)都是素數(shù).然后從2開始向后遍歷,每遇到一個素數(shù)(在數(shù)組中對應(yīng)值為0),就將其的整數(shù)倍在數(shù)組中的對應(yīng)值設(shè)為1.這樣的話,第一次就刪掉了所有的2的倍數(shù),第二次刪掉3的倍數(shù),第三次刪掉5的倍數(shù)(4的倍數(shù)在第一次刪2的倍數(shù)時已經(jīng)刪掉了),第四次刪掉7的倍數(shù)(6的倍數(shù)已經(jīng)在刪2,3的倍數(shù)時刪掉了).以此類推,直到遍歷結(jié)束,這時候,所有的合數(shù)已經(jīng)都被篩選掉了.
    程序中的
    for(j=0;j=N)
    break;
    prime[k]=1;
    }
    這段,就是篩法的核心代碼了.
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版