![]() |
Symbolrätsel [JAVA] ?
Hallo Freunde, ich hab hier eine Aufgabe die ich lösen muss, aber ich weiß nicht wie ich anfangen soll. Es muss in Java sein und ich brauch keine kompletten Lösungen, Ansätze für den anfang und weiter wären sehr hilfreich, damit ich selber was lerne und weiß wie man zur lösung anderer solcher Aufgaben kommen kann. :(
Hier die Aufgabe: Symbolrätsel sind Puzzle, bei denen die Buchstaben Ziffern zwischen 0 und 9 repräsentieren. Beispiel: I S E N D + B B + M O R E ----- --------- I L L M O N E Y Im ersten müssen zur Lösung die Buchstaben folgendermaßen ersetzt werden: I = 1, B = 9 und L = 0: 1 + 9 9 ----- 1 0 0 # Bei der Lösung dieser Rätsel sind folgende Punkte zu beachten: Es ist nicht zulässig, dass zwei verschiedene Buchstaben für die gleiche Zahl stehen. # Die Lösung muss nicht eindeutig sein, es kann mehrere Lösungen geben. # Die führende Ziffer kann nicht die Null sein (z.B. ist 0322 nicht erlaubt). Schreiben Sie ein Programm, das das folgende Symbolrätsel löst, indem alle Ziffernkombinationen durchprobiert und alle gültigen Kombinationen ausgegeben werden. Nummerieren Sie ihre Lösungen durch und geben Sie für jede die oben dargestellte Ziffernnotation aus. H E S + T H E ------- B E S T |
Dann werde ich dir mal einen Ansatz geben, damit du anfangen kannst.
In dem unteren Beispiel hast du insgesamt 5 Buchstaben mit unterschiedlichen Zahlen, also H,E,S,T und B. Wir erkennen, dass wir 2 Operanden > 100 addieren (weil 3 Buchstaben) und als Ergebnis irgendwas > 1000 rauskommen muss (weil 4 Buchstaben). Dazu den Hinweis: Code:
int operand1 = (H * 100) + (E * 10) + S; Noch ein letzter Hinweis. B kann dir egal sein, so lange es != H, E, S oder T ist. Jetzt bist du dran. Viel Spaß ;) Gruß Jester |
Lösen lässt sich das mit einem lineare Gleichungssystem.
Nur zur Info falls ihr von der Aufgabenstellung abweichen dürft. |
Lösungsansatz könnte auch radikales Bruteforcen sein.
Du lässt alle möglichkeiten durchlaufen und schaust welche funktionieren. Anforderung sagt er, es kann mehrere Lösungen geben, dann würde dieser Ansatz auf jeden Fall funktionieren. |
Zitat:
Es gibt mehrere Lösungen (=Ergebnisse), aber es soll nur ein Lösungsweg umgesetzt werden! Brute-Force ist auch kein "Ansatz" und funktioniert in solchen Fällen ("durchprobieren") immer! Wann kann Brute-Force denn nicht funktionieren? Zitat:
|
Zitat:
Findet der Brute-Forcer nun einen gültigen text so kann der Angreifer noch nicht sicher sein, ob es sich denn wirklich um den richtigen handelt. |
Zitat:
Auch hier wird mittels Brute-Force die richtige Lösung gefunden (welche eine von vielen ist). Und ich denke in dieser Aufgabe geht es auch um Brute-Forcen, da der einfache und schnellere mathematische Ansatz ja nicht erwähnt wurde. Ebenso werden hier alle möglichen Lösungen gefunden, welche die richtige ist, kann hier aber auch nicht entschieden werden! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.