Project Euler Problem 10

burri44

Neues Mitglied
Guten Tag liebes Forum!

Ich studiere Wirtschaftsinformatik und habe als Refreshment mal ein paar Project Euler Aufgaben lösen wollen! Nun bin ich bei Aufgabe 10 ein bisschen verwirrt!

Folgende Aufgabenstellung:

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million.

Mein Code:

Java:
public static void main(String[] args) {
		
		int sum = 2;
		System.out.print("2");

		for(int i = 3;i<2000000;i++){
		boolean c = false;
		
		for(int b = 2;b<i/2+1;b++){
			
			if(i%b==0){
				c = true;
			break;
			}
			
			

	}
		if(c==false){
			System.out.print(" + " + i);
				sum = sum+i;
		}
}
		System.out.println(" = " +sum);
}

Ich komme mit diesem Code auf 1179908154. Jedoch ist das falsch!

Vielen Dank für eure Hilfe.

Burri44
 
Zuletzt bearbeitet:
Benutze ein long, statt ein int, und du wirst feststellen, warum deins nicht funktioniert hat.

Tipp:

Bei Zahlen muss man nur bis zur Wurzel n überprüfen, ob ein Teiler vorliegt, da sonst der andere Faktor bereits überprüft wurde... das beschleunigt deinen Algo. schonmal.

Verwende für die Primzahlüberprüfung eine eigene Methode, dann ist's viel übersichtlicher und kann ggf. wiederverwendet werden, falls du die anderen aufgaben versuchen möchtest, wobei sich hier eigentlich das Sieb von Erastothenes anbietet.
 

Zurück
Oben