[19:00] Lottoziehung in 01:00h
[20:00] Thread by Kackstelze: Der Spieleplanet in Zahlen - 17/2024
[20:14] Lottozahlen gezogen. 4 Teilnehmer, 0 Gewinner.
[00:00] Songs gespielt gestern: 0
[00:01] Alles Gute an Rah
[08:57] Post by HG @ 100.000 Beiträge Projekt
Trackmania Minecraft Andere Spiele
Antwort
Themen-Optionen
#601
Alt 16.06.12, 20:54:48
AssassinePB
Benutzerbild von AssassinePB
Registered Users
Registriert seit: 23.06.11
Alter: 31
Geschlecht: ♂
Beiträge: 2.182
IRC Zeilen: 22522
Quizrunden gewonnen: 3

Spenden-Award 

Ich hab jetzt mal die Lösung kopiert und hier eingefügt!
Quelle: http://www.fairymail.de/das_hammerha..._schritt_2.htm

_________________________________________________________

Das hammerharte Zahlenrätsel - Die Lösung

Worum geht es hier? Wir müssen verstehen, was die Gespräche uns für Hinweise geben. Wir müssen aus der Gesamtmenge der Zahlenpaare zwischen 1 und 1000 mit jedem neuen Hinweis diejenigen entfernen, die den Anforderungen nicht mehr genügen.

Wen dieser ganze SQL-Quatsch nicht interessiert, der kann sich natürlich auch einfach nur die gesuchten Zahlen ansehen.

Vorbereitung: die Liste der Zahlenpaare

Wir erzeugen eine Tabelle mit Zahlen von 1 bis 1000. Der Feldtyp identity sorgt dafür, dass SQL mit jeder Zeile, die es in der Tabelle anlegt, einen Wert weiterzählt. Was wir also als "Nutzwert" in die Tabelle schreiben, ist für uns ein nutzloser Nutzwert, deswegen nehmen wir immer Null. Könnte auch 42 sein :-)
Wir kopieren so lange den Tabelleninhalt in die Tabelle, bis durch diese Verdopplungen der Anzahl von Zeilen die Gesamtzahl mindestens 1000 ist. Was zuviel ist, also größer 1000, wird abgeschnitten.

create table Zahl (zahl int identity, nutzlos int)
insert into Zahl (nutzlos) values (0)
while (select count(1) from Zahl) < 1000
insert into Zahl (nutzlos) select nutzlos from Zahl
delete Zahl where zahl > 1000

Man möge mir verzeihen, dass ich SQL-Keywords klein schreibe. Ein ANSI SQL Parser verzeiht mir das. Unter echten Datenbank-Programmieren ist es freilich verpönt, aber wir wollen hier ja in erster Linie ein Rätsel lösen und nicht programmieren.

Jetzt haben wir eine Tabelle mit Zahlen. Wir wollen eine Tabelle mit Faktoren Schrägstrich Summanden, nämlich eine Tabelle mit Zahlenpaaren. Sowohl die Multiplikation als auch die Addition sind kommutativ - das Zahlenpaar (X, Y) ist für unsere Lösung identisch zu (Y, X). Zwar ist die Subtraktion nicht kommutativ, doch wenn man die Angaben studiert, dann wird nirgends erwähnt, welche der beiden Differenzen der zwei Zahlen (die Positive oder die Negative) Daniel verraten wird. Deswegen ist offensichtlich nur der Betrag der Differenz interessant. Wir nehmen also nicht alle Zahlenpaare in unsere Tabelle auf, sondern nur diejenigen, bei denen die zweite Zahl größer oder gleich der ersten Zahl ist.
Dieses Statement kann durchaus ein paar Minütchen brauchen ...

create table Paar (X int, Y int, produkt int, summe int, differenz int)
insert into Paar
select X.zahl, Y.zahl,
X.zahl * Y.zahl,
X.zahl + Y.zahl,
Y.zahl - X.zahl
from Zahl as X
inner join Zahl as Y on Y.zahl >= X.zahl

Warum wir jetzt genau 500500 Zeilen in der Tabelle Paar haben, kann man unter dem Stichwort Der kleine Gauß nachlesen :-) (wikipedia)

Peter sagt zu den anderen: "ich kann die Lösung nicht nennen".

