Alle Permutationen von 199 sind Primzahlen

Aufgabe: Zeige, dass alle Zahlen aus Permutationen (Anordnungen der Ziffern) der Zahl 199 Primzahlen sind.

Quellehttps://twitter.com/HansruediWidmer/status/754556258946916352

Code:

z:[1,9,9];
P:permutations(z);
Z:listify(P);
f(x):=primep(x);
map(f,Z.[100,10,1]);

Weiterentwickelter Code:

z:199;
z:charlist(string(z));
z:map(parse_string,z);
P:permutations(z);
Z:listify(P);
f(x):=primep(x);
map(f,Z.[100,10,1]);

Den Hinweis zu parse_string habe ich hier gefunden: http://www.rvk-hagen.de/~stewen/maxima_in_beispielen/maxima_in_beispielense102.html

Programm Ausgabe Erklärung
z:199; (z)199 Eingabe der Zahl 199
z:charlist(string(z)); (z)[„1″,“9″,“9“] Verwendlung der Zahl in einen String und dann die Erzeugung einer Zeichenliste
z:map(parse_string,z); (z)[1,9,9] Zeichen in der Liste werden wieder in Zahlen verwandelt
P:permutations(z); (P){[1,9,9],[9,1,9],[9,9,1]} Erstellung der Menge der Permutationen
Z:listify(P); (Z)[[1,9,9],[9,1,9],[9,9,1]] Menge der Permutationen in Liste verwandeln
f(x):=primep(x); f(x):=primep(x) Funktion, die die Primzahleigenschaft prüft
map(f,Z.[100,10,1]); [true,true,true] Ergebnis: alles Primzahlen, wie behauptet. Verwendung Skalarprodukt von Vektoren.

Berechnungen:

a) Maxima Online:

199prim

b) Omega CAS Explorer:

ocas3.jpg

c) Sagecell:

Sagecell