Code Knacker



  • Hallo,

    Also ich will ein Programm entwickeln welches ermöglicht einen 4-Stelligen Code zu Knacken, bzw. die Möglichkeiten anzeigt welche Kombinationen noch klappen könnten.
    Die 4 Code Stellen sind numerisch also von 0..9
    Bei einem Tipp bei einem anderen Programm gibt es 3 Zahlen aus:
    zB. : 2-1-1
    1. 2 Zahlen die an richtiger Stelle stehen.
    2. 1 Zahl die richtig sind jedoch an falscher Stelle stehen.
    3. 1 Zahl die falsch sind.

    Bsp:

    Angenommen er zu eratene Code währe: 1234

    die Tips:
    5624 1-2-2
    3712 0-3-1
    5123 0-3-1
    1328 1-3-1
    ...
    ..

    Wie kann man nun aus diesen Tips die noch verbleibenden Möglichkeiten errechnen?



  • Du kannst dir zunächst alle Kombinationen zusammenstellen, die theoretisch möglich sind (alles von 0000 bis 9999). Danach schmeißt du in jeder Runde die Kombinationen raus, die mit dem letzten Rateversuch nicht vereinbar sind (z.B. fallen bei 3712 - 0/3/1 alle Kombinationen heraus, die mit 3 beginnen).



  • Ja ok.
    Nur das was mich noch stutzig macht ist wie ich nun rausfinden kann welche ich eliminieren kann. Also die Logik dahinter



  • Dazu kannst du ganz "einfach" den Unterschied zwischen zwei gegebenen Strings berechnen (nach dem Motto "wenn wir annehmen, daß die Lösung "abcd" heißt, was würde die Auswertung des Tipps ergeben?"), dadurch erhältst du für jede Kombination ein Zahlentripel, das du mit der Rückgabe der Auswertung vergleichen kannst.



  • Hmm das verstehe ich jetzt nicht ganz.

    Also ich habe ja eine folge von Tips, welche aus der Zahl bestehen und der Antwort vom "Safe". Aber wie ich jetzt Zahlen ausschiessen kann weiss ich nicht

    Danke für die schnellen Antworten


Anmelden zum Antworten