Peter kennt das Produkt zweier Zahlen zwischen 1 und 1000. Er könnte die Lösung nennen, wenn es eine Primzahl wäre, denn dann wäre das Produkt gleich dem einen Faktor und der andere wäre 1. Er könnte die Lösung ebenfalls nennen, wenn es das Produkt zweier Primzahlen und es zugleich größer 1000 wäre, denn in dem Fall würde die Lösung mit der 1 nicht funktionieren.
Allgemein formuliert, hat es mit Primzahlen wenig zu tun. Die Information, die Peter uns gibt, wenn er sagt, dass er die Lösung nicht nennen kann, ist lediglich, dass seine Zahl sich auf mehr als eine Art als das Produkt aus zwei Zahlen zwischen 1 und 1000 ausdrücken lässt. Die Zahl 5055 zum Beispiel ist in der Primfaktorenzerlegung 3 x 5 x 337. Sie kann aber nur als 15 x 337 durch zwei Zahlen zwischen 1 und 1000 ausgedrückt werden, denn sowohl bei 3 x 1685 als auch bei 5 * 1011 ist der zweite Faktor größer als 1000.
Wir verwenden bei dieser Überlegungen zwar die Primfaktorzerlegung, aber wir sehen dadurch auch, dass es keine offensichtliche Ableitung gibt, die uns entscheidende Informationen über die Eigenschaften der gesuchten Zahlen gibt. Alles, was wir bis jetzt erkennen, sind Eigenschaften der Lösungsmenge als Ganzem.

Wir suchen nach der Menge der Produkte, die in der Auflistung aller Produkte aus zwei Zahlen zwischen 1 und 1000 mehrfach auftauchen. Wir erzeugen dazu eine Tabelle der Produkte und zählen, wie viele Faktorenpaare jedes Produkt ergeben.

create table Produkt (produkt int, anzahl int)
insert into Produkt
select produkt, count(1)
from Paar
group by produkt

Die gute Nachricht: es gibt jetzt nur noch 103360 mögliche Produkte mit lumpigen 355777 denkbaren Kombinationen von Faktoren. Hurra!

select count(distinct produkt) as Produkte,
count(1) as Kombinationen
from Paar
where produkt in (select produkt
from Produkt
where anzahl > 1)

Simon sagt: "Ich wusste, dass Peter die Lösung nicht kennt."

Dieser Hinweis ist zugegebenermaßen hinterlistig platziert. Es ist streng genommen der erste Hinweis, denn er sagt, dass Simon schon vorher weiß, dass Peter die Lösung nicht kennen kann. Das bedeutet, dass Simon eine Zahl sieht, die man nur so aus zwei Summanden zusammensetzen kann, dass für alle Paare der Summanden gilt, was zuvor gesagt wurde. Wenn Simon zum Beispiel die Zahl 20 sieht, dann könnte die Lösung 1 + 19 sein. 19 ist eine Primzahl und deswegen könnte Peter die Lösung nennen. Ergo kann Simon nicht vorher schon wissen, dass Peter die Lösung nicht kennt, wenn er 20 sieht. Die 20 scheidet also aus und mit ihr alle Paare von Lösungszahlen, die in der Summe 20 ergeben, also auch diejenigen, bei deren Produkt Peter die Lösung gar nicht kennen kann.

Nochmal deutlicher: die Information, dass Simon weiß, dass Peter die Lösung nicht kennt, sagt uns viel mehr als die Information, dass Peter die Lösung nicht kennt. Wir dürfen aus der Menge der Lösungen alle Summen streichen, bei denen eine oder mehrere Kombinationen von Summanden existieren, mit denen man bei Kenntnis des Produktes die Lösung kennen würde.

Wir erzeugen eine Tabelle mit Summen und zählen dabei, wie viele Paare von Zahlen diese Summe ergeben und deren Produkt keine andere Kombination von Faktoren gestattet. Hä?

Nochmal anders: Peter kennt die Lösung nicht. Das heißt, alle Produkte, die nur durch eine Art zustande kommen können, scheiden aus.
Simon weiß, dass Peter die Lösung nicht kennt, obwohl er nur die Summe sieht und nicht das Produkt. Das bedeutet, seine Summe erlaubt ausschließlich Zahlenpaare, deren Produkte nicht eindeutig sind. Deswegen fallen jetzt auf einmal alle Zahlenpaare raus, deren Summe man auch mit einem anderen Zahlenpaar erzeugen kann, dessen Produkt eindeutig ist.

