Hallo,
könnte mir jemand die Zeilen hier erklären; bzw. was genau passiert?
In Zeile 1 wird das Eingebe Argument in N gespeichert.
In Zeile 2 wird eine neue boolean Array a mit boolean werten erstellt, die soll so gross sein, wie das eingegebene Int Wert.
Zeile 3 Soll durch die array iterieren, fängt bei N an, soll so oft durchlaufen solange i grösser als 1 ist und bei jeden durchlauf immer um 1 weniger werden. Bis hier verständlich
Was bedeutet a(die eckige klammer und i darin wird i.wie nicht angezeigt) = true; in diesem Fall?
und der Rest ?
könnte mir jemand die Zeilen hier erklären; bzw. was genau passiert?
In Zeile 1 wird das Eingebe Argument in N gespeichert.
In Zeile 2 wird eine neue boolean Array a mit boolean werten erstellt, die soll so gross sein, wie das eingegebene Int Wert.
Zeile 3 Soll durch die array iterieren, fängt bei N an, soll so oft durchlaufen solange i grösser als 1 ist und bei jeden durchlauf immer um 1 weniger werden. Bis hier verständlich
Was bedeutet a(die eckige klammer und i darin wird i.wie nicht angezeigt) = true; in diesem Fall?
und der Rest ?
Java:
public class Primes2 {
public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
boolean[] a = new boolean[N];
for ( int i = N - 1; i > 1; i--) a[i] = true;
for ( int i=2; i<Math.ceil(Math.sqrt(N)); i++)
if ( a[i] != false ) {
System.out.print(i);
for ( int j=i; i*j < N; j++ ) {
a[i*j] = false;
System.out.print("+");
}
System.out.println();
}
for ( int i = 2; i < N; i++ ) if (i > N - 100 )
if (a[i]) System.out.print(" " + i); System.out.println();
}
}