Berechnung der Ziffernsumme

Einleitung:

Ziffernsumme

Aufgabe:

Die Ziffernsumme einer gegebenen natürlichen Zahl ist zu berechnen. Programmtest mit der Zahl 199.

Code:

z:199;
z:charlist(string(z));
z:map(parse_string,z);
zsumme:sum(z[i],i,1,length(z));

Benutzerdefinierte Funktion:

fx

Zusatzaufgabe:
Wie oft kommt die häufigste Ziffernsumme der Zahlen von 1 bis 999 vor?

Code:

f(x):=block(z:x,
z:charlist(string(z)),
z:map(parse_string,z),
zsumme:sum(z[i],i,1,length(z))
);
ergebnisse:makelist(f(i),i,1,999);
load(descriptive)$
gruppierung:discrete_freq(ergebnisse);
X:gruppierung[1];
H:gruppierung[2];
haeufigste_ziffernsumme:maxi(H);

Die Berechnung wurde mit wxMaxima, Maxima-Online, Maxima-Cesga und Worktsheetgarden getestet.

Und auch mit Maxima on Android geht es:

moa

Die Ziffernsummen 13 und 14 kommen je 75-mal vor.

Der Code muss noch diesbezüglich ergänzt werden:

tabelle:reverse(sort(makelist([H[i],X[i]],i,1,length(X))));

Zusatzaufgabe:

Für eine gegebene Liste von natürlichen Zahlen sollen die jeweiligen Ziffernsummen berechnet werden.

li