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

 

Über Johnny Weilharter

Direktor i. R. der Bundeshandelsakademie und Bundeshandelssschule in Tamsweg, Österreich
Dieser Beitrag wurde unter benutzerdefinierte Funktion, BYOD, Creative Commons, FUNKTIONEN, GRAFIK, Kombinatorik, Kompetenzorientiert, Listenverarbeitung, Summen veröffentlicht. Setze ein Lesezeichen auf den Permalink.