Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
28.07.2013, 15:22 (Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2021 21:07 von Y-P.)
Falls das jetzt noch einer auf die Schnelle erklären kann, dann Respekt.
Gruß Markus
(26.07.2013 10:59 )Trinitatis schrieb: Ich habe ein Rätsel gefunden, dessen Lösung ich allerdings nicht kenne.
Es hört sich aber sehr interessant an. Also, wenn es einer lösen kann - ich bin gespannt, wie die Lösung aussieht.
Peter, Simon und Daniel sollen zwei Zahlen herausfinden. Hierfür erhalten sie folgende Informationen: Beide Zahlen liegen im Bereich von 1 bis 1000, und beide sind ganzzahlig und es wäre auch möglich, dass beide Zahlen identisch sind. Peter erfährt zudem das Produkt der beiden Zahlen, Simon bekommt die Summe, und Daniel die Differenz.
Daraufhin kommt es zu folgendem Gespräch:
Peter: Ich kenne die Zahlen nicht.
Simon: Das brauchst Du mir nicht zu sagen, denn das wusste ich schon.
Peter: Dann kenne ich die Zahlen jetzt.
Simon: Ich kenne sie jetzt auch.
Daniel: Ich kenne die beiden Zahlen noch nicht. Ich kann nur eine Zahl vermuten, die wahrscheinlich dabei ist, aber sicher weiß ich's nicht.
Peter: Ich weiß, welche Zahl Du vermutest, aber die ist falsch.
Daniel: OK, dann kenne ich jetzt auch beide Zahlen.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Anzeige
28.07.2013, 20:36 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 13:06 von jg.)
Ball flach halten, ich arbeite noch daran, das VI aufzuhübschen, welches die Lösung findet.
Im Prinzip geht das Ganze per Ausschlussverfahren.
Schritt 1: Erzeuge alle Paare a und b, wobei a und b aus der Menge 1-1000 sind und a>=b gilt.
Schritt 2: Berechne zu jedem Paar das Produkt a*b und die Summe a+b. Die Differenz brauchen wir erst einmal nicht.
Schritt 3: Mit der 1. Aussage von Peter können alle Paare (a,b) ausgeschlossen werden, deren Produkt nur 1x vorkommt. Denn sonst könnte Peter das Ergebnis nennen.
Schritt 4: Die 1. Aussage von Simon ermöglicht den Ausschluss von noch mehr Paaren (a,b). Simon wusste auf Grund seiner Summe schon, dass Peter die Lösung nicht kennt. Das bedeutet: Lässt sich mit 2 beliebigen Summanden i,j der Summe, die Simon kennt, ein Produkt bilden, dass welches nur 1x in der Produktmenge vorkommt, dann kann diese Summe und alle Paare (i,j) die zu dieser Summe führen, nicht die Lösung sein. EDIT: Man kann Schritt 3 bei der programmatischen Behandlung weglassen und gleich mit Schritt 4 beginnen.
Schritt 5: Peter kennt jetzt die Lösung: Aus den übriggebliebenen Kombinationen können jetzt alle Produkte gestrichen werden, die mehrfach vorkommen. Das Produkt darf nur 1x vorkommen, sonst würde Peter die Lösung nicht kennen.
Schritt 6: Auch Simon kennt nach dieser Aussage die Lösung: Aus der Restmenge können somit Summen gestrichen werden, die mehrfach vorkommen.
Schritt 7: Jetzt wird für die verbliebenen möglichen Paaren (a,b) jeweils die Differenz gebildet. Da Daniel die Lösung noch nicht kennt, kann die Dfferenz, die er kennt, nicht nur 1x in der Menge vorkommen. Alle einmalig vorkommenden Differenzen können gestrichen werden. Daniel kann nur sagen, dass er für eine Zahl vermutet, dass sie bei der Lösungsmenge dabei ist.
Damit können sogar alle Differenzen gestrichen werden, die genau 2x in der Lösungsmenge vorkommen. Denn entweder bilden die Zahlenpaare (a,b) und (i,j) jeweils die Differenz d, dann sind aber alle Zahlen unterschiedlich, oder die Zahlenpaare lauten (a,b) und (b,j), dann könnte Daniel eine Zahl mit Sicherheit nennen. Das kann er nicht.
Schritt 8: In der Lösung von Markus werden jetzt die verbliebenen Datensätze "manuell" untersucht. Bei der Differenz 21 sind nur Zahlenpaare (a,b) übrig, bei denen a und b immer unterschiedlich sind. Daniel könnte somit nicht sagen, dass eine der Lösungszahlen wahrscheinlicher ist. Also ist 21 nicht die korrekte Differenz. Bleibt die Differenz 9, hier kommt die 32 2x vor. Die wahrscheinlichere Zahl ist aber nicht die Lösung, also muss es 73 & 64 sein.
Dann muss man sich noch vorstellen, dass Peter, Simon und Daniel alle 3 dasselbe Computerprogramm laufen lassen, und somit nach jedem Ausschlussschritt wissen, welche möglichen Lösungsmöglichkeiten für die jeweils anderen beiden zu einem gegeben Schritt noch in Frage kommen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: LVF-Rätselecke
Krass. Ich würde sagen, Du darfst.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
29.07.2013, 20:10 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 21:06 von jg.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: LVF-Rätselecke
Respekt. Hut ab.
Bei 5000 Zahlen rechnet mein Rechner schon ewig. Bei 10000 schmiert er wegen zu wenig Speicher ab (ist aber inzwischen schon ca. 7 bis 8 Jahre alt).
Das muss ich morgen mal mit meinem Arbeitsrechner testen.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
29.07.2013, 20:51 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 21:08 von jg.)
(29.07.2013 20:41 )Y-P schrieb: Respekt. Hut ab.
Bei 5000 Zahlen rechnet mein Rechner schon ewig. Bei 10000 schmiert er wegen zu wenig Speicher ab (ist aber inzwischen schon ca. 7 bis 8 Jahre alt).
Das muss ich morgen mal mit meinem Arbeitsrechner testen.
Ja, nicht zu hoch gehen mit der Eingabe. Das VI ist NICHT auf Speicherverbrauch optimiert, im Gegenteil. Um am Anfang schnell die Häufigkeiten der möglichen Produkte zu zählen, wird der Einfachheit halber ein Array der Größe "x^2" initialisiert, bei 10000 sind das schon mal knapp 400 MB. Dann werden gnadenlos alle Paare, Produkte und Summen erzeugt, bei 10000 sind das insgesamt 10000*10001/2 Paare + Summen + Produkte, belegt auch noch mal ca. 800 MB.
EDIT: Es ist mit einem Speicherverbrauch von mind. 12*x^2 Bytes zu rechnen, durch die Build-Array-Funktionen in der ersten Loop sogar mehr. Aber ich hatte keine Lust mehr, das zu optimieren.
Ich komme übrigens schon viel früher auf keine eindeutige Lösung mehr, also etwas kleinere Brötchen backen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: LVF-Rätselecke
Du darfst, Jens.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
05.08.2013, 08:43 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2013 19:03 von jg.)
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: LVF-Rätselecke
Wie gesagt, ich habe mit Deinem Bsp. sogar bei 5000 Werten noch "eine" Lösung gekriegt.
Gruß Markus
(05.08.2013 08:43 )jg schrieb: Was ist die größte Zahl zwischen 1000 und 2000, für die man das hammerharte Zahlenrätsel auch noch lösen kann.
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------