Wir haben vorhin eine Tabelle mit allen Produkten erzeugt, aus der man ablesen kann, ob ein Produkt eindeutig ist. Jetzt erzeugen wir daraus eine Tabelle mit allen Summen, die sich durch Addition der Faktoren dieser eindeutigen Produkte ergeben.

create table Summe (summe int, anzahl int)
insert into Summe
select Paar.summe, count(1)
from Paar
inner join Produkt on Produkt.produkt = Paar.produkt
where Produkt.anzahl = 1
group by Paar.summe

Jetzt dürfen wir alle Zahlenpaare löschen, deren Summe in dieser Tabelle steht.

delete Paar
where summe in (select summe from Summe)

Das hat die Lösungsmenge erfreulich reduziert: es gibt nur noch etwa 5,5% der Zeilen in der Tabelle Paar.

Peter sagt: "Dann weiß ich jetzt die Lösung."


Dieser Hinweis hat keine so komplexe Implikation wie der vorhergehende. Er bedeutet, dass Peters Produkt jetzt, nachdem wir nach Ausführen des letzten Schrittes "nur" noch 27596 Zahlenpaare in der Lösungsmenge haben, nur auf eine Art aus diesen Paaren errechnet werden kann.

Wir löschen den Inhalt der Produkttabelle und erzeugen ihn neu aus der reduzierten Menge von Zahlenpaaren.

delete Produkt
insert into Produkt
select produkt, count(1)
from Paar
group by produkt

Von diesen Produkten muss es eines sein, bei dem die Anzahl 1 ist. Alle Zahlenpaare, die andere Produkte ergeben, fallen weg.

delete Paar
where produkt in (select produkt
from Produkt
where anzahl > 1)

Peter kennt jetzt die Lösung, aber wir noch nicht. Unsere Lösungsmenge enthält immer noch knapp 7000 Zeilen.

Simon sagt: "Ich weiß die Lösung jetzt auch."


Dieser Hinweis sagt uns, dass die Summe, die Simon sieht, jetzt nur noch auf eine Art durch Addition der verbliebenen Zahlenpaare gebildet werden kann.

Das Vorgehen kennen wir nun schon - es ist das gleiche wie im Schritt zuvor, nur geht es diesmal um die Tabelle Summe anstatt der Tabelle Produkt. Wir löschen den Inhalt der Summentabelle und erzeugen ihn neu aus der reduzierten Menge von Zahlenpaaren.

delete Summe
insert into Summe
select summe, count(1)
from Paar
group by summe

Von diesen Summen muss es eine sein, bei der die Anzahl 1 ist. Alle Zahlenpaare, die andere Summen ergeben, fallen weg.

delete Paar
where summe in (select summe
from Summe
where anzahl > 1)

Simon kennt jetzt die Lösung. Wir nicht. Daniel auch noch nicht.

Daniel sagt: "Eine Zahl ist wahrscheinlich."

Das ist ein Hinweis ganz anderer Art als die bisherigen, aber er gestattet ebenfalls eine hilfreiche Schlussfolgerung: was immer Daniels Differenz ist, in der Menge der Zahlenpaare, die er damit bilden könnte, ist eine Zahl häufiger vertreten als alle anderen.
Es gibt eine viel offensichtlichere Schlussfolgerung: Daniels Differenz ist in der Tabelle der Faktoren mehrfach verteten, denn sonst könnte er die Lösung jetzt ebenfalls nennen.

Generieren wir uns mal wieder eine Hilfstabelle nach bekanntem Muster.

create table Differenz (differenz int, anzahl int)
insert into Differenz
select differenz, count(1)
from Paar
group by differenz

Was wir brauchen, ist eine Gruppe von Zahlenpaaren mit gleicher Differenz, bei denen eine der Zahlen häufiger vertreten ist als alle anderen. Das erlaubt es Daniel, festzustellen, dass diese Zahl wahrscheinlicher ist. Wir können also aus der Zahlenpaarliste diejenigen entfernen, deren Differenz nur einmal vorkommt.

Wir können uns die Liste sogar noch ein Stückchen vereinfachen, indem wir uns gleich noch den nächsten Hinweis ansehen:

Peter sagt: "Die wahrscheinliche Zahl ist falsch."

Das bedeutet, dass wir nach einer Gruppe von mindestens dreimal der gleichen Differenz suchen müssen, denn wenn wir die Lösungen eliminieren, bei denen die wahrscheinliche Zahl enthalten ist, dann muss immer noch eine Lösung übrig bleiben.

Wir löschen nun aus der Menge der Zahlenpaare also alle Zeilen, deren Differenzen weniger als dreimal vorkommen.

delete Paar
where differenz in (select differenz
from Differenz
where anzahl < 3)

Was wir jetzt haben, sind überschaubare 6 Zahlenpaare. Natürlich könnte man weiter rumprogrammieren, aber den letzten Schritt schaffen wir durch Augenschein:

select * from Paar order by differenz, summe

X Y produkt summe differenz
23 32 736 55 9
32 41 1312 73 9
64 73 4672 137 9
16 37 592 53 21
32 53 1696 85 21
43 64 2752 107 21

Nicht nur Daniel, auch wir kennen jetzt die Lösung. Die 32 taucht in zwei Zahlenpaaren auf, die die gleiche Differenz 9 ergeben. Dass die 32 außerdem noch einmal bei der Differenz 21 vertreten ist, ist Zufall. Hätte Daniel die 21 als Differenz, dann würde er die 32 nur einmal sehen und hätte keinen Hinweis auf die Lösung abgegeben.

Lösung:
Achtung Spoiler! (Klick)
Richtig ist nur die Lösung 64 und 73.

_________________________________________________________

Na? Wär wäre darauf gekommen?

Bewertung zu diesem Post
Skyimnator meint: ja ne, is klar

