@ hl2.exe da ist ein fehler in deinem algorythmus..
der rest bei modulo ist immer größer 0 bei dir.. und so bald die variable isPrim = false gesetzt hast in deiner if anweisung wie sie nie mehr true gesetzt..
hier meine version:
Code:public static boolean isPrim(int p) { if (p % 2 == 0) return false; //wenn 2 teiler von p ist p nicht prim int i = (int) Math.sqrt(p); // es genögt nach teilern kleiner wurzel p zu suchen if (i % 2 == 0) i--; // es genügt nur ungerade teiler zu prüfen da p selbst ungerade ist while(i>2) { if(p % i == 0) return false; i -=2; //wie gesagt nur ungerade zahlen, deshalb immer -2 } return true; }



Zitieren
