Frage zu sieve[i] in java
Geizhals » Forum » Programmierung » Frage zu sieve[i] in java (8 Beiträge, 1706 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.....
Re(5): Frage zu sieve[i] in java
01.03.2003, 00:51:27
8-O Aha? *seufz* Na dann ... ich probiers.

aber warum wird j der wert von i zugewiesen? und was erreicht man mit j=j+i?

Als Beispiel: i = 2, dann sieht die for-Schleife so aus:
for (j = 2; j <= maxNumber; j = j + 2)
   sieve[j] = false;
Daraus folgt, dass j die Werte 2, 4, 6, 8, 10, ... maxNumber annimmt.

Als Beispiel: i = 3, dann sieht die for-Schleife so aus:
for (j = 3; j <= maxNumber; j = j + 3)
   sieve[j] = false;
Daraus folgt, dass j die Werte 3, 6, 9, 12, 15, ... maxNumber annimmt.




welche werte haben die variablen wenn die Prozedur printPrimes das erste mal durchlaufen wird? welche werte ergeben sich für die variablen j,i wenn die Prozedur PrintPrimes ein 2. Mal durchlaufen wird?

Das kann ich so nicht beantworten, das hängt vom Aufrufparameter maxNumber ab.
i, j haben am Ende der Prozedur ungefähr den Wert maxNumber. Verwechselst Du hier Prozeduren (printPrimes) mit Schleifen (for, while)?




hier hat xane geschrieben dass alle Vielfachen der bisher vorkommenden Primzahlen als false markiert werden und im Array der erste Index gesucht wird der noch den true im array stehen hat. aber was macht die while funktion genau? siedet diese funktion nicht die false werte aus und wird nicht in dieser schleife der erste index mit dem wert true gesucht?

for (j = 2; j <= maxNumber; j = j + 2)
   sieve[j] = false;
Während der for-Schleife werden alle Vielfachen der bisher vorgekommenen Primzahlen (i) im Array als false markiert!

while (i <= maxNumber && !sieve[i])
   i++;
In der letzten While-Schleife wird i so lange erhöht, bis entweder i > maxNumber, oder (sieve [i] == true) gilt. Also ja, es wird der erste Index für den das Array noch den Wert true hat, gesucht.


Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung