+1 Daumen
5k Aufrufe
Definieren sie eine Funktion, die bei Eingabe einer natürlichen Zahl n alle Primzahlen zwischen 1 und n berechnet, deren Quersumme wiederum eine Primzahl ist.

Bsp.: 100 => [2,3,5,7,11,23,29,41,43,47,61,67,83,89]

 

Wie mache ich das theoretisch?
Avatar von

1 Antwort

0 Daumen

Ich hoffe du kannst damit etwas anfangen wenn ich das in java runterschreibe. Momentan kann ich das aber hier nicht testen, weil ich kein Java hier habe. Aber es geht ja auch mehr um die Struktur wie man es machen würde.

public static void main(String[] args) {

        long quersumme;        long z;
System.out.println("Liste aller Primzahlen deren Quersumme wieder eine Primzahl ist:");
for (long zahl = 1; zahl <= 100; zahl++) {
if (is_prim(zahl)) {
System.out.println(zahl + " ist prim!");
z = zahl;
quersumme = 0;
while (z > 0) {
quersumme = quersumme + (z % 10);
z = z/10;
};
if (Toolbox.is_prim(quersumme)) {
System.out.println("Quersumme ist auch prim!");
}
}
}
System.out.println("Ende der Liste");
}

public static boolean is_prim(long zahl) {
if (zahl < 2) return false;
for (long i=2; i*i <= zahl; i++) {
if (zahl % i == 0) return false;
}
return true;
}
Avatar von 495 k 🚀
Made by a lovely Community