線性篩選法求素?cái)?shù)

import java.util.Scanner;

public class Main{
    
    public static int prime(int n) {
        
        if(n == 0)
            return -1;
        int[] a = new int[n + 1];
        int[] p = new int[n];
        int index = 0;
        for(int i = 2; i < n; i++) {
            
            if(a[i] == 0){
                
                p[index ++] = i;
                System.out.print(i + " ");
            }
                
            for(int j = 0; j < index && i * p[j] < n; j++) {
                
                a[i * p[j]] = 1;
                if(i % p[j] == 0)
                    break;
            }
        }
        return index;
    }
    public static void main(String[] args) {
        
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int count = prime(n);
        System.out.println(count);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 素?cái)?shù),就是只能被自己和一整除的數(shù)。在程序設(shè)計(jì)時(shí)很多時(shí)候都會(huì)涉及到素?cái)?shù)的求法,而我也恰好也又一次遇到這個(gè)問題。所以在...
    原來不語閱讀 1,106評(píng)論 0 1
  • 使用篩法求N以內(nèi)的素?cái)?shù),從2開始,不斷剔除2的倍數(shù),然后從剩下的數(shù)字中,選擇最小的數(shù)3(這個(gè)數(shù)一定會(huì)是素?cái)?shù)),然后...
    Jiafu閱讀 2,702評(píng)論 0 0
  • 篩法描述: 把 2 到 n 中所有的數(shù)列出來, 然后從 2 開始, 先劃掉 n 內(nèi)所有 2 的倍數(shù), 然后每次從下...
    tingshuo123閱讀 1,467評(píng)論 0 0
  • 題目: (●ˇ?ˇ●)嘿嘿 看到這道題馬上想到了打表,結(jié)果是懵逼的 打表代碼(誤): OJ的顯示是:Runtime...
    1QzUPm_09F閱讀 535評(píng)論 0 0
  • 事件相關(guān)功能函數(shù),使用直接調(diào)取即可;事件綁定 事件解綁 獲取事件對(duì)象 獲取事件目標(biāo)元素 阻止默認(rèn)事件---->注意...
    小雞雞燉蘑菇閱讀 265評(píng)論 0 0