Roundy
BIOS-Overclocker(in)
Edit:
Da meine Frage sich ja erübrigt hat wollte ich euch mal zu einem kleinen Contest auffordern.
Und zwar geht es darum alle Primzahlen (bzw deren Anzahl) von 0 bis 1 Milliarde zu berechnen.
Euer Programm muss enthalten:
Eingabeaufforderung (siehe meins auf seite 2)
Zeitmessung (nur für die Rechenarbeit, nicht für die Ausgabe)
Korrekte berechnete(!) Werte
Es muss die Primzahlen nicht ausgeben, sondern nur deren Anzahl.
Den Code dann anschließend im Thread posten, damit wir voneinander lernen können.
Haut rein Leute
Gruß
Hey ho, ich hab ne bissl exotische Frage:
Wir haben als Informatik Hausaufgabe die Aufgabe erhalten das Sieb des Eratosthenes in Java zu programmieren.
So weit kein Problem.
Ich würde das ganze jetzt aber gerne nicht nur auf einem Prozessorkern sondern auf meinen 4 laufen lassen, und da komm ich an ein Problem.
Momentan noch nicht Multithreading fähige Herangehensweise:
Ich lege einen Array der Größe i an (i ist die Zahl bis zu der getestet wird)
anschließend streiche ich gemäß des Siebes alle Zahlen und so weiter bis nur die Primzahlen übrig bleiben.
Mein Gedanke für mehrere Threads war den ursprünglichen Array in 4 Arrays jeweils der Größe u = i / 4 zu unterteilen.
Nun ist ist der Startwert für einen Array ja immer 0.
somit steht in meinem Fall der Array[0] für die Zahl 0.
Ich würde jetzt aber gerne nicht jeden Array mit 0 starten lassen sondern den ersten im Intervall Array[0] bis Array, den Zweiten im Intervall von Array bis Array[2u], den dritten Array[2u] bis Array[3u] und den vierten von Array[3u] bis Array.
Ist dies überhaupt möglich?
Und wenn ja wie?
Gruß
Da meine Frage sich ja erübrigt hat wollte ich euch mal zu einem kleinen Contest auffordern.
Und zwar geht es darum alle Primzahlen (bzw deren Anzahl) von 0 bis 1 Milliarde zu berechnen.
Euer Programm muss enthalten:
Eingabeaufforderung (siehe meins auf seite 2)
Zeitmessung (nur für die Rechenarbeit, nicht für die Ausgabe)
Korrekte berechnete(!) Werte
Es muss die Primzahlen nicht ausgeben, sondern nur deren Anzahl.
Den Code dann anschließend im Thread posten, damit wir voneinander lernen können.
Haut rein Leute

Gruß
Hey ho, ich hab ne bissl exotische Frage:
Wir haben als Informatik Hausaufgabe die Aufgabe erhalten das Sieb des Eratosthenes in Java zu programmieren.
So weit kein Problem.
Ich würde das ganze jetzt aber gerne nicht nur auf einem Prozessorkern sondern auf meinen 4 laufen lassen, und da komm ich an ein Problem.
Momentan noch nicht Multithreading fähige Herangehensweise:
Ich lege einen Array der Größe i an (i ist die Zahl bis zu der getestet wird)
anschließend streiche ich gemäß des Siebes alle Zahlen und so weiter bis nur die Primzahlen übrig bleiben.
Mein Gedanke für mehrere Threads war den ursprünglichen Array in 4 Arrays jeweils der Größe u = i / 4 zu unterteilen.
Nun ist ist der Startwert für einen Array ja immer 0.
somit steht in meinem Fall der Array[0] für die Zahl 0.
Ich würde jetzt aber gerne nicht jeden Array mit 0 starten lassen sondern den ersten im Intervall Array[0] bis Array, den Zweiten im Intervall von Array bis Array[2u], den dritten Array[2u] bis Array[3u] und den vierten von Array[3u] bis Array.
Ist dies überhaupt möglich?
Und wenn ja wie?
Gruß
Zuletzt bearbeitet:

Also kein großer Unterschied.