H
hüteüberhüte
Gast
Java:
/*
* nur für 3 bis Integer.MAX_VALUE richtig
*/
private static boolean istPrime(int i) {
if (i % 2 == 0) {
return false;
}
final int sqrt = (int) Math.sqrt(i);
for (int j = 3; j <= sqrt; j += 2) {
if (i % j == 0) {
return false;
}
}
return true;
}
private static boolean istPrime(long l) {
if (l % 2 == 0) {
return false;
}
final long sqrt = (long) Math.sqrt(l);
for (long m = 3; m <= sqrt; m += 2) {
if (l % m == 0) {
return false;
}
}
return true;
}
private static void druckePrime(int bis) {
System.out.print(2);
System.out.print(' ');
for (int i = 3; i <= bis; i++) {
if (istPrime(i)) {
System.out.print(i);
System.out.print(' ');
} else {
System.out.print('-');
System.out.print(' '); // <- wähle hier
}
}
}
public static void main(String[] args) {
druckePrime(97);
}
Jetzt hast du:
- eine relativ schnelle Primzahl-Methode,
- eine Primzahl-Methode, die auch mit long geht,
- eine "Drucke"-Methode, die du leicht deinen Vorstellungen entsprechend anpassen kannst. Hth.
Viele Grüße
hütte
Edit: Ach, prim ohne e.
Zuletzt bearbeitet von einem Moderator: