Das ZEITmagazin enthält regelmäßig unter der Überschrift “Logelei” ein Logikrätsel. Neulich hatte ich Ausgabe Nummer 14/2016 vor mir liegen. Der vollständige Text ist hier zu finden. Ich fasse die wesentlichen Punkte zusammen. Gesucht wird die Kombination für ein Zahlenschloss. Das Zahlenschoss hat sechs Ziffern. Die gesuchte Zahl muss die folgenden Bedingungen erfüllen:
- Die Zahl ist durch 4 teilbar.
- Die Zahl ist rückwärts ebenfalls durch 4 teilbar.
- Die Zahl ist durch 7 teilbar.
- Die Zahl ist nicht durch 11 teilbar.
- Die Quersumme der Zahl beträgt 32.
- Jede Ziffer kommt in der Zahl entweder doppelt oder gar nicht vor.
Nun habe ich erst versucht das Rätsel nur mit Papier und Stift zu lösen. Leider ist Zahlentheorie nicht meine Stärke und mein Wissen erschöpfte sich im konkreten Fall in dem Fakt, dass es reicht die letzten beiden Ziffern einer Zahl zu betrachten, um zu überprüfen, ob sie durch 4 teilbar ist. Also habe ich stattdessen meinen Laptop zur Hand genommen und eine Clojure-REPL geöffnet. Ich habe mir die nötigen Funktionen definiert und schließlich alles zusammengestöpselt. So war das Rätsel trotz Brute-Force-Ansatz relativ schnell gelöst.
Heute habe ich alles noch mal ordentlich aufgeschrieben.Zusätzlich habe ich noch ein paar Tests geschrieben. Den gesamten Quellcode habe ich auf Github veröffentlicht. Bitte schön!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
|