+1 Daumen
4,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 488 k 🚀

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community