[ http://www.pixelenemy.com/wordpress/wp-content/uploads/2013/02/ac4blackflagprotagonist-278x206.jpg ]
#602
Alt 16.06.12, 20:55:41
steelworks
Benutzerbild von steelworks
Trackmaniac
Registriert seit: 10.02.08
Style: spring 09
Alter: 32
Geschlecht: ♂
Beiträge: 2.536
IRC Zeilen: 30723
Quizrunden gewonnen: 136

Bronzener Topposter Blecherner Postaward 

lol, das les ich mir net durch

Bewertung zu diesem Post
Manu16 meint: ich auch nicht
HG stimmt zu: dito

^ das Zitat is auf jeden Fall ausm Zusammenhang gerissen
#603
Alt 19.06.12, 14:54:12
steelworks
Benutzerbild von steelworks
Trackmaniac
Registriert seit: 10.02.08
Style: spring 09
Alter: 32
Geschlecht: ♂
Beiträge: 2.536
IRC Zeilen: 30723
Quizrunden gewonnen: 136

Bronzener Topposter Blecherner Postaward 

Mal sehn ob es wer rauskriegt

76, 78, 85, 105, 108, 130, 133, 136, 139, 141, 143, 146, 149, 151, 153, 155, 161, 199, 202, 205, 207, 210, 212, 215, 218, 222, 225, 234, 237, 298, 300, 302, 308, 320, 345, 347, 349, 415, 417, 425, 428, 432, 436, 445, 449, 455, 468, 470, 479, 481, 483, 505, 519, 523, 526, 531, 536, 540, 544, 546, 555, 557, 560, 563, 566, 570, 571, 572, 574, 576, 578, 581, 586, 596, 598, 600, 602, ?

Na, wer findet heraus, welche Zahl an die nächste Stelle kommt?

Bewertung zu diesem Post
Henny94 meint: meinst du 523 & 526 ?!

^ das Zitat is auf jeden Fall ausm Zusammenhang gerissen

Geändert von steelworks (19.06.12 um 20:38:18 Uhr)
#604
Alt 19.06.12, 15:18:04
eXpecT
Benutzerbild von eXpecT
Trackmaniac Täglich verrückt!
Registriert seit: 28.09.08
Alter: 30
Geschlecht: ♂
Beiträge: 1.930
IRC Zeilen: 65
eXpecT eine Nachricht über ICQ schicken
trölf, weil die wurzel aus 602 trölf ergibt... noch einfacher

#605
Alt 19.06.12, 17:19:09
steelworks
Benutzerbild von steelworks
Trackmaniac
Registriert seit: 10.02.08
Style: spring 09
Alter: 32
Geschlecht: ♂
Beiträge: 2.536
IRC Zeilen: 30723
Quizrunden gewonnen: 136

Bronzener Topposter Blecherner Postaward 

hihi, das Rätsel hab ich sogar selbst gemacht

^ das Zitat is auf jeden Fall ausm Zusammenhang gerissen
#606
Alt 19.06.12, 20:04:40
Henny94
Registered Users
Registriert seit: 21.07.10
Geschlecht: ♂
Beiträge: 549
IRC Zeilen: 51
sind für die lösung ALLE diese zahlen relevant oder nicht ?


die erste lösung die ich sage ist : 604

begründung : es ist eine zahlenreihe, zu der man die jeweiligen werte eben dazuaddiert, die die zahlen größer geworden sind.. & nach 602 fängt man wieder mit 2 ( 2 -> von 76 zu 78 ) an
somit erhält man 604

#607
Alt 19.06.12, 20:39:02
steelworks
Benutzerbild von steelworks
Trackmaniac
Registriert seit: 10.02.08
Style: spring 09
Alter: 32
Geschlecht: ♂
Beiträge: 2.536
IRC Zeilen: 30723
Quizrunden gewonnen: 136

Bronzener Topposter Blecherner Postaward 

Äh ja, meinte 523 und 526, vertippt^^

604 ist falsch. Btw lasse ich natürlich nur die Lösung mit der richtigen Begründung gelten.

^ das Zitat is auf jeden Fall ausm Zusammenhang gerissen
#608
Alt 20.06.12, 12:29:17
steelworks
Benutzerbild von steelworks
Trackmaniac
Registriert seit: 10.02.08
Style: spring 09
Alter: 32
Geschlecht: ♂
Beiträge: 2.536
IRC Zeilen: 30723
Quizrunden gewonnen: 136

Bronzener Topposter Blecherner Postaward 

So, erster Tipp: mathematisch lässt sich das Rätsel nicht lösen.

Bewertung zu diesem Post
Coke meint: spammmerrrr!!!

^ das Zitat is auf jeden Fall ausm Zusammenhang gerissen
#609
Alt 14.11.12, 11:53:46
AssassinePB
Benutzerbild von AssassinePB
Registered Users
Registriert seit: 23.06.11
Alter: 31
Geschlecht: ♂
Beiträge: 2.182
IRC Zeilen: 22522
Quizrunden gewonnen: 3

Spenden-Award 

Da will ich mal das Rätsel lösen:

Die folgenden Zahlen lauten 603, 605, 607 und 608! Der Rest steht in den Sternen

Begründung:
Achtung Spoiler! (Klick)
Beiträge von steelworks in diesem Thread

Bewertung zu diesem Post
Zahl meint: Nicht schlecht!

[ http://www.pixelenemy.com/wordpress/wp-content/uploads/2013/02/ac4blackflagprotagonist-278x206.jpg ]
#610
Alt 15.11.12, 17:59:46
steelworks
Benutzerbild von steelworks
Trackmaniac
Registriert seit: 10.02.08
Style: spring 09
Alter: 32
Geschlecht: ♂
Beiträge: 2.536
IRC Zeilen: 30723
Quizrunden gewonnen: 136

Bronzener Topposter Blecherner Postaward 

Richtig!

War das nicht kreativ?

Du bist dran

Bewertung zu diesem Post
Coke meint: es geht so!

^ das Zitat is auf jeden Fall ausm Zusammenhang gerissen
Antwort
Lesezeichen
Facebook

Direkt antworten
Nachricht:
Benutzername: 
Email (nicht ausfüllen!): Sicherheitsgrafik
Optionen

« Vorheriges Thema | Nächstes Thema »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Teamspeak 3

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04:09 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS
Die Betreiber haften nicht für die Inhalte der User. Die Beiträge spiegeln ausschließlich persönliche Meinungen wider, und nicht die der Seitenbetreiber.