Alle möglichen Summen
marsA4
- programmiertechnik
0 Vinzenz Mai0 marsA4
0 Alexander (HH)0 karsten760 karsten76
Hallo zusammen,
mein Problem lautet wie folgt:
Angenommen ich habe vier Variablen a,b,c,d.
Die sollen alle Werte zwischen 0 und 15 annehmen können.
Wie kann ich alle möglichen Summen berechnen?
Ich meine es müssen auch so Kombinationen wie 15,2,7,3 ausgegeben werden.
In meinem Fall ist 15,2,7,3 etwas anderes als bspw. 2,3,7,15.
Man müsste also alle Kombinationen durchgehen.
Kann mir jemand helfen?
Hallo,
Angenommen ich habe vier Variablen a,b,c,d.
Die sollen alle Werte zwischen 0 und 15 annehmen können.
Ich meine es müssen auch so Kombinationen wie 15,2,7,3 ausgegeben werden.
In meinem Fall ist 15,2,7,3 etwas anderes als bspw. 2,3,7,15.
Man müsste also alle Kombinationen durchgehen.
mit der vierfach geschachtelten Schleife Deiner Wahl.
Freundliche Grüße
Vinzenz
mit der vierfach geschachtelten Schleife Deiner Wahl.
Ah stimmt , hatte bisher gedacht, dass das dann trotzdem in der Reihenfolge rauskommt, aber wenn man mal drüber nachdenkt^^...
Danke
Moin Moin!
mein Problem lautet wie folgt:
Angenommen ich habe vier Variablen a,b,c,d.
Die sollen alle Werte zwischen 0 und 15 annehmen können.
Wie kann ich alle möglichen Summen berechnen?
Mit Fingern, Papier und Stift, oder auch einem Rechner: GAR NICHT.
Aber mit etwas Nachdenken kommst Du drauf:
Die minimale Summe ist 0 (a=b=c=d=0), die maximale Summe ist 60 (a=b=c=d=15). Alle Werte zwischen 0 (einschließlich) und 60 (einschließlich) sind mögliche Summen von a, b, c und d.
Ich meine es müssen auch so Kombinationen wie 15,2,7,3 ausgegeben werden.
In meinem Fall ist 15,2,7,3 etwas anderes als bspw. 2,3,7,15.
Warum das? Das Kommutativgesetz gilt für Additionen in der Menge der Reellen Zahlen, egal in welcher Anwendung.
Man müsste also alle Kombinationen durchgehen.
Nein. Dazu hast Du gar nicht genug Zeit, selbst dann nicht, wenn Du alle Rechner der Welt zusammenschaltest.
Kann mir jemand helfen?
Ja, Dein Mathe-Lehrer.
Alexander
Hallo,
wenn ich Dich richtig verstehe redest Du von einer vier-stelligen Zahl zur Basis 16 auch Hex genannt. Ich glaube Hex sollte Dir etwas sagen! Jedenfalls trifft folgendes zu:
16 * 16 = 256 = Anzahl der Kombinationen 1 Byte.
(16 * 16) * (16 * 16) = 65536 = Anzahl der Kombinationen 2 Byte ->
das heißt Du müsstest 65536 Kombinationen in einer Schleife durchgehen, das sollten heutige PC's schaffen.
Mich würde interessieren, was Du damit bezweckst.
MfG
Das Wichtigste hab ich vergessen. Wie ich Dich verstehe willst Du nicht einfach addieren, sondern die mit den Variablen gebildeten Ziffern zur Basis 16 ermitteln. ->
x = a * 4096 + b * 256 + c * 16 + d.
Alternativ könntest Du auch mit Bit-weise ODER und vorheriger Verschiebung der Variablenwerte an die jeweilige Position arbeiten.
MfG
Hallo,
Das Wichtigste hab ich vergessen. Wie ich Dich verstehe willst Du nicht einfach addieren, sondern die mit den Variablen gebildeten Ziffern zur Basis 16 ermitteln. ->
Alternativ könntest Du auch mit Bit-weise ODER und vorheriger Verschiebung der Variablenwerte an die jeweilige Position arbeiten.
viel einfacher wäre es in diesem Fall, einfach von 0 bis 65535, sprich den Bereich einer 16-Bit-Unsigned-Integer durchzuzählen und sich den jeweiligen Wert als vierstellige Hexadezimalzahl anzeigen zu lassen. Die Programmiersprache der Wahl bietet Funktionalität für letzteres.
Freundliche Grüße
Vinzenz
Hallo Vinzenz Mai,
da hast Du Recht. Allerdings wäre das die umgekehrte Vorgehensweise. Du generierst aus dem Ergebnis die Variablen. Nach wie vor ist mir unklar welche Absicht verfolgt wird, deswegen ist es nicht möglich einen eindeutigen Tipp zu geben, da müsste sich der Threadersteller noch mal zu Wort melden.
Grüße vom Karsten
Hallo,
Nach wie vor ist mir unklar welche Absicht verfolgt wird, deswegen ist es nicht möglich einen eindeutigen Tipp zu geben, da müsste sich der Threadersteller noch mal zu Wort melden.
So wie es beschrieben ist, sollen die Summen der Variablen berechnet werden (d.h. die Quersummen, wenn man a, b, c und d als Ziffern einer Zahl auffassen will), und zwar redundant, also dieselbe Summe soll so oft als Ergbenis erscheinen, wie sie aus den vier Variablen gebildet werden kann.
Ich denke, der Tipp mit dem Mathelehrer ist gut... Mit den Formeln der Kombinatorik sollte die Aufgabe lösbar sein, auch ohne Schleife.
Gruß, Don P