Entwickler-Ecke
Ankündigungen - AGS 2012 - Lösung zu GS1 (Sicherheitssystem)
Martok - So 09.12.12 13:36
Titel: AGS 2012 - Lösung zu GS1 (Sicherheitssystem)
Moin!
Ein paar Tage bis zum 24.12. sind's ja noch, aber die Wichtel haben Glück: ein paar von euch haben die richtige Kombination rausbekommen: es ist die
46441!
Warum ist das so? :gruebel:
Gehen wir mal die Tipps durch.
"Wenn man ein Problem lösen will, sollte man zuerst das Chaos beseitigen." Okay, wie wird man Chaos los? Indem man Ordnung schafft :idea: Also etwas sortieren. Der Tipp ist sogar auf ein paar Arten hilfreich, denn wenn man da Entropie reinbringt (das hat tatsächlich jemand im Feedback gemacht :zwinker:), kann man nur auf eine Art sortieren. Nach den Zahlen geht ja nicht, denn dann wären die Daten wieder unsortiert :idea:
In diese Richtung geht auch der letzte Tipp
"In Tabellen kann man nicht nur vertikal, sondern auch horizontal sortieren.".
Wir machen also horizontal etwas, da bietet es sich an, die Ziffern zu vertauschen. Aber welche von den 120 Permutationen ist die richtige?
"Ein ehemaliger Mitarbeiter von SafeBase hat sich neulich beim Punschtrinken mit den Wichteln darüber aufgeregt, wie monoton der Job doch war. Immerhin hatte man gute Aufstiegschancen..." - Und siehe da, es gibt genau eine Permutation, in der eine mit dem Datum monoton ansteigende Reihe entsteht! Nämlich dann, wenn man die Spalten 1 und 4 vertauscht (Es ergibt sich also 12345-> 42315)
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| 03.08.2012 57120 27150 07.08.2012 07524 27504 08.08.2012 77523 27573 05.09.2012 72537 32577 13.09.2012 63437 33467 19.09.2012 04231 34201 25.09.2012 14733 34713 09.10.2012 16335 36315 10.11.2012 51645 41655 27.11.2012 23544 43524 |
Das ist doch was :)
Schauen wir uns mal den letzten "nicht verbauten" Tipp an.
"Wie jeder gute Geschäftsmann verlässt der Weihnachtsmann nie das Haus ohne Kalender und Taschenrechner." Welche Eigenschaft haben Tage, die das Jahr über aufsteigen? Richtig, die (in vielen Business-Kalendern auffindbare) Nummer im Jahr, bekannt als
DATEUTILS.DAYOFTHEYEAR.
Wenn man sich jetzt die Zahlen anguckt und nochmal über den Firmennamen (Safe
Base) nachdenkt, fällt auf, dass es keine Ziffern über 7 gibt. Das bedeutet dann wohl, dass wir uns im Oktalsystem bewegen - eine Umrechnung, die praktisch alle besseren Taschenrechner (sogar Pi :D) können. Rechnen wir also mal alle Zahlen um.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| 03.08.2012 57120 27150 11880 07.08.2012 07524 27504 12100 08.08.2012 77523 27573 12155 05.09.2012 72537 32577 13695 13.09.2012 63437 33467 14135 19.09.2012 04231 34201 14465 25.09.2012 14733 34713 14795 09.10.2012 16335 36315 15565 10.11.2012 51645 41655 17325 27.11.2012 23544 43524 18260 |
Direkt aufeinanderfolgende unterscheiden sich um 55. Das ist also der Faktor, so dass wir feststellen:
Delphi-Quelltext
1:
| Passwort:= Vertauschen(IntToOct(DayOfTheYear(Datum) * 55)) |
Und das am 359. Tag des Jahres ausgewertet ergibt
46441.
Das ganze ist sogar mehr oder weniger ohne eigenes Programm lösbar - das einzige, wozu man eventuell ein Programm braucht, ist das Herausfinden der korrekten Vertauschung - aber selbst die kann man relativ schnell manuell finden, wenn man z.B. in Calc die Ziffern in einzelne Zellen verteilt und die Spalten verteilt, da jede Spalte ein paar Stellen hat, die bei der falschen Sortierung nicht stimmen.
War mal ein etwas steilerer Einstieg, aber eigentlich doch machbar, oder? :beer:
Grüße,
Martok
Flamefire - So 09.12.12 13:47
Oktalsystem hatte ich gefunden. Zumindest "schwer" vermutet. Die letzte Ziffer war dann auch noch Tag*(-1)+d mod 8.
Nur der Rest lies sich nicht wirklich anordnen. Eine monoton steigende Folge zu finden führte bei mir zu keinem eindeutigen ergebnis...
Wie nimmt man dort entropie mit rein?
War doch recht hart im Vergleich zu den Vorjahren...
Mathematiker - So 09.12.12 13:50
Hallo,
Gratulation an Alle, die diese Lösung gefunden haben und Danke für das schöne Rätsel! :wave:
Ich war zu blöd. Oktalsystem, Sortieren und Tageszahl hatte ich. Aber auf die Idee, dass so zu kombinieren, wäre ich wahrscheinlich nicht in 100 Jahren gekommen. :autsch:
Meine falsche "Lösung" ergab sich aus einem diophantischen Gleichungssystem 10.Grades, bei dem ich auch noch tricksen musste. Es war einen Versuch wert.
Martok hat folgendes geschrieben : |
War mal ein etwas steilerer Einstieg, aber eigentlich doch machbar, oder? :beer: |
Steiler Einstieg? Wie sehen denn dann sehr steile Einstiege aus? :wink:
Und das "Schnuffelhäschen" von Rätsel 2 hat es ja wohl auch in sich.
Beste Grüße
Mathematiker
Flamefire - So 09.12.12 13:53
Gleichungssystem hatte ich auch versucht. Unabhängig für die Ziffern: y=floor(x/a)*b+c mod 8. Und dann Bruteforce... Nur ein Ergebnis für die letzte Stelle...
Marc. - So 09.12.12 14:12
Mathematiker hat folgendes geschrieben : |
Ich war zu blöd. Oktalsystem, Sortieren und Tageszahl hatte ich. |
Dito. Ich hatte allerdings falsch sortiert.
Mathematiker hat folgendes geschrieben : |
Und das "Schnuffelhäschen" von Rätsel 2 hat es ja wohl auch in sich. |
Das ging gestern Abend im Vergleich zum 1. Rätsel straight forward.
Beste Grüße
jfheins - So 09.12.12 14:25
Ja, das mit den Oktalzahlen hatte ich auch relativ schnell 'raus.
Aber das mit den zwei Spalten vertauschen, darauf bin ich nicht gekommen. Dass man wohl was sortieren musste war bei den Tipps auch schnell klar. Nur wenn ich jede Zeile einzeln sortiere, dann wüsste ich ja nicht in welcher Reihenfolge die Kombination stehen müsste. Und wenn ich eine Zeile auswähle und dann die anderen ebenso vertausche, dann sind a) die anderen ja immer noch unsortiert und b) welche Zeile nehme ich denn dafür?
Lineare Gleichungssysteme, Huffmann und Primfaktorzerlegung brauchten mich auch nicht weiter...
Nachdem ich also falsch geraten habe, hoffe ich auf mehr Glück bei den anderen Rätseln :)
Was das Schnuffelhäschen angeht, kann ich mich Marc. anschließen 8)
Martok - So 09.12.12 14:30
Flamefire hat folgendes geschrieben : |
Wie nimmt man dort entropie mit rein? |
jfheins hat da irgendwas mit Huffman gemacht, ich hab davon ja auch keine Ahnung ;)
Was ich im Beitrag meinte ist Thermodynamik: sortiert man nach den Zahlen so wie sie dastehen, sind ja die Daten nicht mehr sortiert. Und die Daten sind schon sortiert, wird also nicht besser. Entropie wird als nur größer - außer man lässt die Reihenfolge in Ruhe und macht nur an den Spalten rum ;)
Ist aber keine Absicht gewesen, das war mir nur beim Feedback-lesen so aufgefallen.
Mathematiker hat folgendes geschrieben : |
Meine falsche "Lösung" ergab sich aus einem diophantischen Gleichungssystem 10.Grades, bei dem ich auch noch tricksen musste. Es war einen Versuch wert. |
Du kennst mich doch, ich weiß nicht mal was das ist ;)
ub60 - So 09.12.12 14:39
Seit 2007 knoble ich am AGS mit, aber so chancenlos wie diesmal, noch dazu bei dem "einfachen" Wochenrätsel, war ich noch nie.
Zu den Tipps:
- SafeBase: hat mich total irritiert. Es gibt eine Base64-Codierung und davon einen SafeBase-Ableger. Das hat mich aber nur verwirrt.
- monoton und steigend: das war klar, aber was damit anfangen?
- Tabellen sortieren: Also ich hab da mal Tage und Monate sortiert, war aber auch nicht sehr sinnvoll ...
DayOfTheYear und Anzahl der Tage seit 1900 hatte ich auch probiert. Auch eine Pleite.
Die Lösung erschließt sich nach dem dritten Durchlesen, aber jetzt mal eine Frage: Wer hat denn solche :twisted: kranken :twisted: Ideen? :) :)
Wer hier gewonnen hat, hat es sich verdient!
ub60
Tilman - So 09.12.12 15:21
Wenn ich hier Gleichungssysteme, Entropie und so lese glaube ich ja fast dass bei diesem Rätsel schlichtere Gemüter im Vorteil waren :D
Zitat: |
Direkt aufeinanderfolgende unterscheiden sich um 55. Das ist also der Faktor, so dass wir feststellen:
Passwort:= Vertauschen(IntToOct(DayOfTheYear(Datum) * 55)) |
kann man so sehen. Auf den Trichter dass sich jedes Passwort um 55 erhöht bin ich auch gekommen, allerdings erst nach dem ich die Lösung bereits hatte :D
Meine Lösung datiert vom 1.12. um 4:00 Morgens, abgeschickt habe ich meine Lösung dann aber erst nach dem ich mich ausgeschlafen hatte :lol:
Ich habe mir einfach die Daten vom 3., 7. und 8. August angeschaut, und versucht die Stellen fortzuschreiben. Das selbe dann mit den Daten 13.9., 19.9 und 25.9. Dass es sich um Oktale Stellen handelt hatte ich zum Glück schnell geblickt. Ich habe dann in einer Tabelle notiert, wie sich die Stellen verändern: während in normalen Stellenwertsystemen sich ja nur eine Stelle bei jedem Schritt um 1 vergößert, lief es hier anders: zwei Stellen verringern sich um 1, während gleichzeitig eine Stelle um 1 ansteigt. Zwei weitere Stellen ändern sich nicht, und werden nur über die Überträge geändert.
(Ist ja auch klar wenn man sich Oktal die 67er Reihe (55 dezimal) anschaut:
Quelltext
1: 2: 3: 4: 5:
| 00067 00156 00245 00334 00423 |
)
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| INC Ünach Üvon 1. -1 3 5 d 2. 4 3 b 3. +1 2 1 c 4. 2 a 5. -1 1 e
abcde 42315 |
Dadurch konnte ich die Stellen sortieren (abcde) und ein Programm schreiben, was mir die Werte ausgab.
Stolz bin ich auf das Programm nicht, aber immerhin hatte ich die Lösung :D
Delphi-Quelltext
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:
| var Form1: TForm1; a,b,c,d,e: Integer; datum: tdatetime; ausgabe: String;
procedure TForm1.FormCreate(Sender: TObject); begin a := 2; b := 7; c := 1; d := 5; e := 0; datum := EncodeDateTime(2012,8,3,10,15,30,10); end;
procedure TForm1.SpeedButton1Click(Sender: TObject); begin dec(e); if e = -1 then begin e := 7; dec(d); end;
dec(d); if d = -1 then begin d := 7; dec(c); end; if d = -2 then begin d := 6; dec(c); end; inc(c); if c = 8 then begin c := 0; inc(b); end;
if b = 8 then begin b := 0; inc(a); end;
datum := incday(datum,1);
write(a); write(b); write(c); write(d); write(e); write(':'); write(d); write(b); write(c); write(a); write(e); write('-'); DateTimeToString(ausgabe,'d.m.yy',datum); writeln(ausgabe);
end; |
Flamefire - So 09.12.12 16:52
Hm. Hätte das dann nicht bei meinem LGS auch rauskommen müssen?
Seltsam...
na gut aber gescheitert bin ich dann bei:
5.: 37326
6.: 27425
7.: 07524 1.=???
8.: 77523 3.=???
Tilman - So 09.12.12 17:10
Klar, an den Stellen konnte/musste man erkennen dass da Überträge drin sind. So ist meine Kladde:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| 03.08.2012 57120 04 3 2 7 05 2 3 6 06 1 4 5 07.08.2012 07524 08.08.2012 77523
13.09.2012 63437 14 53536 15 43635 16 33734 17 24033 18 14132 19.09.2012 04231 20 74230 21 54337 22 44436 23 34535 24 24634 25.09.2012 14733 |
Xion - So 09.12.12 19:04
Ich hab einfach versucht, in allen Spalten ein (unabhängiges) System zu erkennen. Letzte Zeile war z.B. einfach ein Dekrement. Erste Zeile war der Tag (wobei es Mitte alle zwei Monate um eins gesprungen ist). Zweite Zeile hatte was mit der Kalenderwoche zu tun (so irgendwie). Und die vorletzte war der Monat (je zwei Monate selbe Zahl). Nur die Mitte war irgendwie...schwierig.
Übrigens: erste + zweite + dritte + vierte - fünfte Spalte ergibt bei den Beispielen fast immer 5 mod 8 (bis auf 2x6). Dachte das müsste System haben :P Lag am Ende dann aber doch mit 2 Ziffern daneben :mrgreen:
Aufs vertauschen wäre ich NIE gekommen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!