Algorithmus gesucht für

…gegeben ist folgendes: Es ist eine bestimmte Anzahl Ziffern gegeben. Sagen wir der Einfachheit halber, die Ziffern 1,2,3 und 4. Es könnten aber genausogut mehr Ziffern und andere Ziffern sein, z.B. 2,7,8,9 oder gar 3,4,5,6,8,9.
Nun sollen alle möglichen bildbaren Zahlen addiert werden. Bei 1,2,3 wäre z.B. die Lösung:
1+2+3+4+12+21+13+31+14+41+23+32+24+42+34+43+123+132+213+231+321+312+124+142+214+241+421+412+134+143+314+341+413+431+234+243+324+342+432+423

Ergebnis: 7000

Die Aufgabe wäre also, alle Kombinationen aus N Ziffern zu addieren, inclusive der geringeren Anzahlen. Mit anderen Worten, bei vier Ziffern auch die drei, zwei- und einstelligen Zahlen wie im obigen Beispiel.

Ein Tip …
Hallo,
man kann die Summe geschlossen angeben. Im Bsp. forme die Summe um in (1+2+3+4)*(X+10*Y+100+Z). X,Y,Z geben an wie häufig die 1,2,3 an den entsprechenden Stellen vorkommen. Man erhält X=10=1+3+3*2, Y=3+3*2=9, Z=3*2.
Allgemeiner erhält man für eine k-elementige Teilmenge der n-elementigen Menge M

(Summem\in Mm) * (Summe0 10i * Xi)

die Xi überlasse ich Dir :wink:. Ist einfach, wenn man das Schema erkannt hat.
Programmatisch könnte man die Summe auch über eine (Preorder) Traversierung eines m-vollständigen Baumes (d.h. jeder Knoten hat m Nachfolger) mit den Kanten gelabelt nach den Elementen von M bestimmen. Jeder Pfad bestimmt eine Zahl, Pfade mit gleich gelabelten Kanten müssen vermieden werden, die Tiefe bestimmt die 10er Potenz.

Gruss
Enno

Hallo Manfred,

ich weiss zwar nicht, wass die Ziffer „4“ in Deinem Beispiel unten zu suchen hat (schließlich war die Vorgabe ja 1,2,3)… aber ich habe (glaube ich) eine Lösung.

Da Bauingenieur wie ich sich durch die Höhere Mathematik im Studium und Beruf nur mit Grausen quälen, aber allemal für einen Trick zu haben sind, hier meine Lösung:

Voraussetzung: die n Ziffern sind alle unterschiedlich, also z.B. nicht 1,2,2,3, sondern allgemein a,b,c,d, wobei keine Ziffer mit einer anderen gleich ist.

Dann kann man folgendes Gedankenmodell aufmachen: (zunächst mal nur für die 4-stelligen Zahlen)
Eine beliebige Zahl „xywz“ bedeutet doch x000 + y00 + w0 + z

Der TRICK: Nicht die Zahlen „hintereinander“ (123 + 132 + 213 +… der Wahnsinn naht) addieren, sondern, zunächst nur alle möglichen „Hunderter“, dann alle möglichen „Zehner“ und zuletzt alle möglichen „Einer-Stellen“

Wie „oft“ kann also a an der Stelle x stehen - so oft, wie ich unterschiedliche Kombinationen für ywz finde, und davon gibt es (siehe Stochastik, Kombination) K = (n über k) = n! / (k! (n!-k!)) = 6 Möglichkeiten.
Da aber nicht nur a an der Stelle x stehen kann, sondern auch b, c oder d, bilden wir mit q = a+b+c+d die Quersumme (nehmen wir mal an, q=10 weil 1,2,3,4 die gefragten Ziffern sind).

Jetzt gilt (immer noch für die Stelle x "der Tausender)) folgende Summierung S44 (Summe 4. Stelle der 4-stelligen Zahlen) = q x 1000 x K = 10 x 1000 x 6 = 60.000

Jetzt müssen natürlich noch die „Hunderter“ Stellen der 4-stelligen Kombination gerechnet werden, diese ergeben sich analog zu
S34 = q x 100 x K, wobei K = (n über k) = (3 über 2) [denn jetzt stehen für drei mögliche Ziffern nur noch zwei „Restplätze“ zur Verfügung] darus ergibt sich S34 = 10 x 100 x 6 = 6000

Für die „Zehner“ analog S34 = 10 x 10 x 3 (mit K = (3 über 1) = 3) S42=300

Und für die Einer - logisch - S14 = q x 1 x K = 10 x 1 x 1 = 10

In der Summer S4 = S44 + S34 + S24 + S14 = 66310 in Summe für alle möglichen Kombinationen von vierstelligen Zahlen

Nun bleiben natürlich noch die 3 - 1 stelligen Zahlen… ABER HALT, die kennen wir schon, sind doch bereits für S34, S24 und S14 ermittelt worden.

Also Summe Gesamt = S44 + 2 x S34 + 3 x S24 + 4 x S14

oder ganz allgemein: wenn M Ziffern vorgegeben, dann sei n = M-1, und q = Quersumme der M Ziffern, dann ist

S= [1 x q x 10^(n-1) x (n über n)] + [2 x q x 10^(n-2) x (n über n-1)] + … + [m x q x 10^0 x (n über 1)]

Aber ACHTUNG: Diese Formel ist NUR richtig, wenn alle M Ziffern ungleich sind, bzw, wenn bei den Ziffern (ein Beispiel) 1,1 die Summe S = 1 + 1 + 11 + 11 sein soll. Wenn die Lösung in diesem Fall 1 + 11 = 12 sein soll, dann wird es reichlich kompliziert… vielleicht dann etwas für einen Nicht-Bauingenieur :wink:)))

Gruß aus dem beginnenden Feierabend
Moritz

P.S. Oder habe ich aufgrund der späten Stunde irgendwie verquer gedacht???

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]