Sito Eratostenesa – implementacja Java

Prosty algorytm polegający na wykreslaniu z zadanego przedziału wielokrotności liczb mniejszych lub równych pierwiastkowi kwadratowemu. Liczby które nie zostaną wykreślone są liczbami pierwszymi. Implementacja:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String[] args) {
    int n=100; // definiuje przedział od o do 99
    boolean pierwsze[] = new boolean[n];
    Arrays.fill(pierwsze, true);//wypelniam calosc true
    pierwsze[0]=false;//0 i 1 od razu wyrzucam
    pierwsze[1]=false;
    for(int i=2;i<=Math.sqrt(n);i++)// lece po tablicy do sqrt(n)
    {

        for(int t=i+i;t<n;t=t+i){//wykreslam wieloktornosci

            pierwsze[t]=false;

        }

    }

    for(int r=0;r<n;r++){//wyswietlam te indeksy ktore sa oznaczone jako true

        if(pierwsze[r])
        System.out.println(r);

    }

}
Dzięki za wizytę,
Mateusz Mazurek
Podziel się na:
    Facebook email PDF Wykop Twitter

Dodaj komentarz

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subskrybuj  
Powiadom o