Aufgabe: Zeige, dass alle Zahlen aus Permutationen (Anordnungen der Ziffern) der Zahl 199 Primzahlen sind.
Quelle: https://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:
b) Omega CAS Explorer:
c) Sagecell: