Das Freudenthal

Werbung
1
Das Freudenthal-Rätsel
Das Freudenthal-Rätsel
Dieses Rätsel wurde 1969 von Hans Freudenthal vorgestellt. Später entstanden zahlreiche Variationen.
Es wurden zwei natürliche Zahlen größer als 1 und kleiner als 100 ausgewählt.
Dem Mathematiker Paul wird nur das Produkt dieser beiden Zahlen mitgeteilt, einem anderen
Mathematiker namens Sam wird nur die Summe verraten. Weitere Informationen erhalten die beiden
nicht.
Paul und Sam sind in telephonischem Kontakt.
Paul: „Ich habe keine Ahnung, was deine Summe ist.”
Sam: „Das ist mir bereits klar.”
Paul: „Jetzt kenne ich die beiden Zahlen.”
Sam: „Jetzt kenne ich sie auch.”
Wie lauten die beiden Zahlen?
Das Schöne an diesem Rätsel ist, dass man offenbar gar keine verwertbaren Angaben besitzt.
Zwei Zahlen 2 ≤ a,b ≤ 100 sind gesucht, die beiden Mathematiker behaupten anfangs, dass sie keine Ahnung
hätten, wie die Lösung aussieht und plötzlich kennen sie sie. Ein echtes Meta-Rätsel.
Die exakte Lösung ist schwierig und benötigt neben mathematischen Wissen um die natürlichen Zahlen viel
'Ausprobieren'. Den Lösungsweg verrate ich Dir aber gerne.
Welche Informationen besitzen wir und was bedeuten sie
Paul: „Ich habe keine Ahnung, was die Summe sein könnte.”
Drehen wir es um – wann hätte Paul, der nur das Produkt der Zahlen kennt, eine Ahnung? Wann
könnte er aus dem Produkt die beiden Zahlen finden?
Angenommen, das Produkt wäre 6. Wenn er diese Zahl in ihre Primfaktoren zerlegt, erhält er (Eins ist
ausgeschlossen) 6 = 2∙3. Dann müssten die gesuchten Zahlen 2 und 3 lauten und die Summe wäre 5.
Oder das Produkt ist 15. Dann müssen die Zahlen wegen 15 = 3∙5 auf jeden Fall 3 und 5 sein.
Wäre andererseits das Produkt 12 = 2∙2∙3, so könnten die Zahlen 2 und 6 mit Summe 8, oder aber 3
und 4 mit Summe 7 lauten. Die Aufteilung wäre nicht eindeutig, da mehr als zwei Primfaktoren
auftreten und mehrere Kombinationen gebildet werden können.
Paul kann nach seiner Aussage das Produkt nicht eindeutig zerlegen, das bedeutet
Beobachtung 1 :
Das Produkt kann nicht das Produkt zweier Primzahlen sein.
Wann wäre die Aufteilung bei mehr als zwei Faktoren trotzdem klar? Wenn wir drei Faktoren haben,
diese aber alle gleich sind. Mit dem Produkt 27 = 3∙3∙3 wüssten wir sofort, dass die beiden gesuchten
Faktoren 3 und 9 lauten müssen. Dieser Fall kann also ebenfalls nicht vorliegen
Beobachtung 2 :
Das Produkt kann nicht das die dritte Potenz einer Primzahl sein.
HIB Wien
[email protected]
09/2012
2
Das Freudenthal-Rätsel
Sam: „Das ist mir bereits klar.”
Wieso kann das für Sam, der nur die Summe kennt, schon im Voraus klar gewesen sein? Er muss
erkannt haben, dass seine Summe nicht so in zwei Zahlen aufgeteilt werden kann, dass Paul auch nur
irgendeine Chance gehabt hätte, eine eindeutige Zerlegung zu finden.
Lautete die Summe etwa 5, so könnte die Lösung 2 und 3 lauten und Paul hätte eine Chance, die
Faktoren zu finden (siehe obige Beobachtungen). Mit 28 = 5+23 könnte Paul das Produkt 115 = 5∙23
haben.
Beobachtung 3 :
Die Summe kann nicht Summe zweier Primzahlen sein.
Welche Zahlen könnten Summe zweier Primzahlen sein?
Erstens jede Zahl der Form p+2, wenn p eine Primzahl ist
Zweitens jede gerade Zahl (Goldbachsche Vermutung: jede gerade Zahl lässt sich als Summe zweier
Primzahlen anschreiben)
Wir können eine Liste erstellen, die alle möglichen Summen enthält, die den Beobachtungen 1, 2 und 3
entspricht (SumList1).
Paul: „Jetzt kenne ich die beiden Zahlen.”
Es gibt für einige dieser möglichen Summen nur eine einzige Faktorisierung. Davon erstellen wir eine Liste
(SumList2)
Sam: „Jetzt kenne ich sie auch.”
In dieser zweiten Liste gibt es ein Zahlenpaar, dessen Summe und sein entsprechendes Produkt nur ein
einziges Mal auftreten. Dieses ist die Lösung.
Ich verrate Dir hier die Lösung: Die Zahlen lauten 4 und 13.
HIB Wien
[email protected]
09/2012
3
Das Freudenthal-Rätsel
Wie hat es sich abgespielt?
Paul hat das Produkt 4∙13 = 52 mitgeteilt bekommen, Sam kennt die Summe 17.
Paul zerlegt 52 in die Primfaktoren 52 = 2∙2∙13 und muss feststellen, dass es zwei Lösungsmöglichkeiten
gibt, nämlich 4 und 13 mit der Summe 17, sowie 2 und 26 mit der Summe 28. Er kann nicht wissen, welche
dieser Möglichkeiten die gesuchte ist und informiert Sam.
Paul: „Ich habe keine Ahnung, was die Summe sein könnte.”
Sam war nicht untätig und hat schon vor dem Telefonat seine Summe 17 untersucht. Er überlegt sich, welche
Zahlen diese Summe ergeben können und welches Produkt Paul haben müsste.
17 =
Produkt
Mögliche Faktoren
2+15
2∙15 = 30
2∙16, 3∙10, 5∙6
3+14
3∙14 = 42
2∙21, 3∙14, 6∙7
4+13
4∙13 = 52
2∙26, 4∙13
5+12
5∙12 = 60
2∙30, 3∙20, 4∙15, 5∙12, 6∙10
6+11
6∙11 = 66
2∙33, 3∙22, 6∙11
7+10
7∙10 = 70
2∙35, 5∙14, 7∙10
8+9
8∙19 = 72
2∙36, 3∙24, 4∙18, 6∙12, 8∙9
Wäre in einer der Zeilen nur eine einzige Zerlegung möglich, dann hätte Paul eine Chance gehabt, seine
Summe zu erraten. Da aber in jedem Fall mindestens zwei Faktorisierungen möglich sind, hat Paul keine
Chance. Deshalb ist die Antwort
Sam: „Das ist mir klar.”
Nun kommt Paul ins Grübeln. Warum war es Sam schon von vorne herein klar, dass er (Paul) keine Chance
hatte?
Paul weiß, dass die Summe nur 17 oder 28 sein kann. Er überlegt wie Sam, nur muss er zwei Möglichkeiten
berücksichtigen. Auußer obiger Liste muss er, das auch die Alternative 28 offen steht, auch 28 zerlegen:
Ich zeige hier nur den Ausschnitt, auf den es ankommt:
28 =
Produkt
Mögliche Faktoren
...
...
...
4+24
4∙24 = 96
2∙48, 3∙32, 4∙24, 6∙16, 8∙12
5+23
5∙23 = 115
5∙23
6+22
6∙22 = 132
2∙66, 3∙44, 4∙33, 6∙22, 11∙12
...
...
...
Hätte Sam die Summe 28, so hätte er gesehen, dass das Zahlenpaar 5 und 23 zu seiner Summe passt. Falls
Paul das Produkt 115 gehabt hätte, dann hätte Paul eine Chance gehabt, eine eindeutige Zerlegung zu finden.
Aber weil Sam ja schon im Voraus gewusst hat, dass keine eindeutige Zerlegung auftritt, kann es nicht die
Summe 28 gewesen sein.
HIB Wien
[email protected]
09/2012
4
Das Freudenthal-Rätsel
Paul weiß, dass 4 und 13 die Lösung ist.
Paul: „Jetzt kenne ich die beiden Zahlen.”
Nun rätselt Sam – warum hat Paul nun die Lösung erhalten? Ihm fällt in seiner Liste (Zerlegung der Summe
17) auf, dass die Zerlegung in 4+13 nur zwei Alternativen bietet. Er erkennt, dass Paul das Produkt 52 haben
muss, also auf 4∙13 oder auf 2∙26 gekommen ist. Nun kann auch er die zweite Liste (für die Summe 28)
aufschreiben und folgert genauso wie Paul.
Sam: „Jetzt kenne ich sie auch.”
Anmerkung
Es gibt zahlreiche Variationen des Rätsels. So kann man die erlaubte Obergrenze für die beiden Zahlen nach
oben setzen. Man kann den Text der Aufgabe ändern – indem etwa Sam zuerst anruft, oder der Wortlaut
leicht veränder wird.
HIB Wien
[email protected]
09/2012
5
Das Freudenthal-Rätsel
# -*- coding: iso-8859-15 -*# Löse das Freudenthal-Rätsel mit 2<=x<=y<limit
###############################################
limit=869
# (870 hat bereits 2 Lösungen)
## simuliere ein 2D-Array. Einträge gleich Null werden nicht angelegt.
## falls ein Schlüssel nicht existiert, ist sein Wert Null.
def erhoeheWert(eintrag,verzeichnis):
if eintrag in verzeichnis: verzeichnis[eintrag] +=1
else: verzeichnis[eintrag]=1
def wert(eintrag,verzeichnis):
if eintrag in verzeichnis: return verzeichnis[eintrag]
else: return 0
# vorerst alle Produkte von Werten x,y mit 2<=x<=y<limit erzeugen
alleProdukte={}
for x in range(2,limit):
for y in range(x,limit-x):
erhoeheWert(x*y,alleProdukte)
# alle Summen, die eine eindeutige Faktorisierung ergeben können, sind unmöglich
unmoeglicheSummen={}
for x in range(2,limit):
for y in range(x,limit-x):
if alleProdukte[x*y]==1 :
# nur eine Faktorisierung
unmoeglicheSummen[x+y]=1
# nicht möglich
# nur die Produkte sind möglich, die *keine* unmögliche Summe haben
moeglicheProdukte={}
for summe in range(2,limit):
if summe not in unmoeglicheSummen:
for x in range(2,summe/2+1):
y = summe-x
produkt = x*y
if wert(produkt,alleProdukte) > 1:
# auf mehrere Arten
erhoeheWert(produkt,moeglicheProdukte)
# nur die Summen, die jetzt noch eine eindeutige Zerlegung erlauben, sind
möglich
moeglicheSummen={}
for summe in range(2,limit):
if summe not in unmoeglicheSummen:
for x in range(2,summe/2+1):
y = summe-x
produkt = x*y
if wert(produkt,moeglicheProdukte) == 1: # nur auf eine Art
erhoeheWert(summe,moeglicheSummen)
# mögliche Summen suchen, zu denen nur ein einziges Produkt gehört
for summe in moeglicheSummen:
if moeglicheSummen[summe] == 1:
for x in range(2,summe/2+1):
y = summe-x
produkt = x*y
if wert(produkt,moeglicheProdukte) == 1:
print '(x,y)= (%d , %d), (S,P) = (%d , %d), ' %
(x,y,summe,produkt)
HIB Wien
[email protected]
09/2012
Herunterladen