Hmm (Asmodis, 27. Jun 1996, 18:52:01):

Nanu, was ist das denn fuer eine rubrik? Hat jetzt Konrad Duden
persoenlich zugeschlagen ? :)

 Asmodis, hat mahl wieder Langeweile

-----------------------------------------------------------------------------



Baseball verschluckt? (Tryfan, 26. Jul 1996, 12:35:00):
 Huhu, der erste, der diese Frage richtig beantwortet
 gewinnt eine orginal Diamondbaseballjacke mit Baseball, auch
 wenn er sie nicht haben will.

  Wodurch hat sich der Diamondspieler verletzt, fuer den man als
  Ersatzspieler einspringen soll?

 Der Rechtsweg ist ausgeschlossen.
 Antworten in diese Rubrik und nicht an mich (bin nicht da).
 Aufloesung, sobald jemand die richtige Loesung hat.

Tryfan

-----------------------------------------------------------------------------



Re: Baseball verschluckt? (Asmodis, 26. Jul 1996, 13:04:14):
~#! rn=Tryfan rt=838377300
~#! tid=838377300
Er wollte die Hydra fuer sein Team anwerben ?
Hmm, dann waere er eher tot, vielleicht den Weghier ?

-----------------------------------------------------------------------------



Re: Re: Baseball verschluckt? (Tryfan, 30. Jul 1996, 22:02:55):
~#! rn=Asmodis rt=838379054
~#! tid=838377300
Hm, wenigstens mal ne Antwort, Aber da ist doch ein wenig die Phantasie
mit Dir durchgegangen. Der Weghier kann doch nicht aus der Parallelwelt
und die Hydra darf nicht mitspielen, da sie doch mindestens 12 Koepfe
hat, aber nur 9 auf dem feld stehen duerfen. Nee nee, die Loesung ist 
viel einfacher, man muss sich nur mal gruendlich im Stadion umsehen.
 Tryfan

-----------------------------------------------------------------------------



Re^3: Baseball verschluckt? (Boing, 30. Jul 1996, 22:06:59):
~#! rn=Tryfan rt=838756975
~#! tid=838377300
Klare Sache ... und total einfach: Orkbiss!
  Boing

-----------------------------------------------------------------------------



Re^3: Baseball verschluckt? (Asmodis, 31. Jul 1996, 08:04:44):
~#! rn=Tryfan rt=838756975
~#! tid=838377300
Na gut, naechster Versuch: Er hat versucht, Torfdueng zu knuddeln

-----------------------------------------------------------------------------



Baseballzitate (Tryfan,  1. Aug 1996, 10:27:29):
-----------------------------------------------------------------------

	Dizzy Dean, announcer and Hall of Fame pitcher

'Old Diz knows King's English, And not only that. I also Know the Queen
 is English.'     Dizzy Dean defending his unique use of grammar.

'The batter is standing calmly and confidentially at the plate.'

'The score is nothing to nothing and nobody's winning.'

'He slud into third.'

'Don't fail to miss tomorrow's game.

'The side is out and the runners is left at their respectable bases.'

'It don't make no difference how you say it, just say it in a way that 
 makes sence. Did you ever meet anybody in your life who didn't know what
 "ain't" means?'

'A lot of folks that ain't saying ain't ain't eatin'.'

Pee Wee Reese: 'Diz, you've watched this pitcher out there for four 
 innings, and he's doing a great job. What would you say he's been 
 throwing out there?'
Dizzy Dean: 'Weel, Pee Wee, I've been watching him for four innings and
 I believe that's a baseball he's throwin'.'
     


 Hihi, wollt ihr mehr? Bei Jerry Coleman-Zitaten faellt man erst
richtig von Glauben ab. :) Kostprobe?

'There's a fly ball deep to center field. Winfield is going back, back...
 He hits his head against the wall. It's rolling towards second base.'

Ok, genug fuer heute.

 

-----------------------------------------------------------------------------



Re^4: Baseball verschluckt? (Tryfan,  1. Aug 1996, 10:29:17):
~#! rn=Asmodis rt=838793084
~#! tid=838377300
 Dann greift Dein erstes Argument. Er waere tot und nicht verletzt.
 Nein nein, es hat schon was mit dem Stadion zu tun.
Boing ist schon naeher dran. Aber dann waeren ja die Orks disqualifiziert.
Das kann es also auch nicht sein.
 OK, zwei Zusatzfragen: 1. Fuer einen Baseball: Fuer welche zwei Dinge
aus dem MG wird im Stadion Werbung genmacht?
 2. Fuer eine Baseballjacke: Wie heisst Ryne mit Nachnamen?
Wieder sind die Antworten im Stadion zu erfahren.
Tryfan

-----------------------------------------------------------------------------



Re^5: Baseball verschluckt? (Boing,  1. Aug 1996, 12:10:18):
~#! rn=Tryfan rt=838888157
~#! tid=838377300
Warte mal ... das mit Ryne weiss ich ... wie war's doch gleich?
Irgendne Mischung aus Wueste und Gebirge ... Wuestenberg oder Sandzwerg?
So in etwa!
  Boing

-----------------------------------------------------------------------------



Re^5: Baseball verschluckt? (Asmodis,  1. Aug 1996, 15:09:02):
~#! rn=Tryfan rt=838888157
~#! tid=838377300
Hmm, 1. Im Stadion wird Werbung fuer Pflaster gemacht (jedenfalls brauchen
sie nach dem Spiel reichlich davon)
2. Ryne ist schon der Nachname, der Vorname ist Kampfzwerg :)

-----------------------------------------------------------------------------



Re^5: Baseball verschluckt? (Mupfel,  1. Aug 1996, 16:44:30):
~#! rn=Tryfan rt=838888157
~#! tid=838377300
Zu 2.: Mueller   :-)

-mupfel-

-----------------------------------------------------------------------------



Re: Kleiner Quiz (Guybrush, 21. Aug 1996, 08:39:34):
~#! rn=Aline rt=840609349
~#! tid=840609349
Die Muehle: UNt Staub, oder unt Luft...
Haset noch was anspruchsvolles? ;)

-----------------------------------------------------------------------------



Re: Re: Kleiner Quiz (Aline, 21. Aug 1996, 09:01:15):
~#! rn=Guybrush rt=840609574
~#! tid=840609349
Danke Magier!
Der Quiz war fuer LLP (=LowLevelPlayer) gedacht und von daher nicht sehr
anspruchsvoll. Nett von Dir sowas durch eine Antwort in der MPA sofort kaputt
zu machen.

Aline (traurig)

-----------------------------------------------------------------------------



Re^3: Kleiner Quiz (Guybrush, 21. Aug 1996, 09:04:14):
~#! rn=Aline rt=840610875
~#! tid=840609349
Argl, ich sollte auch mal das PS lesen
Tut mir leid, ausnahmsweise... hm, ich denk mir auch ne Frage aus...
Mail dann an Aline ;)

-----------------------------------------------------------------------------



Re^3: Kleiner Quiz (Guybrush, 21. Aug 1996, 09:07:28):
~#! rn=Aline rt=840610875
~#! tid=840609349
So, mal was etwas schwereres, die Antwort geht an Aline.
An welcher Stelle das MUD sollte man sich vor STolperdraehten in Acht nehmen?
Ich kenn mal zwei...
Die eine kennen nur die, die die Quest gemacht haben. Die anderen findet man
durch untersuchen.

Bei LLP lassen wir mal eine Antwort gelten.

P.S.: Magier und solche, die keine P.S. lesen sind ausgeschlossen. HLP bitte
beide Antworten und am besten noch ne dritte ;)

Guybrush, liest jetzt immer die P.S.

-----------------------------------------------------------------------------



Haeh? (Tasha,  1. Okt 1996, 13:19:55):
Kann es sein, dass sich jemand beim Titel dieser Rubrik vertippt hat?

Tasha

-----------------------------------------------------------------------------



Re: Haeh? (Cauno,  1. Okt 1996, 13:30:39):
~#! rn=Tasha rt=844168795
~#! tid=844168795
schwer vorzustellen. dann hiesse sie wohl 'wuiz'.

C. No ?

-----------------------------------------------------------------------------



Re: Re: Haeh? (Grimmborn,  1. Okt 1996, 13:39:20):
~#! rn=Cauno rt=844169439
~#! tid=844168795

Noe, rechter und linker kleiner Finger verwechselt.
Und ueberhaupt, vielleicht ist der Titel der Rubrik ja Programm? Das "puiz"
muesste nur jemand noch in geeignete Worte fassen...

Grimmborn der Ltheist


-----------------------------------------------------------------------------



Re: Haeh? (Catweazle,  1. Okt 1996, 16:56:33):
~#! rn=Tasha rt=844168795
~#! tid=844168795
Unwahrscheinlich.
P und Q sind verdammt weit voneinander entfernt ... 
YTC :)

-----------------------------------------------------------------------------



Re: Re: Haeh? (Grimmborn,  1. Okt 1996, 18:22:18):
~#! rn=Catweazle rt=844181793
~#! tid=844168795

Nur weil Du geographisch und nciht logisch denkst (und vermutlich mit dem
Zweifingersuchsystem tippst). Ich bleibe dabei: Beides ist der kleine Finger,
nur an verschiedenen Haenden.
Nun gut, wenn Du nachweisen kannst, dass kein EM, der hier Rubriken
einrichtet, das Zehnfingersystem beherrscht, dann gebe ich Dir recht.
Moeglicherweise.

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re^3: Haeh? (Acrimon,  2. Okt 1996, 03:15:47):
~#! rn=Grimmborn rt=844169960
~#! tid=844168795
Posten - Und In Zensur

-----------------------------------------------------------------------------



Re^4: Haeh? (Azzuro,  2. Okt 1996, 16:50:54):
~#! rn=Acrimon rt=844218947
~#! tid=844168795
Die beiden Buchstaben liegen direkt nebeneinander.
Jedenfalls im Alphabet. Und da unsere Erzmagier sich immer ihre Texte
handschriftlich vorschreiben kann sowas schon mal passieren.

-----------------------------------------------------------------------------



Re^3: Haeh? (Raffi,  2. Okt 1996, 17:14:23):
~#! rn=Grimmborn rt=844186938
~#! tid=844168795

Hae ? kleiner Finger ? wofuer denn der ? zum tippen ? Nie und Nimmer !
Bestenfalls zum in der Nase Bohren.

Gruss
H. (<-Schwoert auf 2 Finger Adleraugesuchsystem)

-----------------------------------------------------------------------------



Re^4: Haeh? (Bloodyharry,  2. Okt 1996, 22:50:53):
~#! rn=Raffi rt=844269263
~#! tid=844168795

Jo. Oder das Baader-Meinhof-System. Ein Anschlag pro Woche.

BH  -  jaja, ich weiss, uralt und falsch zitiert und und und...

-----------------------------------------------------------------------------



Re^4: Haeh? (Grimmborn,  7. Okt 1996, 14:30:51):
~#! rn=Raffi rt=844269263
~#! tid=844168795

Noe, ich bohre mir immer mit dem Zeigefinger in der Nase... ;-)

Grimmborn der Naseb^H^H^H^H^HAtheist

-----------------------------------------------------------------------------



Logikraetsel (Mars, 14. Okt 1996, 22:13:09):
Hi!

Da in dieser Rubrik nicht viel steht ausser "Haeh?", bringe ich
mal ein Logikraetsel, das ich neulich im Internet gefunden habe,
und das ich ziemlich genial fand.

===================================================================

Auf einem Blatt Papier stehen 10 Aussagen:

 1. Von den Aussagen 9 und 10 ist mindestens eine wahr.
 2. Dieses ist entweder die erste wahre oder die erste falsche Aus-
    sage.
 3. Es gibt drei aufeinanderfolgende falsche Aussagen.
 4. Die Differenz zwischen den Nummern der letzten wahren und der
    ersten wahren Aussage ist ein Teiler der gesuchten Zahl.
 5. Die Summe der Nummern aller wahren Aussagen ist die gesuchte
    Zahl.
 6. Dies ist nicht die letzte wahre Aussage.
 7. Die Nummer jeder wahren Aussage ist ein Teiler der gesuchten
    Zahl.
 8. Die gesuchte Zahl entspricht dem prozentualen Anteil der wahren
    Aussagen (1 wahre Aussage = 10 %, ...)
 9. Die Anzahl aller Teiler der gesuchten Zahl (ausser 1 und der
    Zahl selbst) ist groesser als die Summe der der Nummern aller
    wahren Aussagen.
10. Es gibt keine drei aufeinanderfolgenden wahren Aussagen.

Wie heisst die gesuchte Zahl?

===================================================================

Loesungszahl bitte nicht posten, sondern per Mail an mich.
Um es interessanter zu machen, erhalten die ersten drei richtigen
Einsender die gesuchte Zahl in Muenzen ausbezahlt, Magier alterna-
tiv einen feuchten Haendedruck. Findet selber raus, ob es sich
lohnt ;)

Viel Spass beim Puizen

Mars

-----------------------------------------------------------------------------



Re: Logikraetsel (Azzuro, 16. Okt 1996, 17:19:21):
~#! rn=Mars rt=845323989
~#! tid=845323989

 42 wie sollte sie sonst heissen????

(Falls ich jetzt durch Zufall die Loesung getroffen haben sollte, ist es mir
aeusserst Peinlich und vollkommen unbeabsichtigt.)
Azzuro

-----------------------------------------------------------------------------



Re: Re: Logikraetsel (Dauergast, 17. Okt 1996, 09:29:47):
~#! rn=Azzuro rt=845479161
~#! tid=845323989
hihi

Fast, Azzuro, aber eben nur fast ...

DG (will auch mal was schreiben ..)

-----------------------------------------------------------------------------



Entkommen (Kobayashi, 18. Okt 1996, 20:00:15):
Kleine Aufgabe. Sie funktioniert nur in der englischen Sprache, und eigentlich
auch nur in gesprochener Form ....

You are in a room without any doors and windows. There is only one table in
the room. How do you get out?

Loeschungvorschlaege bitte per Mail an mich. Ich hoffe, ich denke dran, die
Aufgabe auch mal aufzuloesen.

Kobayashi

-----------------------------------------------------------------------------



Re: Entkommen (Kobayashi, 18. Okt 1996, 20:30:22):
~#! rn=Kobayashi rt=845661615
~#! tid=845661615
Alt-F4 ist falsch, du hast keine windows ... :-)

-----------------------------------------------------------------------------



Re: Re: Entkommen (Prolog, 22. Okt 1996, 07:51:16):
~#! rn=Kobayashi rt=845663422
~#! tid=845661615
Look at the table and see what you saw.
Take the saw and cut the table in two halfs.
Two halfs are one whole.
Climb through the hole and you are out.

ProloG

-----------------------------------------------------------------------------



Koba's Raetsel (Prolog, 22. Okt 1996, 07:52:02):
Huch, das sollte eigentlich eine Mail werden ....
Peinlic, peinlich ...

ProloG

-----------------------------------------------------------------------------



Re: Koba's Raetsel (Pampers, 22. Okt 1996, 09:13:28):
~#! rn=Prolog rt=845963522
~#! tid=845963522
Macht nix. Waer eh keiner drauf gekommen.

Pampers. Zu doof fuer dieses Raetsel.

-----------------------------------------------------------------------------



Re: Re: Koba's Raetsel (Stahldorn, 24. Okt 1996, 04:42:44):
~#! rn=Pampers rt=845968408
~#! tid=845963522

pfff. Nicht du bist zu bloed, sondern das Raetsel.

STAHL.

-----------------------------------------------------------------------------



Re: Logikraetsel (Guldukat,  5. Nov 1996, 11:18:54):
~#! rn=Mars rt=845323989
~#! tid=845323989

420

-----------------------------------------------------------------------------



Re: Re: Logikraetsel (Dauergast,  5. Nov 1996, 11:33:16):
~#! rn=Guldukat rt=847189134
~#! tid=845323989
tststs, GD, das hat aber gedauert ...

DG (war mal wieder Erster ...:)) )

-----------------------------------------------------------------------------



Re^3: Logikraetsel (Guldukat,  5. Nov 1996, 15:54:03):
~#! rn=Dauergast rt=847189996
~#! tid=845323989
Noe, ich war 2. oder 3. mit zephyr zusammen, nur s jetzt haben erst 5 leute
das raetsel geloest, deshalb stell ich die 420 mal ganz provokativ in den
raum, vielleicht kommen jandere, wenn sie erst die loesung haben, auf den weg!
GD

-----------------------------------------------------------------------------



schachproblem (Slyfox, 11. Nov 1996, 22:05:18):
Problem: 2 weisse Springer (W) und 2 schwarze Springer (S)
         stehen auf einem wie folgt aufgebauten 
         Schachbrett:

   +-+
   |S|
   +-+-+-+-+
   | | | |W|
   +-+-+-+-+
   |S|W| |
   +-+-+-+
   | | |
   +-+-+

Die Aufgabe ist es, die Springer so bewegen, dass am Ende
die schwarzen Springer dort stehen, wo vorher die weissen
waren und umgekehrt.

Viel Spass beim Kopfzerbrechen ich hab die Loesung auch
noch nicht gefunden. :)

  Slyfox

-----------------------------------------------------------------------------



Re: schachproblem (Dauergast, 12. Nov 1996, 09:11:46):
~#! rn=Slyfox rt=847746318
~#! tid=847746318
Hmmm...

Wenn Du es nach Schachregeln versucht, also abwechselnd ziehed, wird das
Ganze wohl etwas schwierig werden ...

Wenn die Springer aber in beliebiger Reihenfolge ziehen duerfen, ist es
ein sehr huebsches Rangier-Problem ...

*zwinker* 
DG

-----------------------------------------------------------------------------



Re: schachproblem (Tzuiop, 12. Nov 1996, 09:52:31):
~#! rn=Slyfox rt=847746318
~#! tid=847746318
Wie ueblich - Weiss am Zug ??

-----------------------------------------------------------------------------



Re: schachproblem (Yendi, 12. Nov 1996, 10:23:34):
~#! rn=Slyfox rt=847746318
~#! tid=847746318

Hmmm... Woher kenne ich das?
"The 7th Guest"?


-----------------------------------------------------------------------------



Re: schachproblem (Slyfox, 12. Nov 1996, 10:43:25):
~#! rn=Slyfox rt=847746318
~#! tid=847746318
Aehm, es ist egal, in welcher Reihenfolge man die Springer zieht,
und die Aufgabe stammt aus The 11th Hour, dem Nachfolger von The 7th Guest,
das is gleich die erste Aufgabe, die ich gefunden hatte, und ich schaffs
nicht, die zu loesen.

   Slyfox

-----------------------------------------------------------------------------



Re: Re: schachproblem (Rumata, 12. Nov 1996, 12:51:34):
~#! rn=Slyfox rt=847791805
~#! tid=847746318
Nummeriere die Felder.
Schreibe die benutzten Nummern auf ein Blatt Papier.
Verbinde zwei dieser Nummern, wenn ein Springer von einem zum Anderen
ziehen kann.
Ordne dann die Nummern auf einem neuen Blatt so an, dass alles
uebersichtlich wird.
 
Dann wird die Aufgabe ziemlich simpel. :-)

Rumata
(wundert sich, was hier so alles Seher ist...)

-----------------------------------------------------------------------------



Re^3: schachproblem (Li, 13. Nov 1996, 08:39:49):
~#! rn=Rumata rt=847799494
~#! tid=847746318
<Rumata
<(wundert sich, was hier so alles Seher ist...)

Sorry Rumata, aber dann musst du mich leider zum Level 3 spieler runterstufen,
wenn Raetselknackerfaehigkeiten Kriterien fuer Seher-/Magierwerdung ist! :-)
Ich HASSE solche Raestel und schaff sie dahewr auch NIE, zu loesen!
Li (tschuess, Fernwest, es war schoen dort RM zu sein! :-) )

-----------------------------------------------------------------------------



Re: schachproblem (Kretek, 13. Nov 1996, 12:39:34):
~#! rn=Slyfox rt=847746318
~#! tid=847746318
Aha, Du spielst also auch The 11th Hour!
Schau doch mal auf die Seite hier:
http://www.onthenet.com.au/~sct_tech/11thHour/clock.htm
Da solltest Du eigentlich fast alles finden, was Du suchst,
einschliesslich der Loesung zum Schachproblem! :-)

Ciao,
  KreteK

-----------------------------------------------------------------------------



Re^3: schachproblem (Yendi, 14. Nov 1996, 10:12:18):
~#! rn=Rumata rt=847799494
~#! tid=847746318

Najaaa... ganz so einfach war es nicht, wenn ich mich recht entsinne:
An einer Stelle stehen sich die Springer gegenseitig im Weg rum, und dieses
Problem sieht man bei einfachem Nummernverbinden nicht ohne weiteres.

Aber troeste Dich, Sly, es geht! :)


-----------------------------------------------------------------------------



Neues Schachraetsel (Dauergast, 14. Nov 1996, 13:09:29):
geklaut aus dem WUNDERLAND :-)

Folgende Stellung auf einem (normalen) Schachbrett:

Schwarzer Koenig auf d1, schwarzer Turm auf b5, schwarzer Laeufer auf d5
Damit etwas gerechter ist: Weisser Laeufer auf a4 

Was? Wer hat gesagt, ich haette ne Figur vergessen?
Weisser Koenig, wieso denn weisser Koenig?

Ach so, ja, stimmt, WO steht denn der weisse Koenig?? :-))

Loesungen bitte via mudmail an krigi@wunderland
(ich bin zu faul, hier zur Post zu rennen; ausserdem geht's sonst immer
meinem Schosstierchen an den Kragen, wenn ich weg bin!)

Preise kann ich leider keine anbieten, ich hab nix!

Dauergast

PS: Ich hoffe mal, dass alles so stimmt, ich musste es ohne Brett 
    und aus dem Gedaechtnis runtertippen.
PPS:Gruesse an alle Raymond Smullian Fans, denen das Problem sicher bekannt
    vorkommen duerfte!

-----------------------------------------------------------------------------



Re: schachproblem (Acrimon, 15. Nov 1996, 20:20:07):
~#! rn=Slyfox rt=847746318
~#! tid=847746318
Nun, ich hab 40 Spruenge gebraucht, um die Stellung der weiszen und schwarzen
Springer zu vertauschen.

-----------------------------------------------------------------------------



Re: Neues Schachraetsel (Dauergast, 18. Nov 1996, 13:16:10):
~#! rn=Dauergast rt=847973369
~#! tid=847973369
Hi!

Mal ein kurzer Zwischenstand:

Zwischen dem glorreichen MG und dem Wunderland (dort hab' ich das Problem
auch mal gestellt!) steht es bislang 
                        0:0
Traurig - traurig -traurig :(

Auf Loesungen wartend, DG alias Krigi@WL

-----------------------------------------------------------------------------



auch 'n Raetsel (Atoz, 18. Nov 1996, 18:23:24):

Auch ein Raetsel:

Welchen Seher kann man ueberall im MG treten, ohne dass er bei einem stehen
muss?

Schlechtes Deutsch ich weiss, aber ich denke, die Frage ist klar ;)))

Tschau Atoz (in Deckung gehend ;))) )

-----------------------------------------------------------------------------



nichts (Smarte, 18. Nov 1996, 21:03:16):
quiz oben die loesung ist Nichts oder naja schachraetsel ist zu loesen wenn
man sich anschaut wie man auf die entsprechenden positionen kommt (11th hour)

-----------------------------------------------------------------------------



Re: auch 'n Raetsel (Hadra, 18. Nov 1996, 22:57:53):
~#! rn=Atoz rt=848337804
~#! tid=848337804
wenn auch seherinnen gleten, lautet die antwort nesaja ;)

-----------------------------------------------------------------------------



Re: Re: auch 'n Raetsel (Fyt, 18. Nov 1996, 23:46:35):
~#! rn=Hadra rt=848354273
~#! tid=848337804

Weiss nicht, Nesaja ist nicht unsichtbar, oder?

Fyt.

-----------------------------------------------------------------------------



Re: Neues Schachraetsel (Grimmborn, 19. Nov 1996, 10:50:52):
~#! rn=Dauergast rt=847973369
~#! tid=847973369

Der Koenig steht noch in der Box wo die Schachfiguren aufbewahrt werden. Denn
auf dem Schachbrett konnte ich ihn nirgendwo finden. Hmm, vielleicht nochmal
unter dem Tisch gucken...

GdA


-----------------------------------------------------------------------------



Re: Neues Schachraetsel (Pra, 19. Nov 1996, 19:22:43):
~#! rn=Dauergast rt=847973369
~#! tid=847973369
hmmm...

muesstest du nicht noch sagen, wer am Zug ist?

Wenn ich wuesste, dass weiss am Zug ist, und dass auf c3 noch'n schwarzer
Bauer steht, koennte ich es loesen. So aber krieg' ich's nicht hin :-(

Pra.

-----------------------------------------------------------------------------



Re: Re: Neues Schachraetsel (Dauergast, 20. Nov 1996, 09:45:30):
~#! rn=Pra rt=848427763
~#! tid=847973369
Hm, Pra ....

War das jetzt ein Typo, Dein  :-(  oder war das echt Absicht ?

DG (glaubt, dass Pra die Loesung hat, ohne es zu wissen ...)  :-))

-----------------------------------------------------------------------------



Re^3: Neues Schachraetsel (Grimmborn, 22. Nov 1996, 16:17:33):
~#! rn=Dauergast rt=848479530
~#! tid=847973369

Darf ich nochmal fragen: Was ist eigentlich die Aufgabe? Mit der Frage "Wo
steht der Koenig" kann ich wenig anfangen, weil den kann ich praktisch
ueberall hinsetzen. Wenn er nicht im Schach stehen soll ist das
moeglicherweise etwas eingeschraenkt, aber so ad hoc wuerde ich schaetzen,
dass die paar Figuren kaum das gesamte Feld abdecken.

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re^4: Neues Schachraetsel (Pra, 22. Nov 1996, 16:58:53):
~#! rn=Grimmborn rt=848675853
~#! tid=847973369
Hi Grimmborn,

es geht darum, den Koenig so hinzusetzen, dass eine erreichbare, moegliche
Stellung entsteht. Und dann gibt es nur eine Moeglichkeit.

Pra. Hat die Loesung inzwischen. (DG hat ein wenig nachgeholfen)

-----------------------------------------------------------------------------



Re^5: Neues Schachraetsel (Grimmborn, 22. Nov 1996, 17:10:38):
~#! rn=Pra rt=848678333
~#! tid=847973369

Erreichbar von welcher Ausgangsstellung? Der Anfangsstellung mit 32 Figuren?
In weniger als 50 Zuegen? Muss der Weg dahin wie ein "vernuenftiges" Spiel
aussehen oder kann ich mit einem Abschlachten beginnen und die
uebriggebliebenen Figuren versuchen so hinzubiegen dass sie da stehen wo sie
stehen sollen?

Nee, vielleicht bin ich einfach nur zu bloed, eine Aufgabe ohne klare
Aufgabenstellung zu loesen...

Grimmborn der Atheist


-----------------------------------------------------------------------------



Re^6: Neues Schachraetsel (Pra, 22. Nov 1996, 17:14:57):
~#! rn=Grimmborn rt=848679038
~#! tid=847973369

Erreichbar von der Ausgangsstellung. Gezogen nach den allgemein gueltigen 
Schachregeln. 'Vernuenftig' muss das Spiel nicht sein. Ist aber auch egal;
denn so weit musst du nicht zurueckdenken. Es reicht, wenn du dir ueberlegst,
was der letzte Zug gewesen sein koennte (war vielleicht schon ein zu grosser
Tip?)

Pra.

-----------------------------------------------------------------------------



Re: Re: Neues Schachraetsel (Marita, 23. Nov 1996, 18:16:43):
~#! rn=Dauergast rt=848319370
~#! tid=847973369

Kein Wunder, DG... Ich fuerchte man muss etwas mehr vom Schach verstehen als
untere Durchschnittsmaritas. Letztere hat gerade herausgefunden, dass die
Stellung unmoeglich ist, aber das ist nach Aussage von DG & Pra wohl
unmoeglich, oder so. Also lasst uns nicht dumm sterben, ich moechte wissen,
wo der Denkfehler ist.
Maridda :-)

-----------------------------------------------------------------------------



Re: Re: auch 'n Raetsel (Tasha, 24. Nov 1996, 15:22:12):
~#! rn=Hadra rt=848354273
~#! tid=848337804

Wenn ich ein Loesungsskript schreibe funktioniert das auch.

Tasha

-----------------------------------------------------------------------------



Re^3: Neues Schachraetsel (Dauergast, 25. Nov 1996, 12:24:01):
~#! rn=Marita rt=848769403
~#! tid=847973369

Hi! Auf allgemeinen Wunsch hier mal kurz die Loesung des Schachreatsels ...
Alle, die noch knobeln wollen, nicht weiterlesen, fuer alle anderen folgt
ein NEUES Raetsel!!

Das Problem an der Stellung:

Der schwarze Koenig auf d1 steht im Schach des weissen Laeufers auf a4!
Frage: Wie kommt der in das Schach ?? 
Der Laeufer von Weiss kann jedenfalls grade nicht gezogen
haben, da auf b5 ja der schwarze Turm steht ... 
Also, Folgerung: Abzugsschach des weissen Koenigs, der damit entweder
auf c2 (unmoeglich wg. K-K!) oder b3 !! gestanden haben muss.
Also, entweder Kb3-a3 oder Kb3-c3 ...

Soweit ja noch einfach, aber leider steht der Koenig auf b3 auch im
Schach, im Doppelschach sogar! Doppelschaecher gibt es NORMALERWEISE
dadurch, dass eine Figur eine andere demaskiert und gleichzeitig
auch noch Schach bietet ...aber leider ist das bei der T und L Stellung
in diesem Falle nicht moeglich :))

Dennoch, es muessen 2 Figuren von 2 verschiedenen Feldern (b4 und c4)
verschwunden sein, um das Schach zu ermoeglichen! 
Und dafuer gibt es nur eine einzige Erklaerung: Schlagen en passant!
Wer das nicht kennt, fuer den war die Aufgabe wirklich nicht loesbar ...

Also Ausgangsstellung:
Weiss: Kb3, La4, BAUER c2 !!
Schwarz: Kd1, Tb5, La8 (zB), BAUER b4

Schwarz zieht La8-d5 SCHACH, Weiss wehrt mit c2-c4 ab und 
Schwarz hat jetzt (und nur sofort jetzt) die Moeglichkeit, den
Doppelschritt des weissen Bauern zu ignoriere und diesen auf c3 zu
schlagen (== schlagen en passant). ==> weisser Bauer weg, schwarzer Bauer c3

Da in der ENDSTELLUNG kein Bauer mehr auf dem Brett war, muss Kb3 schlaegt c3
der letzte Zug gewesen sein ...

Also: Koenig c3 !!

Ganz einfach, wenn man's weiss ...

DG
(im naechsten Problem kommt kein en passant mehr vor, versprochen!!

-----------------------------------------------------------------------------



Nochmal ein Schachraetsel gefaellig ...? (Dauergast, 25. Nov 1996, 12:33:12):
HI!

Fuer alle Schach-Masochiste hier nochmal ein kleines Raetsel 
(absolut OHNE en passant!!)...

Folgende Stellung wurde gemaess der FIDE-Regeln erreicht (dass sind die 
Regeln, nach denen jeder Vereinsspieler und auch die meisten Hobby-
Schaecherer spiele ...:)) )

Weiss: Kd2, Dd1, Ta1, Th1, Sc3, Sf3
       Bauern b2, b4, c2, d3, e3, f2, g2, h2
Schwarz: Ke8, Dd8, Ta8, Th8, Lg4, Lg7, Sc6, Sf6
           Bauern a7, b7, c7, d6, e6, f7, h7

Nein, Grimm*, ich sag wieder NICHT, wer am Zug ist!
Aber darum geht's auch gar nicht!

Folgendes ist bekannt: Der weisse Koeig hat bislang nur genau 1 mal gezogen.
  Der schwarze Koenig wurde noch nie bewegt.
   Von den 4 Tuermen auf dem Brett wurden 2 bereits gezogen, 2 noch nicht ...

Wer ahnt/befuerchtet es schon?

Richtig, die Frage ist: Welche beiden Tuerme haben noch nicht gezogen?
  Antworten gelten natuerlich nur MIT Begruendung!!

So, viel Spass wuenscht Raetselta^H^Honkel DG

-----------------------------------------------------------------------------



Was ist das .... (Hate, 29. Nov 1996, 11:57:11):
Schnongs, der; pl: Schongse, die, umgangspr. f. ?

Hate.

-----------------------------------------------------------------------------



Re: Was ist das .... (Bloodyharry, 29. Nov 1996, 12:49:54):
~#! rn=Hate rt=849265031
~#! tid=849265031
schanxe ?

bh

-----------------------------------------------------------------------------



Re: Re: Was ist das .... (Grimmborn, 29. Nov 1996, 13:41:41):
~#! rn=Bloodyharry rt=849268194
~#! tid=849265031
Noe, das ist sicher wieder son Schweinkram wie letztesmal als Hate wissen
wollte was "Mondo" heisst... ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: schachproblem (Jariel, 30. Nov 1996, 16:57:13):
~#! rn=Slyfox rt=847746318
~#! tid=847746318

Ich hab ne Loeung! *freu*

Soll ich sie Dir mailen, oder willst Du nun nen Tip haben Sly* ?

Jariel (hat eigentlich keinen blassen Schimmer vom Schach)

-----------------------------------------------------------------------------



Re: Re: schachproblem (Jariel, 30. Nov 1996, 17:10:16):
~#! rn=Jariel rt=849369433
~#! tid=847746318
Da war ich wohl recht spaet dran mit der Loesung, naja vergesst es ;)

Und was das Raetsel von DG betrifft. Das sind fuer mich alles 
Boehmische Doerfer...

J.

-----------------------------------------------------------------------------



Frage! ;-) (Hate,  2. Dez 1996, 15:57:09):
D-chat:Hate] Ich brauch mal Eure Hilfe: Ich brauche die Antwort auf folgende
[D-chat:Hate] Frage: Man kann mit 4 Gewichten alle ganzzahligen Gewichte bis
[D-chat:Hate] 40Kg mit einer einfachen Balkenwage abwiegen. Wie sind diese 4
[D-chat:Hate] Gewichte.

Antworten bitte an mich per Mail ;-)

Hate.

-----------------------------------------------------------------------------



Re: Frage! ;-) (Ringor,  2. Dez 1996, 16:35:41):
~#! rn=Hate rt=849538629
~#! tid=849538629
Reicht es auch, wenn ich alle Gewichte von 0-38 kg einschliesslich
bestimmen kann?

Das geht mit je einem 2, 5, 10 und 20 kg-Gewicht.

Aber da das wahrscheinlich nicht ausreicht, suche ich noch weiter ;^)

Ringor

-----------------------------------------------------------------------------



Re: Re: Frage! ;-) (Boing,  2. Dez 1996, 16:38:22):
~#! rn=Ringor rt=849540941
~#! tid=849538629
Haaaallo! Lesen Ringor! :)
Hate schrieb doch 'Antwort per mail', sonst ist ja der Spass fuer alle
anderen gleich vorbei. :)
Naja, die Antwort war ja eh falsch, also egal ;)
  Boing

-----------------------------------------------------------------------------



Re^3: Frage! ;-) (Kretek,  2. Dez 1996, 16:38:55):
~#! rn=Boing rt=849541102
~#! tid=849538629
Na ja, kein Wunder, Ringor ist ja auch ein Wurstseher :-)

K.

-----------------------------------------------------------------------------



Re^4: Frage! ;-) (Oetti,  2. Dez 1996, 16:39:47):
~#! rn=Kretek rt=849541135
~#! tid=849538629
O.k. was bekomme ich wenn ich die Antwort NICHT hier
reinschreibe ???

Ran* aehh Oe*

-----------------------------------------------------------------------------



Re^5: Frage! ;-) (Rochus,  2. Dez 1996, 16:45:03):
~#! rn=Oetti rt=849541187
~#! tid=849538629
Dann wirst Du NICHT sofort wieder geloescht :)

-----------------------------------------------------------------------------



Re: Re: Frage! ;-) (Lycar,  2. Dez 1996, 18:59:35):
~#! rn=Ringor rt=849540941
~#! tid=849538629
Haha.. dann wieg mir mal 1 Kilo federn und 6 Kilo Eisen ab .. nur so zB...
Jedenfalls muessen es zusammen 40 kg sein aber man kann ja Gewichte auf
BEIDE Seiten der Waage legen. 
ZB 25kg auf die eine und 7 kg auf die andere Seite gibt 18 ... hmmm
*gruebel*

    Lycar  (gruebelt immer noch)

-----------------------------------------------------------------------------



Einen Dank an die Raetsler (Hate,  3. Dez 1996, 11:50:12):
Danke Euch allen, die ihr mit so zahlreich Mail geschickt habt.
Die selbsgebackenen Kekse des Raetselstellers haben vorzueglich geschmeckt.

   ;-)

Hate.

-----------------------------------------------------------------------------



Re: Einen Dank an die Raetsler (Methedras,  4. Dez 1996, 08:33:58):
~#! rn=Hate rt=849610212
~#! tid=849610212
Hee, halt, will das naechste mal auch Kekse hamm! 
Schliesslich habe ich auch eine funktionierende Loesung Dir geschickt. :)
Wenn es auch 2 h gebraucht hat um draufzukommen. 

Der letzte Berg Methedras ruft: LECKERE KEKSE! UND ALLES NUR FUER MICH!

-----------------------------------------------------------------------------



Re: Was ist das .... (Hate,  9. Dez 1996, 11:30:33):
~#! rn=Hate rt=849265031
~#! tid=849265031
Bisher hats ja keiner rausbekommen, was Schnongse oder ein Schnongs ist ;-)

Eigentlich ganz einfach. Suess und flutschig: Bonbon(s)

Hate.

-----------------------------------------------------------------------------



Re: Re: Was ist das .... (Grimmborn, 11. Dez 1996, 14:22:56):
~#! rn=Hate rt=850127433
~#! tid=849265031

Aber sicher von der klebrigen Sorte? Offensichtlich von der Art, die einem die
Zaehne zusammenklebt... ;-)

GdA

-----------------------------------------------------------------------------



Re: Nochmal ein Schachraetsel gefaellig ...? (Dauergast, 11. Dez 1996, 14:54:03):
~#! rn=Dauergast rt=848921592
~#! tid=848921592
Sodele, da fehlte doch noch eine Loesung ...

Wenigstens EINE richtige Loesung (aus dem Wunderland) hab' ich drauf 
bekommen ... :-))

Das Problem an der Geschichte ist natuerlich der bauer b4!
Der muss ne schwarze >Figur geschlagen haben ... und es fehlt nur der
schwarze Bauer auf g7 ... sollte man nur erklaeren koennen,
wie der nach b4 (oder b3) kommt!
Nachdem laufen nicht geht, es fehen ja nur 2 weisse Figuren, bleibt nur
fliegen uebrig! Soll heissen, Umwandlung in eine Figur ... 
und dafuer kommmt nur das feld e1 in Frage, also Bauer g7 schlaegt
weissen Laeufer auf f6 oder f4 und den naechsten laeufer auf e2,
der weisse Koenig macht Platz (einziger Zug!) und der Bauer wandelt sich
in ne Figur um!!

Soweit so gut! Nur in welche Figur? Dame oder Laeufer wueden SCHACH geben,
muesste also der Koenig nochmal ziehen oder die Figur gleich auf e1 
geschlagen werden...beides unmoeglich!"
Springer, hm, ja, nur wo kommt der raus? einziges Feld waere f3, aber daa
waere es wieder SCHACH :-((

Naja, wenn das unmoeglich ausfaellt, muss das Unwahrscheinliche die
Wahrheit sein!! Bleibt nur TURM!!
Aber wier kommt der raus, wenn der Bauer auf a3 steht? und der muss
sich also erst schlagen lassen um rauszukommen??

Halt nein, damit koennen wir wohl nachweisen, dass die umgewandelte
Figur noch auf demBrett steht""  Zeitlich gesehen:
Der Turm h8 laesst sich auf b3/4 werfen, der Turm a1 und die weisse Dame
machen brav Platz, und der Turm e1 kehrt anstelle des Turmes h8 dorthin
zurueck!

==> Die Tuerme h 1 und a 8 haben noch nicht gezogen!!

Zu schwer??

Noe, und wer noch mehr solche Problme loesen moechte:

Raymond Smullyan, Die Schachgeheimnisse des Kalifen
Raymond Smullyan, Kniffelschach mit Sherlock Holmes

beides Taschenbuecher des Ravensburger Verlage, leider schon
seit Jahren nicht mehr neu aufgelegt :-((((

Ciao, DG(Raetselonkel)

PS: Etwaige miese Formatierung und ^H's sind zu entschuldigen ...

-----------------------------------------------------------------------------



mpa (Grimmborn, 11. Dez 1996, 15:14:14):
Neuerdings scheint die mpa beim Schreiben eines Artikels (dankenswerterweise)
zu Beginn eine Leerzeile einzufuegen. Allerdings nicht immer.
Hat schon jemand entraetselt, wann das der Fall ist und wann nicht? Ich pendel
seitdem naemlich staendig zwischen keiner Leerzeile (was haesslich gedraengt
aussieht) und zwei Leerzeilen (wo der Zusammenhang zum header schon fast
wieder weg ist) hin und her...

Grimmborn der Atheist


-----------------------------------------------------------------------------



Raetsel (Slyfox, 11. Dez 1996, 23:54:03):
Heinz kommt zu einem Markt und geht einkaufen.

1 Kuh   kostet  25 Pesos
1 Lamm  kostet   5 Pesos
1 Henne kostet   1 Peso

Heinz kauft fuer 500 Pesos genau 100 Tiere ein, und von jeder Sorte ist
mindestens eins dabei. Was kauft er nun ein?

Viel Spass beim Gruebeln

   Slyfox

-----------------------------------------------------------------------------



Re: Raetsel (Pampers, 12. Dez 1996, 10:06:09):
~#! rn=Slyfox rt=850344843
~#! tid=850344843

1 Kuh   kostet  25 Pesos
1 Lamm  kostet   5 Pesos
1 Henne kostet   1 Peso


Die Frage ist:
Wo kann man so billig einkaufen? 

Die Antwort finde ich viel interessanter. :-)

Pampers. Sparsam.

-----------------------------------------------------------------------------



Re: Raetsel (Engywuck, 12. Dez 1996, 11:09:33):
~#! rn=Slyfox rt=850344843
~#! tid=850344843
Also, wenn er k Kuehe einkauft, l Laemmer und h Hennen, dann braucht er:

k Kuehe
l=100-6k Laemmer
h=100-l-k Hennen

Das war nu wirklich nicht so schwer, wer es dennoch zu schwer fand, sei nun
gefragt, wie man denn auf die Formeln kommt ;)

Engy*

-----------------------------------------------------------------------------



Re: Re: Raetsel (Spindel, 12. Dez 1996, 12:58:22):
~#! rn=Engywuck rt=850385373
~#! tid=850344843
Hi Engy
 so ganz vollstaendig ist Deine Loesung aber nicht. Ich muss doch mindestens
eine Kuh kaufen, aber insgesamt nur 100 Tiere. Wieviele Kuehe darf ich also
hoechstens kaufen? Ich glaub, deine Formel hast Du gefunden, als Du Dir 
ueberlegt hast, was ein Tier im Durchschnitt kosten soll.
 Spindel

-----------------------------------------------------------------------------



Re^3: Raetsel (Pra, 12. Dez 1996, 16:21:01):
~#! rn=Spindel rt=850391902
~#! tid=850344843
Also mir stellt sich erstmal eine ganz andere Frage:
Wer ist ueberhaupt Heinz? Und was macht er in Spanien? Und was will er 
mit den ganzen Viechern ueberhaupt?

Pra. Hat manchmal arge Probleme mit Raetseln.

-----------------------------------------------------------------------------



Re^4: Raetsel (Raffi, 12. Dez 1996, 18:25:07):
~#! rn=Pra rt=850404061
~#! tid=850344843
Wiso Spanien ? Ich dachte das sind Mexikanische Peso. Wenn das Spanisch ist,
dann ergibt sich da ein ganz anderes Bild.

Gruss
H.

-----------------------------------------------------------------------------



Re^4: Raetsel (Mupfel, 12. Dez 1996, 18:31:30):
~#! rn=Pra rt=850404061
~#! tid=850344843

Heinz ist doch die Mumie von Dancer. :-)

-mupfel-

-----------------------------------------------------------------------------



Re^5: Raetsel (Kretek, 12. Dez 1996, 19:16:03):
~#! rn=Mupfel rt=850411890
~#! tid=850344843
**lach** Das waren jetzt aber gleich zwei Insider auf einmal, Mupfel!
Das geht nun wirklich nicht! :-)

K.

-----------------------------------------------------------------------------



Re: mpa (Loco, 12. Dez 1996, 22:54:09):
~#! rn=Grimmborn rt=850313654
~#! tid=850313654
Ich glaub, ich habe rausgefunden, woran das liegt. Der bug ist in meiner
Beta-Version hoffentlich beseitigt, ich finde nur leider bisher nicht die
Zeit, um den ganzen Kram zu installieren...
- Loco

-----------------------------------------------------------------------------



Re^5: Raetsel (Ancalagon, 13. Dez 1996, 11:26:10):
~#! rn=Raffi rt=850411507
~#! tid=850344843

Ausserdem heisst die spanische waehrung nicht Peso sondern Peseta! :)
nur mal eben klugscheiussend,
                                                 Ancalagon
                                         Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Raetsel (Slyfox, 14. Dez 1996, 15:57:05):
~#! rn=Slyfox rt=850344843
~#! tid=850344843
Oh, da war mir ein Fehler unterlaufen, es gibt da ganz viele Loesungen.
1 Henne kostet nur 1/4 Peso, dann ist die Loesungen eindeutig.
Also nochmal: ;)

Heinz kommt zu einem Markt und geht einkaufen.

1 Kuh   kostet  25 Pesos
1 Lamm  kostet   5 Pesos
1 Henne kostet 1/4 Peso

Heinz kauft fuer 500 Pesos genau 100 Tiere ein, und von jeder Sorte ist
mindestens eins dabei. Was fuer Tiere hat er nu eingekauft?

Viel Spass beim Gruebeln

   Slyfox

-----------------------------------------------------------------------------



Re: Re: Raetsel (Guybrush, 14. Dez 1996, 15:58:37):
~#! rn=Slyfox rt=850575425
~#! tid=850344843
Nu isses ja langweilig ;)
Wenn man bestimmte statt unbestimmter Gleichungssysteme loesen muss, dann geht
ja die ganze Vielfalt verloren ;)

Guybrush, loest lieber ueberbestimmte Systeme ;)

-----------------------------------------------------------------------------



Re: Re: Raetsel (Paracelsus, 15. Dez 1996, 21:10:46):
~#! rn=Slyfox rt=850575425
~#! tid=850344843
Hmm, viel zu einfach: eine Kuh, ein Lamm und 98 Hennen. Und fuer den Rest
holt er sich ein Eis. (Oder stand da was, dass er die ganzen 500 Pesos fuer
die Tierchen ausgeben sollte? ;)

Paracelsus.

->schmarrn.

-----------------------------------------------------------------------------



Re: Re: Raetsel (Astar, 16. Dez 1996, 14:03:03):
~#! rn=Slyfox rt=850575425
~#! tid=850344843
Hmm, wie waers mit:

80 Hennen =  20
 1 Lamm   =   5
19 Kuehe  = 475
---------------
100 Tiere = 500 Peso

Astar
oder sollte das nicht in die mpa ??? :/

-----------------------------------------------------------------------------



Re^3: Raetsel (Raffi, 16. Dez 1996, 18:01:25):
~#! rn=Astar rt=850741383
~#! tid=850344843

Hmm die Loesung ist ja ganz niedlich, nur weiss ich jetzt immer noch nicht wie
Heinz von den Pyramiden nach Mexiko kommt (mal ganz abgesehen davon das man
fuer 500 Pesos heute nichtmal mehr ein Eis bekommt Para.).

Gruebel
H.

-----------------------------------------------------------------------------



Re^4: Raetsel (Fyt, 17. Dez 1996, 00:34:18):
~#! rn=Raffi rt=850755685
~#! tid=850344843

Kein Problem Raffi, die Pyramiden *sind* in Mexiko. Sind halt welche
von den Bienen und nicht die vom Nil.

Fyt.

-----------------------------------------------------------------------------



Re^3: Raetsel (Methedras, 17. Dez 1996, 19:31:39):
~#! rn=Paracelsus rt=850680646
~#! tid=850344843
Aeh, moment, Paracelsus, also ceteris paribus wuerde ich sagen, dass Heinz
als homo oekonomicus, also nutzenmaximierendes Individuum, eben versucht,
mit diesem uns gegebenem Budget von 500 P. seinen Nutzen zu maximieren.
Nun fehlt uns aber fuer alle drei Tierarten die Nutzenfunktion, um eine
Tangente, also die Budgetrestriktion, an eine Schar von Indifferenzkurven,
natuerlich also den jeweiligen geometrischen Orten aller Gueterbuendel,
die gleichen Nutzen stiften, zu legen. Dazu wuerde uns jetzt natuerlich
dann auch noch der Grenznutzen und der Preis von Eis fehlen, ausserdem
noch Informationen ueber die Gueter x1, x2 und x3, ob sie substitutional
oder komplementaer sind und ausserdem superior oder sogar ob es sich um
inferiore Gueter handelt. Wenn es naemlich inferiore Gueter sind, die
gleichzeitig noch dem Vorbild des Giffen-Falles folgen, also dass der
Substitutionseffekt betragsmaessig groesser ist als der Einkommenseffekt
bei Aenderung des Einkommens, da, wie wir ja alle wissen, der SE 
(Substitutionseffekt) genau vorzeichenmaessig umgedreht ist zum Einkommens-
effekt (EE), ach, sorry, jetzt habe ich es falschrum geschrieben, natuerlich
muss der EE > SE, da sonst nicht die Verringerung der Nachfrage durch den
EE ueberkompensiert wird bei erhoehten Preisen des Gutes und es dadurch
zu keiner erhoehten Nachfrage kaeme bei erhoehtem Preis...

Hiiiiiiiiiiiiiiiiiiilfe, wieso studier ich BWL?

    Frosch Caradhras - eilt schnell nach Hause zum Billard spielen
                      und Gluehwein saufen

-----------------------------------------------------------------------------



Re^4: Raetsel (Kobayashi, 17. Dez 1996, 19:35:01):
~#! rn=Methedras rt=850847499
~#! tid=850344843
#@$$#@%$# ?

-----------------------------------------------------------------------------



Re^4: Raetsel (Kretek, 18. Dez 1996, 11:24:56):
~#! rn=Methedras rt=850847499 rg=puiz
~#! tid=850344843
Also, wo er Recht hat, da hat er Recht....

KreteK
(selber WiWi)

-----------------------------------------------------------------------------



Musikquiz (Li, 18. Dez 1996, 11:31:29):
Hi!
Zu Weihnachten ein Musikquiz einmal anders. Diesmal sind keine Textzeilen zu
erraten, sondern die Urspruenge einiger Bands. Ich habe mal eine Liste von
Bands aufgestellt, die ihre Namen von etwas anderem herleiten, oder darauf
anspielen.
Ich moechte nun von Euch wissen, wie die folgenden Bands zu ihren Namen
gekommen sind.
Loesungsmail bitte an mich. Der Gewinner bekommt was, wenn es sich um einen
spieler handelt. Magier werden gebeten, sich ihre Belohnung selber zu proggen
:-)
also viel Spass, damit euch weihnachten nicht zu langweilig wird... :-)
1) Jethro Tull
2) Spider Murphy Gang
3) R.E.M.
4) Eloy
5) Duran Duran
6) Depeche Mode
7) T. Rex (besonders schwierig! :-) )
8) Marillion
9) T'Pau
10) Blood, Sweat & Tears


-----------------------------------------------------------------------------



Re: Musikquiz (Li, 19. Dez 1996, 10:29:43):
~#! rn=Li rt=850905089 rg=puiz
~#! tid=850905089
Da ich schon mehrere Antworten bezueglich Frage 9 (T'Pau) bekommen habe ein
kleiner hinweis: die Band gabs Mitte bis Ende der 80er, gabs da schon die
hohepriesterin? Wenn ja gibts auf die Frage zwei Antworten. Uebrigens,
Fernwestler haben es bei dieser Frage leichter...
Li

-----------------------------------------------------------------------------



Re: Re: Musikquiz (Asmodis, 19. Dez 1996, 13:13:31):
~#! rn=Li rt=850987783 rg=puiz
~#! tid=850905089
Aeh, die T'Pau ist ein Raumschiff der Klingonen, glaub ich.
Krieg ich jetzt nen Punkt ? :)

-----------------------------------------------------------------------------



Re^3: Musikquiz (Kobayashi, 19. Dez 1996, 13:36:09):
~#! rn=Asmodis rt=850997611 rg=puiz
~#! tid=850905089
T"Pau ist die Hohepristerin der Vulkanier, die es zwar in den Filmen erst im
4. Kinofilm gab, in den Buechern aber schon wesentlich frueher auftauchte.

Kobayashi (Raumschiff und Test auf ST II, Zorn des Khan)

-----------------------------------------------------------------------------



Re^4: Musikquiz (Asmodis, 19. Dez 1996, 13:37:14):
~#! rn=Kobayashi rt=850998969 rg=puiz
~#! tid=850905089
Meinetwegen, dann wurde eben das Raumschiff nach der Hohepriesterin 
benannt oder umgekehrt :)

-----------------------------------------------------------------------------



Quiz (Pampers, 19. Dez 1996, 13:39:15):
Mal ein wichtiger Quiz:

Was ist der Sinn des Lebens?

Antworten bitte bis zum 31.12. per Mail an mich.

Pampers. Wer "42" antwortet, wird wegen Unkreativitaet erschossen.

-----------------------------------------------------------------------------



Re: Quiz (Asmodis, 19. Dez 1996, 13:58:55):
~#! rn=Pampers rt=850999155 rg=puiz
~#! tid=850999155
43

-----------------------------------------------------------------------------



Re: Re: Musikquiz (Guybrush, 19. Dez 1996, 14:07:17):
~#! rn=Li rt=850987783 rg=puiz
~#! tid=850905089
Hm, T'Pau ist die Abkuerzung von Schreibfaulen fuer T(ee)Pau(se)

Wie krieg ich das Ding nach Schmarrn? Nicht nach Muell, Grimmzensor....

Guybrush, weiss nix und gewoehnt sich dran

-----------------------------------------------------------------------------



Re^3: Musikquiz (Asmodis, 19. Dez 1996, 14:13:57):
~#! rn=Guybrush rt=851000837 rg=puiz
~#! tid=850905089
Nee, Grimmi verschiebt die nicht nach Muell, der loescht sie sofort :)
Wenn du ne Verschiebung willst, musste Cat* fragen :)

-----------------------------------------------------------------------------



Re^4: Musikquiz (Atoz, 19. Dez 1996, 17:58:40):
~#! rn=Kobayashi rt=850998969
~#! tid=850905089
Nenene nicht im vierten da iss keine Priesterin es sei denn, ich kenn eine
gekuerzte Fassung..

Aber im dritten ist eine ;)

Atoz steht dazu, dass er zu den verrueckten gehoert ;)


PS KLINGONENSCHIFF??? Frechheit ;))))

-----------------------------------------------------------------------------



Re^5: Musikquiz (Grimmborn, 19. Dez 1996, 18:03:06):
~#! rn=Atoz rt=851014720 rg=puiz
~#! tid=850905089
Sag nichts gegen Klingonen, es gibt Depperte, die nehmen das ganze mit
Raumschiff Enterprise ziemlich ernst! Ich kenne sogar einen, der hat einen
Nutellaner-Ohrring (oder so), da darf man keine Witze drueber machen!

Grimmborn der Atheist tritt fuer die Gefuehle von Verruekten ein

-----------------------------------------------------------------------------



T'Pau (Li, 20. Dez 1996, 11:14:31):
Also schon dumm ,wenn der Fragesteller berichtigt wird. Und da es jetzt
sowieso in der Zeitung stand, keonnt ihr Frage 9 schon mal vergessen: T'Pau
bena<+
nnten sich nach der Hohepriesterin...
Li

-----------------------------------------------------------------------------



Re^7: Musikquiz (Pampers, 20. Dez 1996, 13:52:59):
~#! rn=Acrimon rt=851019488 rg=puiz
~#! tid=850905089
Das hat mit dem Woertchen Toleranz zu tun.

Pampers. Der sich immer wieder wundert, wieviele es gibt, fuer die das ein
unbekanntes Wort ist.

-----------------------------------------------------------------------------



Re^8: Musikquiz (Grimmborn, 20. Dez 1996, 14:10:05):
~#! rn=Pampers rt=851086379 rg=puiz
~#! tid=850905089
Nu lass ihn doch, ich find ihn suess in seinem Eifer.
Und ueberhaupt: Ernst nehmen tut ihn doch eh schon lange keiner mehr, also was
solls? ;-)

Grimmborn der Atheist

-----------------------------------------------------------------------------



Paganini (Hobo, 10. Jan 1997, 15:59:15):

Hat Paganini nicht mal ein Konzert auf der tiefsten Geigensaite
fertiggespielt, als ihm alle anderen Saiten gerissen sind?

Aber ist das ein Trick?


  Hobo (die sich eh nicht auskennt)

-----------------------------------------------------------------------------



Re: Re: jaja (Kretek, 10. Jan 1997, 16:49:20):
~#! rn=Guybrush rt=852905070 rg=puiz
~#! tid=852903666
Komisch, bei mir ist erst der 10.01.1997... Ja, ja, das bloede
Raum-Zeit-Kontinuum... :-)

       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re^6: SF-Quiz (Jimdigriz, 10. Jan 1997, 17:06:29):
~#! rn=Qitess rt=852886699 rg=puiz
~#! tid=852806469

Wie darf ich jetzt Qitess verstehen ? Ironisch ? 

Die koelner Ausstellung (ST The Exhibition) ist eine Beleidigung
fuer jeden, der halbwegs Spass an Star Trek hat. 
Ok vielleicht zu hart, aber hier sind meine Kritikpunkte:
     * Die "Requisiten" waren offensichtlich keine die in einer 
      Folge oder in einem Film jemals verwendet wurden sondern sahen
      eher nach stuemperhaft zusammengleimten plastikloetzen aus.
     (die Kostueme ausgenommen!)
    * "Transporterraum" und "Bruecke" sahen billiger und baufaelliger aus
     aus in TOS jemals
  und IMHO der dickste Hund:

   * Die Romulaner werden vollstaendig rausgelassen.
    Mit keinem Wort erwaehnt, kein Kostuem ausgestellt und keine
   Maske (Masken von jeder Rasse und sogar von Morn, Quark's Dauerbargast 
   sind zu sehen, aber kein Romulaner)
  Ich dachte zuerst ich bin zu bloed, aber ich hab dann noch extra
nachgefragt.

Gut fand ich eigentlich nur die Kostueme, aber Klamotten auf Dauer is
auch nicht sooo interesannt. 
 Fuer 7,50 (f. Studis) zuwenig.
 Schade eigentlich.

So das gehoert eigentlich nicht hierher, Grimmborn kanns
 verlegen, loeschen oder lassen...

Gruesse,
 Jim DiGriz

-----------------------------------------------------------------------------



Re^7: SF-Quiz (Atoz, 10. Jan 1997, 18:55:05):
~#! rn=Jimdigriz rt=852912389 rg=puiz
~#! tid=852806469
Hah, endlich mal jemand, der nicht 'restlos begeistert' ist!

Ich dachte schon ich waere alleine auf der Welt ;) . 
Und zu den Kostuemen kann ich nur sagen:

Gut gemacht waren sie schon, aber dass da wirklich die Schauspieler
dringesteckt haben sollen, halte ich fuer ein Geruecht. In das Kirk Kostuem
haette Shatner nicht mal mit einem Bein reingepasst, geschweige denn ganz. (Es
sei denn, der Anzug ist voll dehnbar auf sein doppeltes Volumen, dann
vielleicht ;)

Tschau Atoz

PS Ein Quiz zu ST? immer her damit, auch wenn ich nicht halbsoviel weiss, wie
ich gerne taete ;))))

-----------------------------------------------------------------------------



ST Quiz (Jimdigriz, 11. Jan 1997, 01:59:55):
Hi,

ok ich werd mir also mal die Muehe machen und
coole Fragen raussuchen. Vermutlich sind auch einige
Teilnehmer dabei, dies besser wissen als ich ;-}
Kann aber noch 2 wochen dauern :( ich hab viel stress zZ.

Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Re^5: Brockhaus-Kalender (Acrimon, 11. Jan 1997, 02:22:31):
~#! rn=Cauno rt=852895527 rg=puiz
~#! tid=852544867
Paganini:
Paganini war Anfang des 19. Jahrhunderts ein sehr beruehmter Violinvirtuose.
Teufelsgeiger? Glaub ich nicht.

Cyberspace, Computerwelten, VR: wozu ist das gut?
Schwere Frage, ich bin ja selbst suechtig aufs MG.
Es hat schon einigen Schaden angerichtet.
Positiv: Man kann entspannen, abtauchen, phantasieren .
Man kann gefahrlos Verhaltensweisen und vieles Andere austesten, um es RL
besser machen zu koennen.
Man kann die Gesinnung anderer Leute erkennen (sofern sie sich nicht
verstellen), ohne von Aeuszerlichkeiten und Hemmungen abgelenkt oder gehindert
zu werden.
Und die Konversation wird wesentlich gefoerdert.
Negativ: Es droht die Suchtgefahr.
Bei unverantwortlichen Anbietern besteht die Gefahr der heimlichen und
unerkannten Manipulierung.
Es besteht die Moeglichkeit, zu eigenen Gunsten manipulierte Welten aufzubauen
und dann Parallelen zur Realitaet zu ziehen.
In den mir bekannten Muds wird das zum Glueck nicht gemacht, aber ich fuerchte
schon die erste Sekte, die dieses Mittel entdeckt.

Fazit: Grosze Moeglichkeiten und genauso grosze Gefahr.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^8: SF-Quiz (Smurf, 11. Jan 1997, 17:26:04):
~#! rn=Atoz rt=852918905 rg=puiz
~#! tid=852806469
Hmm, vor 20 Jahren war Shatner _etwas_ duenner als heutzutage...

-----------------------------------------------------------------------------



Re^7: SF-Quiz (Qitess, 13. Jan 1997, 12:05:36):
~#! rn=Jimdigriz rt=852912389 rg=puiz
~#! tid=852806469
ich stimme zu, dass es eindeutig zu teuer war, aber du sagst auch schon ganz
richtig, dass die klamotten am besten waren, aber vielleicht war es genau das,
was mich interessiert und am meisten interessiert.
im uebrigen ist es wirklich nur fuer fans, denn ein normal sterblicher hat da
garantiert noch weniger von, und ausserdem ist es schliesslich geschmacksache,
gell ? 

qi - fand es zum besipiel auch mal interessant alleine die *masstaebe* zu
sehen.


-----------------------------------------------------------------------------



Re^6: Brockhaus-Kalender (Kretek, 13. Jan 1997, 12:39:01):
~#! rn=Cauno rt=853150089 rg=puiz
~#! tid=852544867
Die Fruchtfliege. Allerdings nur in Relation zur Koerpergroesse...


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re^8: SF-Quiz (Grimmborn, 21. Jan 1997, 20:06:53):
~#! rn=Hood rt=853872402 rg=puiz
~#! tid=852806469
*seufz* Nein, keiner kann wissen was in 100 Jahren moeglich sein wird.
Aber man kann doch vermuten, dass Naturgesetze auch dann noch gelten. Und hier
gehts um Naturgesetze.
Natuerlich haben die auch nur Gueltigkeit bei Annahme bestimmter Dinge, auf
denen die gesamte (Natur)Wissenschaft fusst. Ich meine da beispielsweise das
"Aktualitaetsprinzip", das besagt, dass alle Naturgesetze, so wie sie uns
zugaenglich und erschliessbar sind, zu allen Zeiten und an allen Orten
gegolten haben und gelten werden.

Wenn Du das anzweifelst ist das Dein gutes Recht, und kein ernsthafter
Naturwissenschaftler wird Dir das Recht absprechen. Aber dann ist keine
Diskussion mehr moeglich wegen fehlender Diskussionsgrundlage.

Am besten Du gehst dann zu den Zeugen Jehovas, die haben da ein faible fuer.
Die bestreiten naemlich auch diverse unbeweisbare, aber vernuenftige Annahmen
um ihre Weltsicht zu untermauern (Beispiel Schoepfung).
Aber mit science (fiction) hat das nichts, aber auch gar nichts mehr zu tun.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^9: SF-Quiz (Hood, 21. Jan 1997, 20:18:36):
~#! rn=Grimmborn rt=853873613 rg=puiz
~#! tid=852806469
nicht das wir uns jetzt missverstehen...ich bin bestimmt der letzte der
irgendwas von ufo's und ueberlichtgeschwindigkeit faselt und dann darauf
besteht. ich hab da auch 0 ahnung von, aber es ist nun mal ne tatsache, das
auch in der vergangenheit schon genug unveraenderliche naturgesetze von
selbsternannten naturwissenschaftlern postulliert wurden, welche heute nur
noch muede belaechelt werden und mal so eben als nette zwischendurchge-
schichte im physikunterricht der schule drankommen, sodass mal alle laut
lachen duerfen. ich glaub nicht, das die menschheit schon so weit ist, auf
ihre naturgesetze bestehen zu duerfen.
ja, ich weiss, ihre naturgesetze klingt jetzt in vielen ohren reichlich
seltsam, es sind nun mal die naturgesetze, aber ich bin fest ueberzeugt, das
sich dort, so wie auch in der vergangenheit, noch viele sachen aendern
werden bzw. das wir die dinge anders beurteilen/sehen werden

------
patryn

-----------------------------------------------------------------------------



Re^10: SF-Quiz (Grimmborn, 21. Jan 1997, 20:22:29):
~#! rn=Hood rt=853874316 rg=puiz
~#! tid=852806469
Vermutlich bin ich vermessen, aber ja, ich glaube schon dass die Naturgesetze,
die wir heute haben, ziemlich das Gelbe von Ei sind. Groessere Ueberraschungen
duerften auf DEM Gebiet nicht zu erwarten sein, dafuer sind einfach die
experimentellen Methoden zu umfassend, und die Mathematik (an denen die jungs
frueher oft gescheitert sind) ist auch nicht mehr das Problem.

Ich versteh die Aufregung nicht: Science Fiction kann nette Unterhaltung sein,
richtig gute Literatur (Stanislaw Lem) oder Schund (das allermeiste...), aber
es sind phantastische Geschichten, die sich mit dem "was waere, wenn..."
beschaeftigen. Reicht das nicht? Wer dem ein wissenschaftliches Maentelchen
umhaengen will macht sich (wenn es nicht auch eine "Phantasiewissenschaft"
ist) doch nur laecherlich.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^9: SF-Quiz (Wurzel, 21. Jan 1997, 20:22:46):
~#! rn=Grimmborn rt=853873613 rg=puiz
~#! tid=852806469
kein ernstzunehmender mensch wuerde behaupten wollen, dass wir alles
verstehen. wir sind im gegenteil noch unglaublich weit davon entfernt, auch
nur einen messbaren teil der gesamten natur zu begreifen. nur in ausschnitten
und unter bestimmten randbedingungen haben wir uns ein verstaendnis
erworben. dazu gehoert die sache mit der lichtgeschwindigkeit, die ist
mittlerweile allgemein als korrekt anerkannt, da es so zahlreiche beweise
aus den unterschiedlichsten experimenten dafuer gibt, dass es nahezu
unmoeglich waere, diese ergebnisse anders zu deuten.

alle paar jahre kommt jemand auf die idee, es koennte ja auch anders sein.
wenn es einigermassen begruendet aussieht, setzt ein kurzer (!) wettlauf ein,
bis sein denkfehler gefunden ist... meist geht das recht schnell.

mit der zeitreise ist es nicht ganz so, das hat mit wissenschaftlichen
methoden fast nichts zu tun. man muesste auch erstmal den zweiten hauptsatz
der thermodynamik wiederlegen, und das traut sich wohl niemand zu :)

wurzel

-----------------------------------------------------------------------------



Re^11: SF-Quiz (Hood, 21. Jan 1997, 20:25:47):
~#! rn=Grimmborn rt=853874549 rg=puiz
~#! tid=852806469
ich hab mit der sciFi-diskusion eigentlich recht wenig zu tun, fuer mich sind
das auch nur nette maerchen: no problem!
aber ich finde es mehr als vermessen, unseren heutigen wissensstand als das
ultimative non-plus-ultra abzustempeln. ich denk mal, die zeit wird mir
recht geben, auch wenn ich da eigenlich nu nicht so viel wert drauf lege ;)

------
patryn

-----------------------------------------------------------------------------



Re^8: SF-Quiz (Engywuck, 21. Jan 1997, 20:34:10):
~#! rn=Tasha rt=853870964 rg=puiz
~#! tid=852806469
Verwundert mich nicht, Du bist ja auch Jurist ;))

Engy*

-----------------------------------------------------------------------------



Re^11: SF-Quiz (Socrate, 21. Jan 1997, 20:38:04):
~#! rn=Grimmborn rt=853874549 rg=puiz
~#! tid=852806469
Tach auch!
Oh Grimmborn, da hast du aber tief reingegriffen. Den Wissenschaftlern ist
heute ihre Unzulnglichkeit bewut wie nie zuvor. Daher geht es auch kaum noch
darum die Wahrheit ueber die Natur heraus zu finden, sondern das Interesse
gilt vielmehr der berlegung wieso es sich so verhlt, dass die meisten Gesetze
zwar in unserer Umwelt zwar scheinbar zutreffen, aber letztendlich nicht zu
beweisen sind, oder sich selber widersprechen; Bsp Teilchen-Welle-Dualismus.
Als Lekure ueber die Willkuerlichkeit und Kontingenz der Wissenschaft empfehle
ich Paul Feyerabend.
Socrate 

-----------------------------------------------------------------------------



Re^9: SF-Quiz (Kobayashi, 21. Jan 1997, 20:39:56):
~#! rn=Engywuck rt=853875250 rg=puiz
~#! tid=852806469
Mit der Reise schneller als das l=Licht ist es so eine Sache. In StarTrek
wird dazu eine sogenannte Warp-Blase erzeugt, also ein Stueck "Normalraum"
wird um das Schiff gehalten. Dort sind die Narturgesetze weiterhin gueltig.
Was ausserhalb passiert kann keiner sagen, da soetwas halt nicht beobachtet
werden kann. Man hat sich also geschickt aus der Affaere gezogen. Mal
abgesehen davon, das in StarTrek das Aristotelische, Newtonsche und
Einsteinsche Universum beliebig vermischt werden.

Kobayashi

-----------------------------------------------------------------------------



Re^8: SF-Quiz (Nasim, 21. Jan 1997, 20:44:16):
~#! rn=Hood rt=853872402 rg=puiz
~#! tid=852806469
Genau, und wenn Wesley Crusher (die.die.die) erstmal am Zug ist ...

Nasim, gut gelaunt labernd.

-----------------------------------------------------------------------------



Re^12: SF-Quiz (Hood, 21. Jan 1997, 20:44:57):
~#! rn=Socrate rt=853875484 rg=puiz
~#! tid=852806469
das ist das problem welches ich meinte. die uns bekannten naturgesetze moegen
in dem uns derzeit zugaenglichem wahrnehmungsspektrum zutreffen: sie muessen
zukuenftigen neuentdeckungen keinesfalls wiedersprechen, sind aber
wahrscheinlich nur laecherlichste modelle/verallgemeinerung 'zukuenftiger'
naturgesetze.
wo grimmborn mal die apfel-baum geschichte zum sprechen brachte: der apfel
viele immer vom baum....
wirklich? was wissen wir bisher von gravitonen(wellen?), raumkruemmung ist
wohl auch theoretisch moeglich, alles begriffe herkoemmlicher physikbuecher
...vor 100 jahren haette sich keiner nen kopp drueber gemacht, da galt nunmal
das gesetz von newton und der apfel hat nach unten zu fallen. des gesetz
gilt auch bei obig erwaehntem, aber dann schlaegt das problem zu, das
auch dieses gesetz nur eine modellvorstellung in diesem
wahrnehmbartkeitsspektrium darstellt...

...nun ja, evtl. hat jemand kapiert was ich meinte ;)

------
patryn

-----------------------------------------------------------------------------



Re^12: SF-Quiz (Grimmborn, 21. Jan 1997, 20:49:37):
~#! rn=Socrate rt=853875484 rg=puiz
~#! tid=852806469
Vielleicht bin ich nicht deutlich genug. Ich rede von NATURGESETZEN. Es geht
nicht drum ob man Gravitation moeglicherweise beherrschen kann oder nicht, es
geht darum dass Gravitation mit den Eigenschaften, wie wir sie verstehen (und
da verstehen wir in dem Beispiel wenig genug) auch in 150 oder auch in 150 000
Jahren gueltig ist. Und diese Dinge hat man meines Wissens ziemlch gut im
Griff.
Da gehts nicht um ein "warum", lediglich um ein "wie". Und eins der Gesetze
ist, es geht nicht schneller als Lichtgeschwindigkeit.
Und wer denkt das koenne man nich twissen weil man von solchen
Geschwindigkeiten zu weit entfernt sei soll sich mal mit einem
Teilchenphysiker unterhalten, die Teilchen fleigen deutlich schneller als mit
99% c.

Grimmborn der Atheist. Und Schluss.

-----------------------------------------------------------------------------



Re^13: SF-Quiz (Wurzel, 21. Jan 1997, 20:52:31):
~#! rn=Hood rt=853875897 rg=puiz
~#! tid=852806469
voellig klar, patryn. der wesentliche aspekt bei der sache ist aber der:
der apfel faellt in richtung des gravitationsvektors. und das wird auch immer
so bleiben, das ist unumstoesslich.

eben ein naturgesetz :)

wurzel

-----------------------------------------------------------------------------



Re^13: SF-Quiz (Hood, 21. Jan 1997, 20:53:41):
~#! rn=Grimmborn rt=853876177 rg=puiz
~#! tid=852806469
des es nicht schneller als mit lichtgeschwindigkeit geht, muss trotzdem nicht
heissen, das wir nicht einen anderen ort in einer zeit erreichen koennen,
fuer welche bei linearer fortbewegung rein theoretisch ueberlichtgeschwindig-
keit noetig waer.
es hat mich jetzt sicher wieder niemand verstanden, aber evtl. ist unser
raum-zeit-kontinuum (auch ein rein physikalischer begriff) etwas komplizierter
aufgebaut als wir heut glauebn.

------
patryn

-----------------------------------------------------------------------------



Re^14: SF-Quiz (Hood, 21. Jan 1997, 20:54:13):
~#! rn=Wurzel rt=853876351 rg=puiz
~#! tid=852806469
ich muss dir wohl leider recht geben :)

------
patryn

-----------------------------------------------------------------------------



Re^14: SF-Quiz (Acrimon, 21. Jan 1997, 21:16:48):
~#! rn=Hood rt=853876421 rg=puiz
~#! tid=852806469
Nun, ist Euch eigentlich die Raumdilatation und Zeitdilatation ein Begriff?
Das bedeutet: Je naeher man sich an die Lichtgeschwindigkeit annaehert, desto
langsamer vergeht die Zeit (Zeitdilatation) und desto kuerzer (in
Bewegungsrichtung) wird man (Raumdilatation).
Das mit der Raumdilatation hab ich selbst noch nicht 100%ig verstanden, das
mit der Zeitdilatation aber schon.
Bei Gamma-Faktor 2 (was ungefaehr 0,9 c entspricht) vergeht die Zeit also halb
so schnell wie bei langsamer Bewegung.
Wenn ihr also mit 0,9 c zum Fomalhaut-System fliegt (ca 20 Lichtjahre
entfernt), dann benoetigt ihr 20 / 0,9 / 2 Jahre = ca. 11,1 Jahre.
(Das ist jedenfalls die Zeit, die Ihr waehrend dem Flug empfindet).
Wenn ihr dann wieder zurueckgefliegt, dann braucht ihr nochmal 11,1 Jahre.
Von der Erde (oder einem anderen _halbwegs_ statischen Punkt) aus betrachtet
benoetigt Euer Raumschiff fuer den Hinflug jedoch 20 / 0,9 Jahre = 22,2 Jahre
(fuer den Rueckflug dann nochmal).
Wenn ihr also auf der Erde ankommt, sind auf der Erde 44,4 Jahre vergammen,
obwohl ihr nur 22,2 Jahre aelter geworden seid.

Aus dem subjektiven Standpunkt ist es also moeglich, in einem Jahr eine
Strecke von 10 Lichtjahren zurueckzulegen oder gar nur ein paar Tage fuer 10
Lichtjahre zu benoetigen (dann wohl mit der Geschwindigkeit eines
dreistelligen Gammafaktors).
Dann bleibt jedoch das Problem mit der Raumdilatation und der gewaltigen
Beschleunigung, um auf diese Geschwindigkeit zu kommen. Nebenwirkungen sind zu
erwarten.
Acrimon, der Rote Ritter rezitiert Physik.

-----------------------------------------------------------------------------



Re^3: SF-Quiz (Maso, 22. Jan 1997, 01:46:50):
~#! rn=Cauno rt=853847817 rg=puiz
~#! tid=852806469
Zu 25:

In der TNG-Folge "Parallels" waren deutlich mehr als
8 Enterprises zu sehen. :-)

           Maso.


-----------------------------------------------------------------------------



Re^11: Brockhaus-Kalender (Cauno, 22. Jan 1997, 12:16:54):
~#! rn=Cauno rt=853847661 rg=puiz
~#! tid=852544867
18./19.01. [Wurde auch Zeit!]
           Wann debattierte das britische Parlament erstmals ueber UFOs?

Am 18. Januar 1979 um 19 Uhr 7 eroeffnete der Earl of Clancarty im 
britischen Oberhaus die erste Aussprache ueber *Unidentified Flying 
Objects*, kurz UFOs. Aktueller Anlass waren Beobachtungen in England, 
Italien und Neuseeland, die alle im Dezember 1978 gemacht worden waren. 
Lord Clancarty forderte in der dreistuendigen Debatte die Regierung auf, 
sich fuer eine internationale UFO-Studie einzusetzen. Lord Strabolgi 
hielt dagegen: "Nichts kann die Regierung davon ueberzeugen, dass jemals 
auch nur ein einziges Raumschiff aus dem All die Erde besucht hat." 
Soweit - und vorlaeufig - der offizielle britische Standpunkt.


20.01. Manch einer kommt nie auf einen gruenen Zweig.
       Warum ist das eigentlich so?

Die Redewendung "auf keinen gruenen Zweig kommen" geht zurueck auf einen 
alten *Rechtsbrauch*. Frueher erhielt derjenige, der ein Grundstueck 
erworben hatte, einen gruenen Zweig ueberreicht. Wer sich also keine 
Immobilien leisten konnte, kam nie zu einem gruenen Zweig. Und das hat 
sich, wenn man die heutigen Mietpreise bedenkt, kaum geaendert ...



21.01. In welchem Bundesstaat der USA wurde der englische Sagenheld
       Robin Hood unamerikanischer Umtriebe verdaechtigt?

In *Indiana*, und zwar im Jahre 1950.
Per gesetzlichem Beschluss wurden alle Buecher ueber Robin Hood aus dem 
Handel gezogen und aus den Bibliotheken entfernt. Das Thema der Buecher - 
das Ausrauben Reicher zugunsten Armer - wurde als kommunistische 
Propagande betrachtet. Und ein solcher Verdacht kam in der Zeit des 
verschaerften Kalten Krieges und der Untersuchungsausschuesse des 
"Kommunistenjaegers" Senator McCarthy sehr leicht auf ...


22.01. Nach wem benannte der Autor Ian Flaming seinen Romanhelden James Bond?


-----------------------------------------------------------------------------



antworten (Gralkor, 23. Jan 1997, 11:23:37):
Frage 1:
Wie heissen die drei klingonischen Gegenspieler in der klassischen Serie???

Antwort: Kor, Koloth, und Kang
haben alle, die mitgemacht haben RICHTIG beantwortet :-)

Frage 2:
Wer spielte Cpt. Christopher Pike in der ersten Pilotfolge, und wann wurde sie
gesendet?

Antwort: Jeffrey Hunter
         sie wurde zwar 1964 fertiggestellt, aber erst 1984(auf Forderungen
der Fans)
         gesendet. 
Sie wurde aber zur Doppelfolge" the menagerie"( im deutschen Talos IV-tabu)
verarbeitet, und im Rahmen der ersten Staffel am 17.11 un 24.11 1966
ausgestrahlt
Wieder nur richtige Antworten

Frage 3:
Welcher Charakter wurde aus DIESER Folge uebernommen ????

Antwort:
DAS ist eigentlich schon fast Allgemeinwissen!!!!!!
Spock, who else ?????
auch alle richtig beantwortet

Frage 4: Von wann bis wann dauerten die eugenischen Kriege ????
Antwort: 1993- 1996, obwohl Khan bereits 1992 an die Macht kam
Das einer der Punkte wo ICH froh, bin, dass sich die Macher von ST irrten!
Trotzdem kann ich auch diese Frage als richtig beantwortet werten!

Frage 5:
Zu welcher Klasse gehoert der klingonische Kreuzer Bortas???
Antwort: K' Vorth, obwohl in einigen Buechern die neue Raubvogelklasse(Bird of
Prey) auch als Vor' Cha bezeichnet wird.
alle, die teilgenommen haben, habeb diese Frage richtig beantwortet

Frage 6:
Welches war des erste von Jean- Luc Picard als Captain kommandierte Schiff??

Antwort:
USS Stargazer NCC- 2893
Das Schiff wussten alle, jedoch irrten ALLE Teilnehmer bei der Reg.nr.

Frage 7:
Welche Rollen spielte Majel Barrett in Star Trek?
Dort ist mir ein Fehler unterlaufen, es waren nicht 2 sondern 3 (war
gluecklicherweise nur ein Typo )

Antwort:
Nummer 1 in "the Cage", dem ersten Pilotfilm
Schwester Christine Chapel in der klassischen Serie
Lwaxana Troi in TNG sowie DS9

Auch hier nur richtige Antworten!

Frage 8:
Welche Schauspieler sollten die Rolle des Cpt James T. Kirk bekommen ???

Antwort:
Jack Lord
Lloyd Bridges
William Shatner(er bekam sie schliesslich auch)

Leider haben alle Teilnehmer bloss William Shatner nennen koennen :-(
War sie wirklich soooo schwer ??????

Frage 9:
Was bedeutet die ABkuerzung M/ARKo ????

Antwort: Materie/AntimateRie Konverter
(Warpkern)
Auch hier nur richtige Antworten!

Frage 10:
Welcher peinliche Fehler passierte in Star Trek II- Der Zorn des Khan ????

Antwort:
Chekov wird von Khan mit den Worten "ich vergesse nie ein Gesicht" begruesst,
obwohl die Folge "Space Seed", wo Khan von der Enterprise gefunden wurde,
bereits in der ersten Staffel gesendet wurde, jedoch Chekov erst in der 
zweiten Staffel dazu kam!

Antwort: 2x richtig

Also kann man sagen alle Teinehmer (CauNo un Jimdigriz) haben gleich-
viel gewusst, obwohl CauNo nur 10 min nach der Veroeffentlichung
die Antworten praesentiert hat.
Damit kroene ich IHN zum Sieger!

Gralkor

PS: loescht mal eure alten Artikel in PUIZ!!!!!!!!!

-----------------------------------------------------------------------------



Re: antworten (Rumata, 23. Jan 1997, 12:59:03):
~#! rn=Gralkor rt=854015017 rg=puiz
~#! tid=854015017
Zu 7.
Majel Barrett hat auch die Computerstimme der Entrprise in TNG gesprochen.

RUmata

-----------------------------------------------------------------------------



ja abba (Gralkor, 23. Jan 1997, 16:15:16):
DAS ist richtig, aber ich fragte nach Rollen!
Im Original koennte man das ja noch so stehen lassen, aber im Deutschen wurde
das auch synchronisiert.
Majel Barrett, die Witwe des leider VIEL zu frueh verstorbenen Gene
Rodenberry, hatte auch schon fuer die klassische Serie den Compi gemiemt, aber
da kann man sie ja nicht sehen !!!!!!!!!

Gralkor, ueberall rummaekelnd

-----------------------------------------------------------------------------



Nochn puiz (Flora, 27. Jan 1997, 10:11:55):
Hallo, allerseits,

nachdem hier in der letzten Zeit die verschiedensten Puizze gepostet    
wurden, will ich auch mal eins von mir geben: Melodien erkennen. Mit
den bescheidenen Mitteln des Zeichensatzes hab ich hier ein paar
Anfaenge von Musikstuecken eingegeben; ich denke, dass alle die, die   
generell Noten lesen koennen, den Kram mehr oder weniger entziffern
koennen duerften. Taktangaben hab ich (meist aus Platzgruenden) keine
gemacht; ihr koennt schliesslich zaehlen. Vorzeichen stehen dabei; wo
nix anderes angegeben ist, muesst ihr Euch einen Violinschluessel vor
die Notenzeile denken.  

Also, bitte findet fuer jedes Notenbeispiel Titel und Komponisten raus.
Loesungen per MGmail an mich (Flora).

Preise gibt's natuerlich auch:
       
 1. Preis : 7920 Muenzen
 2. Preis : 1 Stueck Schwarzwaelder Kirschtorte
 3. Preis : 1 kostenlose Segnung von mir :)

Als Einsendeschluss setzen wir doch einfach mal Sonntag den 2.Februar 
(Murmeltiertag!) fest. Denn man tau!


Nr. 1
-----------------------+--------|---------------+--------------|--------
                       |        |         ____  |              |\    |
--------|--------------+--------|--(X)---|----|-+--------------|-|---|--
        |    |     |   |        |  |     |    | | (X)     .    |     |
b--|----|----|-----|\--+-(X)----|--|-----|----|-+-|----(X)-----|-----|--
   |    |    |     | | | |    (X)  |     |    | | |    |     (X)     |
---|----|----|-----|---+-|---------|---(X)--(X)-+-|----|---------#-(X)--
   |  (X)    |.    |   | |         |            | |    |
---|-------(X)---(X)---+-|----------------------+-|----|----------------
 (X)                     |                             |

                       
Nr. 2 (hier stehen die Noten im Bassschluessel)
      -(X)-           -(X)-
       |               |   (X)           ______________   _______
-------|---------------|---|-------+----/.-----------+-\-/-------\-----
       |               |   |       |  ( )            | ( )       (X)
-------|---------------|---|-------+--|--------------+-|---------|-----
 b     |   (X) |_      |   |       |  |              | |         |
---b---|---|---|_|-(X)-|---|---(X)-+--|--------------+-|---------|-|---
     b |   |     | |   |   |   |   |  |              | |         |/
b------|---|-------|---|---|---|---+--|--------------+-|---------|-----
  b    |___|_______|___|___|___|   |                 |
----b------------------------------+-----------------+-----------------
       

       
Nr. 3
----------------+----------------------+----------------
 b              |                      |    ___     |
---b--|------__-+----________________--+---|---|----|\--
      |\    __/ |   |    |---|---|---| |   |   |    | |
b-----|-|----/--+---|----|---|---|---|-+---|---|----|---
  b   |\    /   |   |    |   |   |   | |   | (X)  (X)
------|-|-------+---|----|---|---|---|-+---|------------
      |         |   |    |   |   | (X) |   |
----(X)---------+-(X)----|---|-(X)-----+-(X)------------
                         | (X)
                      -(X)-
 
Nr. 4 (Hier hat's nen Violin- und nen Bassschluessel)      |     |
------+---------------------+---------------|---+-----|----|-----|\--
      |                     |    |     |    |\  |     |\   |     | |
------+---------------------+----|-----|----|-|-+-----|-|--|-----|---
      |                     |    |     |    |   |     |    |     |
------+---------------------+----|-----|----|---+-----|--(X)---(X)---
      |                     |    |.    |  (X)   | # (X)    \___/
------+---------------------+-#(X)---(X)--------+--------------------
      |                     |    \___/          |
------+---------------------+-----.-------------+|_----.-------------
      |      ____           | #( )              ||_|(X)        (X)
      |     /.   \          |  |                |  || \_______/|
      |   (X)    (X)        |  |                |   |          | |  
      |  -|---  -|--- -(X)- |  |                |   |          |/
      |   |      |     |    |                   |   |          |  
      |  -|---  -|--- -|--- |     .             |
      |   |      |     | |  |  ( )              |      ________ 
-(X)--+---|------|-----|/---+--|----------------+-----/--------\-----
 |    |                |    |  |  .             | # (X)        (X)
-|----+---------------------+--( )--------------+---|----------|-----
 | |  |                     |  |                |   (X)        (X)
-|/---+---------------------+--|----------------+---|-\_______/|-----
 |    |                     |  |                |   |          | |  
------+---------------------+-------------------+---|----------|/----
      |                     |                   |   |          |  
------+---------------------+-------------------+--------------------
      

 
Nr. 5        ____
  #         /    \
#--------------+-----------__------|-+-----------------+-------------
          (  ) | (X)      /  \     | |                 |
---#------|----+-|---(X)------3----|-+-----------------+-------------
 #     |  |    | |   |   (X)    \  | |        ___________
-------|--|----+-|---|---|---(X)---|-+-|_----/---------+-\-----------
    #  |  |    | |   |   |   |   (X) | |_| ( )         | ( )
-------|-------+-----|---|---|-------+---|-------------+-------------
     ( )       |         |   |       |                 |
---------------+-------------|-------+-----------------+-------------
  

          
Nr. 6
------+------------------------(X)-+-(X)------------------
      |   |                (X) |   | |   (X) (X)        |
------+---|-----------(X)--|---|---+-|---|---|----------|-  
      |   |      (X)  |    |   |   | |   |   |   (X)    |
----|-+---|--(X)-|----|----|---|---+-|---|---|---|------|-
    | | (X)  |   |    |    |___|   | |___|   |   |    (X)
----|-+------|---|----|------------+---------|___|--------
    | |      |   |                 |
--(X)-+------|___|-----------------+----------------------


      
Nr. 7       _____               _____
-------+---|--|--|-------------|--|--|-----------+-----------------
 b     |   |  |  |    _____    |  |  |    _____  |
----|--+---|--|--|---|--|--|---|--|--|---|--|--|-+------------|----
    |\ |   |  |  |   |  |  |   |  |  |   |  |  | | (X)   (X)  |\
b---|-|+-(X)--|(X)---|--|(X)-(X)--|(X)---|--|(X)-+-|--(X)|----|-|--
    |  |    (X)      |  |       (X)      |  |    | |  |  |    |
----|--+-------------|--|----------------|--|----+-|--|--|----|----
  (X)  |             |(X)                |(X)    | |  |  |  (X)
-------+-------------|-------------------|-------+-|__|__|---------
                   (X)                 (X)

 
Nr. 8
    
#------------------------+---------|--------
     |    |              |    |    |
-----|----|---|----------+----|----|--------
     |    |   |   |      |    |    |
-----|----|---|---|---|--+----|----|--( )---
     |    |   |   |   |  |    |  ( )  |   
---( )--(X)---|---|---|--+--( )-------|-----
            (X)   |   |  |            |
----------------(X)---|--+------------|-----
                    (X)               |

     
Nr. 9                     ___
                         /   \
#----|-----------------(X)-+-(X)-------------------------+------
     |             (X) |   | |                           |
-----|-(X)-----(X)-|---|---+-|---(X)-(X)-----(X)--------___-----
 #   | |   (X) |   |   |   | |   |   |   (X) |   (X)   / | \                 
$
-----|-|---|---|---|---|---+-|---|---|---|---|---|---(X)-+-(X)--
   (X) |   |___|___|___|   | |   |   |   |   |   |   |   | |
-------|-------------------+-----|---|---|---|---|---|---+-|----
       |                   |     |___|   |___|___|___|   | |
---------------------------+-----------------------------+-|----
                                                           |

     
Nr. 10
------+--------------------+-----------------+---------------|-+---|--
      |                    |                 |               | |   |
------+--------------------+-----------------+---------------|-+---|--
      |                  | |   |           | |               | |   |
b-----+------------------|-+---|-----------|-+---|------|----|-+---|--
    | |   |     |        | |   |           | |   |      |  (X) | ( )
----|-+---|-----|--------|-+---|-----------|-+---|------|----\___/----
    | |   |     |        | |   |.          | |   |      |      |
----|-+---|-----|----b-(X)-+-( )-------b-(X)-+---|------|------+------
    |     |     |        \___/                 ( )    (X)
 -(X)- -(X)- -( )-
      


-----------------------------------------------------------------------------



PR-Quiz (Li, 27. Jan 1997, 11:40:35):
P.R.-Quiz

Da nun alle ueber Perry Rhodan schreiben, hier mal gleich ein kleines 
Quiz.
Ich beziehe mich nur auf die Heftreihe bis Band 1500.

1)  Wer ist der aelteste lebende Terraner?
2)  Welcher Zusammenhang besteht zwischen der Figur des Atlan und der 
    Sage von Atlantis?
3)  Wer war/waren der/die Planer des SCHWARMs?
4)  Mit welchen Waffen kaempften Atlan und Perry im Venusmuseum?
5)  Wie hiess der falsche Ritter der Tiefe?
6)  Von welchen Planeten stammen folgende Personen? 
    Lemy Danger, Mory Rhodan-Abro, Auris von Las-Thor, Fancan Teik?
7)  Wieviele "Herren der Strassen" gab es?
8)  Von wem uebernahmen die Terraner den Linearantrieb?
9)  Warum wurde Atlan hinter die Materiequellengebracht?
10) Wer entwarf und baute die BASIS?
11) Wie hiessen die "Meister der Insel"?
12) Welchen Titel trug Atlan als Chef der USO?
13) In welcher Galaxis war der "Markt der Gehirne"?
14) Nenne 3 Kosmokaten
15) Wie kam das "Konzil der 7" zu seinem Namen, obwohl im doch nur sechs
    Rassen angehoerten? Wer war das 7. Konzils"volk"?
16) Wie entstand, bzw. welcher Wahrheitsgehalt liegt dem Spruch zugrunde:
    "Wenn der letzte Ritter der Tiefe stirbt, erloeschen die Sterne" 
15) Gilt dieser Spruch im Band 1500 noch?
16) Von welchem Volk stammt Dao Lin Hay?
17) Wie hiess der erste Ausserirdische/Extraterrestrier mit dem Perry Rhodan 
    sprach?   
18) Wer gruendete die OGN, die nichtaphilische Untergrundorganisation?
19) In welchem Jahr alter (also unserer) Zeitrechnung wurde die 
    "kosmische Hanse" gegruendet.
20) Aus welchem PR-Heft stammt folgender Ausschnitt?
    Die Kinder wuessten gerne, auf welche Weise eine Pflanze oder ein Tier
    zu ihnen sprechen kann, aber die Erwachsenen halten das nicht fuer 
    moeglich und zwingen ihre Kinder, etwas voellig anderes zu erlernen.        
    Die kinder spueren das Universum in sich pulsieren, aber die Eltern 
    halten das nicht fuer moeglich und zwingen ihre kinder, dieses Gefuehl 
    zu verdraengen.
    "Was fuer eine Tragik", bestetigte ES, "dass die Kinder weiser sind als 
    die Erwachsenen"

So ,ich hoffe, es sind leichte und schwere Fragen dabei, ich hab keine Ahnung, 
ob es zu leicht oder zu schwer ist. Antwortmails an mich.
    

Li

-----------------------------------------------------------------------------



Re: PR-Quiz (Yantro, 27. Jan 1997, 19:39:38):
~#! rn=Li rt=854361635 rg=puiz
~#! tid=854361635

aehm.. ich will ein bisschen Li ergaenzen... die Antworten bitte auch an LI
und nicht an mich.... wenn er nicht weiss, wie die Loesung ist, dann kann er
mich ja fragen...

18) Wie ist der Geburtsname von Altan?
19) Wer ist Yantro Addaura?
20) Nenne die Namen von mind. 3 Ilts.

Yantro, ja ICH.

-----------------------------------------------------------------------------



Re^12: Brockhaus-Kalender (Cauno, 28. Jan 1997, 14:20:36):
~#! rn=Cauno rt=853931814 rg=puiz
~#! tid=852544867
Leider konnte ich seit Do nicht mehr ins MG, daher die neuen Kalenderblaetter
erst hier. Vielleicht findet auf die Weise gleich jeder das fuer ihn
interessante.

22.01. Nach wem benannte der Autor Ian Flaming seinen Romanhelden James Bond?

Der englische Romanschriftsteller Ian Fleming (*1908, +1964) arbeitete 
u.a. im Zweiten Weltkrieg als Assistent des Geheimdienstchefs der 
britischen Marine. Seinen Superagenten 007, den er erstmal 1953 in dem 
Roman "Casino Royale" auftreten liess, bennante er nach dem *Autor seines 
Lieblingsbuches*: "Voegel der Westindischen Inseln", geschrieben von dem 
Naturforscher James Bond.


Und die neuen Fragen sind:

23.01. Was macht es in Tokio so schwer, eine angegebene Adresse zu finden?
       - die Strassennamen
       - die Hausnummern
       - das Strassengewirr?


24.01. Im Laufe der Evolution haben wir - im Gegensatz zu unseren 
       naechsten Verwandten, den Meschenaffen - unsere Behaarung verloren.
       Wie kam es dazu?


25./26.01. In welcher deutschen Stadt gehen prozentual die meisten 
           Zuschauer ins Kino:
           - in Bochum
           - in Freiburg
           - in Muenchen?


27.01. Gehen Fische auch zum Angeln?


28.01. Warum werden Brote beim laengeren Liegen hart und Kekse weich?


C. No

PS: Wenn noch interesse an SF bestehen sollte, arbeite ich an meinem Quiz
weiter.
Aber nur unter der Bedingung, dass es nicht wieder seitenlage Diskussionen
lostritt!

-----------------------------------------------------------------------------



Re^13: Brockhaus-Kalender (Acrimon, 28. Jan 1997, 17:29:14):
~#! rn=Cauno rt=854457636 rg=puiz
~#! tid=852544867
Beweisen die Diskussionen nicht gerade das Interesse an deinem Quiz, Cauno?
:-)

23. 1.: die Strassennamen ?
25. 1.: Muenchen :-)
27. 1.: Ja, aber sie ueberleben es nicht :-)
28. 1.: Brote verlieren Fluessigkeit und Kekse nehmen sie auf.

Acrimon, der Roter Ritter

-----------------------------------------------------------------------------



Re^13: Brockhaus-Kalender (Ratz, 28. Jan 1997, 19:40:38):
~#! rn=Cauno rt=854457636 rg=puiz
~#! tid=852544867
27.1. Es gibt sogenannte Anglerfische. Diese haben vor ihrem Maul an einer Art
Angel einen leuchtenden Punkt, mit dem sie andere Fische anlocken.

-----------------------------------------------------------------------------



Re^14: Brockhaus-Kalender (Grimmborn, 28. Jan 1997, 19:41:39):
~#! rn=Ratz rt=854476838 rg=puiz
~#! tid=852544867
Wennich noch hinzufuege, dass es sich dabei ausnahmslos um Tiefseefische
handelt, bewundert ihr dann alle mein Wissen und meine Eloquenz?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^15: Brockhaus-Kalender (Engywuck, 28. Jan 1997, 19:49:14):
~#! rn=Grimmborn rt=854476899 rg=puiz
~#! tid=852544867
Wenn Du mir jetzt noch erklaerst, was Eloquenz (oder so) ist, dann weiss ich
auch, ob ich das bei Dir bewundern sollte.

Z'par Servu,
               Engywuck der Atheist

-----------------------------------------------------------------------------



Re^13: Brockhaus-Kalender (Cauno, 30. Jan 1997, 10:35:26):
~#! rn=Cauno rt=854457636 rg=puiz
~#! tid=852544867
Ok. Dachte schon, ich gebe mir hier vergebene Liebesmueh [ :-) ]. Wenn bei uns
nicht soviele Stromausfaelle in der letzten Zeit getestet wuerden, ginge es
auch was voran. naja.

23.01. Was macht es in Tokio so schwer, eine angegebene Adresse zu finden?   
       - die Strassennamen
       - die Hausnummern
       - das Strassengewirr?

Die *Hausnummern*.
Die Haeuser werden naemlich nicht entsprechend ihrer Lage in numerischer
Reihenfolge beziffert, sondern entsprechend der Reihenfolge, in der die
Baugenehmigungen erteilt wurden.


24.01. Im Laufe der Evolution haben wir - im Gegensatz zu unseren
       naechsten Verwandten, den Meschenaffen - unsere Behaarung verloren.
       Wie kam es dazu?

Darueber gibt es eine ganze *Menge an Theorien*. Die wahrscheinlichste
geht dvon aus, dass der Verlust der Koerperbehaarung einsetzte, als
unsere Vorfahren zu jagen begannen. Mit der Jagd steigerte sich die
koerperliche Aktivitaet enorm. Durch den Verlust des "Fellmantels" konnte
sich die Anzahl der Schweissdruesen erhoehen. Und die zahlreichen
Schweissdruesen konnten den Koerper weit schneller und effektiver abkuehlen.
Einer anderen Theorie zufolge diente der Verlust der Koerperbehaarung der
besseren Reproduktion der Spezies, die dadurch gewaehrleistet wurde, dass 
der Reiz von Sexualitaet sich angeblich betraechtlich erhoehte. Ob man
dem aus heutiger Sicht zustimmt, haengt wohl davon ab, ob man ein Affe
oder ein Mensch ist.


25./26.01. In welcher deutschen Stadt gehen prozentual die meisten
           Zuschauer ins Kino:
           - in Bochum
           - in Freiburg
           - in Muenchen?

*Freiburg* hat nicht nur begeisterte Fussballanhaenger. In der badischen
Universitaetsstadt werden je Einwohner deutlich mehr Kinokarten pro Jahr
verkauft als in jeder anderen deutschen Stadt: Fast siebenmal geht jeder
Freiburge (Greise, Saeuglinge, Buechewuermer und Videoverleiher
eingerechnet!) pro Jahr ins Kino.
Fuer den Spitzenplatz in der Statistik sorgen die Studenten. Liegt's am
brachliegenden Freiburger Nachtleben, an ueberfuellten Hoersaelen, an
ungeheizten Behausungen?
           
(jaja, so kommt's raus, Anm.)


27.01. Gehen Fische auch zum Angeln?

Nicht alle. Aber die *Anglerfische*, eine Familie der Armflosser mit etwa
200 Arten, tragen ihren Namen zu Recht. Sie haben abgeflachte Koerper,
ein riesenhaftes Maul und locken mit dem ersten Stachelstrahl der
Rueckenflosse kleine Fische an, die sie dann unversehens einsaugen. Die
"Angel" besteht meist aus einem Stiel, an dem ein farbiger Fleischfetzen
haengt, der wie ein Wurm aussieht. Manche schwenken aber auch ein kleines
"Baeumchen" hin und her. In jedem Fall muss die "Angel" im letzten Moment
nach hinten geschwungen weren, damit sie nicht mitverschluckt wird.
Vielleicht haben Sie ja schon einmal einen Anglerfisch verspeist: Die
bekannteste Art ist der Seeteufel, auf franzoesischen Speisekarten
"lotte" genannt.


28.01. Warum werden Brote beim laengeren Liegen hart und Kekse weich?  

Normalerweise hat *Brot* einen Feuchtigkeitsgehalt von ungefaehr 30-40   
Prozent. Wenn Brot etwa 14 Prozent seines Feuchtigkeitsgehalts verliert, 
wird es hart. Das geschieht durch sogenannte "Retrogradation", einen
Prozess, bei dem sich die interne Staerkestruktur veraendert. Dabei  
wandert die Feuchtigkeit nach aussen in die Kruste, die weicher wird,
waehrend die Brotkrume trocken und hart wird. Gewisse Anteile der Staerke
im Mehl kristallisieren und verhaerten das Brot. Hartgebackenes wie
Kekse, Kartoffelchips, Zwieback usw. enthaelt normalerweise nur zwei bis
fuenf Prozent Feuchtigkeit, absorbiert deshalb leicht die Luftfeuchtig-
keit und wird dadurch weich und ungeniessbar.


Da haben ja inzwischen einige Leute Bescheid gewusst. Oder gut geraten? Oder
selber den Kalender gekauft? Oder ... (nicht hauen).
Hier die neuen.

29.01. Ist Mezcal eine Art Tequila?


30.01. Fingernaegel wachsen schneller als Fussnaegel. Warum nur?  


C. No

PS.: Loesche doch mal einer die ersten 50 Artikel, damit hier wieder Platz
fuer die Antworten kommt. Am besten Grimmborn, der hat da ja die meiste
Erfahrung ...

-----------------------------------------------------------------------------



Re^14: Brockhaus-Kalender (Socrate, 30. Jan 1997, 14:38:17):
~#! rn=Cauno rt=854616926 rg=puiz
~#! tid=852544867
Hi,
betreffs welche Stadt  die meisten Kinobesucher hat,  wollte ich nurmal sagen,
dass hier in Muenster im damit gross Werbung gemacht wird, dass Muenster die
Kinostadt Nr.1 mit den meisten Besuchern in Deutschland waere. Ob das stimmt
weiss, ich nicht; ist mir auch egal, es haette aber zumindest gegenueber
Freiburg eine gewisse Logik, da es hier vielmehr Studenten gibt. Ich glaube
Uni und FH zusammenn 60000. Wie auch immer, hat Freiburg mit Sicherheit den
besseren Fussballverein, und das ist wichtiger
Tschoe
Socrate

-----------------------------------------------------------------------------



Re^15: Brockhaus-Kalender (Har, 30. Jan 1997, 14:39:43):
~#! rn=Socrate rt=854631497 rg=puiz
~#! tid=852544867
Also nein, Freiburg, ts ts ts, den schoensten und tollsten Fussballverein hat
Gelsenkirchen!

Har (musstre das mal loswerden)

-----------------------------------------------------------------------------



Re^16: Brockhaus-Kalender (Sidolin, 30. Jan 1997, 15:24:57):
~#! rn=Har rt=854631583 rg=puiz
~#! tid=852544867
Kinderkacke!

Sidolin. Lacht sich tot und singt: "Oh ist das schoen, Euch nie mehr zu
sehn.."
Schalke sucks.

-----------------------------------------------------------------------------



Re^14: Brockhaus-Kalender (Methedras, 30. Jan 1997, 21:20:29):
~#! rn=Cauno rt=854616926 rg=puiz
~#! tid=852544867
Also zumindest ist Mezcal was zu saufen. :) Und zu knabbern... *grins*
Ich habe laeuten hoeren, Mezcal solle ein Tequila sein, aber ob dies
aus berufenem Munde stammt, kann meinereiner nicht beurteilen.
Zumindest ist der braune Tequila aus der blauen Agarve Tequilana
Weber gemacht, wenn ich das jetzt noch richtig weiss... aber Mezcal?
*gruebelgruebelgruebelweiter* :) *& wart auf Aufloesung*

          Methedras - petit mountain & Saeufer

-----------------------------------------------------------------------------



Re^15: Brockhaus-Kalender (Wurzel, 30. Jan 1997, 21:21:48):
~#! rn=Methedras rt=854655629 rg=puiz
~#! tid=852544867
ich kenne da nur mescalin, aber das ist nicht unbedingt was zum saufen :)

wurzel

-----------------------------------------------------------------------------



Mezcal (Bogus, 31. Jan 1997, 09:14:44):
Wenn ich mich recht erinnere habe ich Mezcal letztes Jahr in Mexico
getrunken,soweit ich weiss ist es ein Agarvenschnaps. Schmeckte aber nicht
ganz so toll, ich ziehe da auf jeden Fall einen guten Rum vor (z.B.
venezuelanischen) :))
Bogus

-----------------------------------------------------------------------------



Re^14: Brockhaus-Kalender (Cauno, 31. Jan 1997, 10:42:56):
~#! rn=Cauno rt=854616926 rg=puiz
~#! tid=852544867
War ja irgendwie zu erwarten, dass die Hauptzahl der Antworten sich mit den
Spirituosen beschaeftigt. War noch gar nicht mal so falsch, was da kam. Aber
hier nun genauer -

29.01. Ist Mezcal eine Art Tequila?

Umgekehrt: Jeder Tequila ist Mezcal.
*Mezcal* wird jedes Destillat aus dem Saft saemtlicher Sorten der 
mexikanischen Agave Tequiliana Weber genannt. Der "wahre" Tequila wird 
aus dem Saft einer bestimmten Sorte dieser Agave gewonnen und darf 
eigentlich seinen Namen nur dann tragen, wenn er aus dem mexikanischen 
Staat Jalisco stammt, in dem auch die Stadt Tequila liegt. Sollten Sie 
mal eine Flasche Tequila, pardon: Mezcal mit einem Wurm darin in die Hand 
bekommen, so koennen Sie sicher sein, dass sie aus der Provinz Oaxaca 
kommt. Denn nur dort findet sich der Wurm in den Agaven. Die Bewohner 
Oaxacas schaetzen ihn als Delikatesse und als Aphrodisiakum, d.h. als 
Mittel, das die Liebeskraft steigert.


30.01. Fingernaegel wachsen schneller als Fussnaegel. Warum nur?

Abgerissene *Fingernaegel* brauchen 4 bis 6 Monate, um wieder auf 
Normallaenge zu wachsen, *Fussnaegel* 9 bis 12 Monate. Mehrere Fakten 
ergeben zusammen die Begruendung:
1. Der Kreislauf arbeitet in den Fuessen traeger als in den Haenden.
2. Naegel wachsen im Sommer schneller als im Winter, was auf einen 
Einfluss der Sonnenstrahlung schliessen laesst. Und die wenigsten laufen 
im Sommer staendig barfuss herum.
3. Verletzungen lassen Naegel schneller wachsen, und Fingernaegel sind im 
Alltag Verletzungen eher ausgesetzt als Fussnaegel, erfahren eher, auch 
durch schmerzlose Kontakte, Wachstumsstimulationen.
4. Damit wir schneller an die Pistazien kommen. Und wer schaelt die schon 
mit den Fuessen?


31.01. Warum heben Militaers beim Gruessen die Hand an den Kopf?

Und nochmal danke fuers Platzschaffen, wer immer es war.
C. No

-----------------------------------------------------------------------------



Re^15: Brockhaus-Kalender (Har, 31. Jan 1997, 10:47:09):
~#! rn=Cauno rt=854703776 rg=puiz
~#! tid=852544867
Die Geste des Hand an den kopf heben soll nciht etwas Ach Du kacke bedeuten,
sonder soll eigentlich die leere handinnenflaeche zeigen. Dies soll als
Friedensgeste (bei Militaers) gelten, da man eben zeigt, dass die Waffenhand
leer ist. In einigen Armeen wird auch nocht mit der handinnenflaeche nach
aussen gegruesst.

har (militaerisch)

-----------------------------------------------------------------------------



SF-Quiz III (Cauno, 31. Jan 1997, 10:48:28):
So, hier kommt der versprochene (oder angedrohte) 3. Teil der SF-Fragen. Ich
hab diesmal wieder 20 Stueck zusammengestellt, in der Hoffnung, diesmal wieder
etwas breitgefaecherter zu fragen.
Von ein paar Antworten weiss ich schon, wer sie mir geben muss - sonst tragen
sie ihre Namen nicht zu Recht.
Schreibt mir eure Atnworten. Ich gehe nicht davon aus, dass jeder alles weiss,
aber ich lass mich gerne ueberraschen. Und auch sonst findet sich vielleicht
ein Diskussionspartner fuer das eine oder andere Thema ....

31. Wer schrieb die Musik zu Jurassic Park?
    Welche bekannten Themen schrieb dieser Komponist noch?

32. Welchen Ursprung hat die Firma, die die Spezialeffekte zu "Apollo 13" 
    herstellte, und wie heisst sie?

33. Was ist eine Tipler-Maschine?

34. In welcher Form erschien der "Wuestenplanet" von Frank Herbert bei 
    der Erstveroeffentlichung?

35. Welchen Verstaendnisfehler macht Han Solo in Star Wars bei der 
    Beschreibung seines Raumschiffes?

36. Wie lauten die Grundgesetze des positronischen Roboters?
    Wem sind sie zu verdanken?

37. Welche fuer die SF wichtige Persoenlichkeit befand sich tatsaechlich 
    einmal im All?

38. Was versteht man unter dem Begriff "Alternate Fiction"

39. Welcher Kuenstler entwarf das beruehmte "Alien"?
    An welchen Filmen arbeitete er noch mit?

40. Was veranlasste Isaac Asimov, den Roman "Die Stahlhoehlen" zu schreiben?

41. Was sind Mangas?

42. In "Total Recall - Die Totale Erinnerung" wurde bei der Handlung auf 
    dem Mars nicht der Fehler gemacht, der in Stories auf Welten mit 
    geringerer Masse auftritt, sondern bildete sogar den zentralen Punkt. 
    Welcher Fehler ist das? Nach welcher Vorlage entstand der Film?

43. Wer ist Kilgore Trout?

44. Was ist das besondere am Lebenszyklus des Aliens?
    Ist es wahrscheinlich, dass so eine Lebensform entstehen kann?
    In welchen Romanen begegnet man aehnlichen Wesen?

45. Der franzoesischer Comic-Held 'Valerian' gehoert zu einem Paar von 
    Raum-Zeit-Agenten. Wie heisst die Partnerin im Original und wie in 
    der deutschen Uebersetzung?
    Bei welchem deutschen Verlag erschienen diese und andere SF-Comics?

46. Welches aktuelle Projekt des Regisseurs aus Frage 42 laeuft dieses 
    Jahr im Kino an, und wer schrieb dazu die Romanvorlage?
    Welche Filme stammen noch von ihm?

47. Woran erinnert die Hintergrundstory von "Kampfstern Galactica", bzw. 
    wodurch wurde sie inspiriert?

48. In einem der SF-Filmklassiker, die noch mit geringerem Budget 
    gedreht wurden, aber trotzdem eine gute Handlung aufwiesen, spielt ein 
    heute sehr bekannter Komiker einen Raumschiffkommandanten.
    Welcher Schauspieler und welcher Film?

49. Eines der Buecher vom Autoren der "Edelstahlratte" wurde auch verfilmt.
    Wie heisst der Autor? Wie heissen Buch und Film?

50. Welches Werk der SF hat inzwischen die meisten verschiedenartigen 
    Umsetzungen erlebt?

So, viel Spass beim Raten, Nachsehen, Nachfragen ...

C. No

-----------------------------------------------------------------------------



Re^16: Brockhaus-Kalender (Yantro, 31. Jan 1997, 10:48:50):
~#! rn=Har rt=854704029 rg=puiz
~#! tid=852544867

Hmmm nicht, dass ich euch den Spass nehmen will, aber ich kann mcih daran
erinnern, dass Sinn und ZWeck der Fragerei von CauNo war, dass ihr, wenn ihr
wollt, die Antworten an ihn MAILT, damit andere, die mitraten wollen, nicht
den Spass verlieren, weil sie einmal "nn" machen... Die Loesungen postet CauNo
dann sowieso eine Woche spaeter....

Yantro.

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Cauno, 31. Jan 1997, 10:49:46):
~#! rn=Yantro rt=854704130 rg=puiz
~#! tid=852544867
Beim Brockhaus ist das wurscht. Das wird sowieso zuviel, wenn ich das alles
sammle. Bei den SF-Fragen koennt ich euch ja zurueckhalten, hat bisher aber
auch jeder getan

C. No

-----------------------------------------------------------------------------



Re^16: Brockhaus-Kalender (Grimmborn, 31. Jan 1997, 10:55:07):
~#! rn=Har rt=854704029 rg=puiz
~#! tid=852544867
> har (militaerisch)
Ich trau mich als Ex-Zivi ja kaum zu widersprechen, aber die Erklaerung ist
falsch. Das Gruessen stammt aus der Ritterzeit, in der man das Visir
hochgeschoben hat, damit der Gegner an den Augen (wie auch immer) sehen
konnte, dass man nichts Boeses im Schilde fuehrt.
Das Zeichen "Ich habe keine Waffen und bin harmlos" ist eher die Ursache fuer
den Haendedruck und den "deutschen Gruss".

Grimmborn der Atheist. Pazifistisch, was seine Person angeht.

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Cauno, 31. Jan 1997, 10:56:12):
~#! rn=Grimmborn rt=854704507 rg=puiz
~#! tid=852544867
Neinnein, also der "Deutsche Gruss" bedeutete immer schon 'aufgehobene
Rechte'!

C. No

-----------------------------------------------------------------------------



neues puiz (Socrate, 31. Jan 1997, 13:32:49):
Hallo!
So, jetzt schreib auch ich mal eine Aufgabe aus. Also hier die Fragen:
1. Zu dem Zeitpunkt t1 befindet sich ein Auto an der Strecke s1. Das Auto
faehrt mit gleichbleibender Bschleunigung zum Punkt s2. Frage: welche Farbe
hat das Auto?
2. Wer ist der doefste Spieler im Morgengrauen?
3. A ist die Schwester von B. C ist die Tante von A, und D ist die Freundin
von E. Frage: Was ist A zum Fruehstuck?
4. Plumpskloo. Wie lautet die Frage zur Antowrt?
5. Welche Dessous-Marke hatte Iris Berben waehrend ihrem letzten
Fernsehauftritt an?
6. Was war frueher das Huhn oder das Ei?

So. Der Gewinner erhaelt ein Einjahresabonement der MPA. Der Rechtsweg ist
abgeschlossen und der Einsendeschluss war gestern.
Socrate

-----------------------------------------------------------------------------



Re: neues puiz (Grimmborn, 31. Jan 1997, 13:38:44):
~#! rn=Socrate rt=854713969 rg=puiz
~#! tid=854713969
Hmm...

1. blau (wegen des Dopplereffektes weil es zu schnell fuhr)
2. Immer der, der fragt und "doof" mit nur noch einem "oe" steigert.
3. Schwarzbrot mit Margarine. Bei so einer grossen Familie kann man sich
nichts anderes leisten.
4. "Welches Wort schreibt man mit nur einem o?"
5. Gar keine. Um die Phantasie pickeliger, pubertierender Informatiker und
mudder anzuregen hat sie auf Unterwaesche voellig verzichtet.
6. Die Frage ist nicht korrekt gestellt: WAS oder das Ei waren frueher das
Huhn? Aber das Ei ist in jedem Fall falsch: es wird erst spaeter das Huhn.

Grimmborn der Atheist will jetzt aber einen Preis

-----------------------------------------------------------------------------



Re: neues puiz (Dieder, 31. Jan 1997, 13:40:09):
~#! rn=Socrate rt=854713969 rg=puiz
~#! tid=854713969
*grins* das gehoert wohl eher nach schmarrn oder witze ;)) aber gut ;))

-----------------------------------------------------------------------------



Re: Re: neues puiz (Sidolin, 31. Jan 1997, 13:47:52):
~#! rn=Grimmborn rt=854714324 rg=puiz
~#! tid=854713969
Hast wieder mal nich aufgepasst, Grimmborn...
Der Einsendeschluss war gestern!
:-)

Sidolin. Hat den puiz eh nicht verstanden.

-----------------------------------------------------------------------------



Re^3: neues puiz (Ancalagon, 31. Jan 1997, 14:09:51):
~#! rn=Sidolin rt=854714872 rg=puiz
~#! tid=854713969
Knuddels!
Da der Einsendeschluss gestern war, sind diese Antworten selbstredend 
auch gestern angekommen. Ich bin IMMER puenktlich!! :)

1) Die Farbe ist beliebig. Festzuhaltend bleibe lediglich, dass das Auto bei 
   der Ankunft am Punkt s2 durch diverse Reibungseffekte etwas an Farbe
verloren 
   hat. Das Auto wird aslo zunehmend farbloser bis es zum schluss
stahlblechfarben 
   wird!
   
2) Beinahe waere ich drauf reingefallen und haette mit "ICH!" geantwortet.
Dann
   fiel mir auf, dass ja nach dem doefsten Spieler gefragt wurde. Und da ich
schon
   Wuerstchenknuddelseher bin, muss die Antwort wohl lauten: 
              Rantanplan!    :)
              
3)Der Halbstiefbruder einer Cousine 4.Grades von D, deren Tante die
Schwaegerin
  des Grossonkels muetterlicherseits von A ist. Was  aus A mittags oder
abends
  wird, kann nicht eindeutig festgestellt werden, da Angaben zum verhaeltnis
zwischen
  B und E fehlen.
  
4) Die Frage lautet: Wodrunter steht (bel. MG-Spielername) morgens zum
duschen?

5) Natuerlich die "creation Asociale" von Hertie` !

6) Die Frage kann nicht eindeutig beantwortet werden, da Angaben zur Inversen
   Konformitaet in Relation zur relativen Luftfeuchtigkeit des Mondes in
bezug
   auf praenatale Koaxialschwingungen des Eis fehlen! Setzt man Standardwerte
   vorraus, ergibt sich als Antwort: Beide!
   
Und wenn Grimmborn jetzt einen Preis kriegt, will ich erst recht einen haben!
Schliesslich habe ich die besseren Antworten!
froehlich, frech und fergnuegt,
                                            Ancalagon
                                   Draco knuddellensis major
                                               **


-----------------------------------------------------------------------------



Re: Re: neues puiz (Boing, 31. Jan 1997, 14:10:46):
~#! rn=Grimmborn rt=854714324 rg=puiz
~#! tid=854713969
Ich glaube Antwort 3 ist nicht ganz korrekt, wieso sollte A zum Fruehstueck
Schwarzbrot mit Margarine sein? Ich behaupte: Auch zum Fruehstueck ist
A die Schwester von B!
  Boing

-----------------------------------------------------------------------------



Re^3: neues puiz (Cauno, 31. Jan 1997, 14:15:50):
~#! rn=Boing rt=854716246 rg=puiz
~#! tid=854713969
Also, zur letzten Frage ist eindeutig zu sagen: Das Huhn war zuerst da.
In der Bibel steht naemlich, Gott schuf die Tiere zuerst, und nicht: Gott
schuf die Eier zuerst, ihr Eier!

C. No

(weia, das gibt einen Thread ...)

-----------------------------------------------------------------------------



Re^4: neues puiz (Har, 31. Jan 1997, 14:18:10):
~#! rn=Cauno rt=854716550 rg=puiz
~#! tid=854713969
Hmm, ach wenn mich jetzt einige totschalgen: ich hatte zuerst Eier, bislang
aber noch kein huhn, was sagt uns das.

har

-----------------------------------------------------------------------------



Re^5: neues puiz (Sidolin, 31. Jan 1997, 14:19:18):
~#! rn=Har rt=854716690 rg=puiz
~#! tid=854713969
Noch kein Huhn gehabt?
Hm... Na macht nix. Bist bestimmt nicht allein damit. ;-)

Sidolin. Auch wenn mich jetzt einige totschlagen. :-0

-----------------------------------------------------------------------------



Re: neues puiz (Acrimon, 31. Jan 1997, 14:49:21):
~#! rn=Socrate rt=854713969 rg=puiz
~#! tid=854713969
1. rot von Blut, weil der Insasse den Fusz nicht vom Gaspedal nehmen kann?
2. Rantanplan ?
3. A ist auch beim Fruehstueck eine Frau.
4. Was war in einer mittelalterlichen Burg auszen an der Mauer?
5. Dieselbe MArke, die Ingrid Kennined waehrend einem Radiointerview traegt.
6. Das Hendl :-)

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^18: Brockhaus-Kalender (Acrimon, 31. Jan 1997, 14:51:32):
~#! rn=Cauno rt=854704572 rg=puiz
~#! tid=852544867
Das hat er noch nie bedeutet.

-----------------------------------------------------------------------------



Re^18: Brockhaus-Kalender (Bogus, 31. Jan 1997, 15:37:53):
~#! rn=Cauno rt=854704572 rg=puiz
~#! tid=852544867
 Nur eben die Quelle klarstellen: 'Aufgehobene Rechte' stammt aus dem
'Fragment vom Schneider' von Werner Finck und war die Schlusspointe ebenjenes
Stuecks. 1936 wurde ufgrund dieses Textes die Katakombe geschlossen.

Bogus, grosser Finck-Verehrer

-----------------------------------------------------------------------------



Re^4: neues puiz (Socrate, 31. Jan 1997, 17:01:20):
~#! rn=Ancalagon rt=854716191 rg=puiz
~#! tid=854713969
Hallo.
Hier nun die lang ersehnten Antworten meines Quiz!
Zu Frage 1: Hier war Grimmborns Antwort "blau" zwar im Prinzip richtig, aber
ich wollte nicht die Farbe des Autos aussen wissen, sondern die von der
Innenausstattung und die war gruen, weil sich der Beifahrer uebergeben hat.
Zu Frage 2: Hier lag Grimmborn voellig falsch, und Ancalagon auch, aber er
haette die Frage beinahe richtig beantwortet. Die Antwort lautete "der, der
die Frage beantwortet". Sagen wir nen halben Punkt fuer Anc*.
Zu Frage 3: Hier waren bedauerlicherweise alle eingegangenen Antworten nicht
genau genug. In Antwort hies: Nutella, weil B ein Fan von Boris Becker ist.
Zu Frage 4: Hier wurde zwar eine andere Antwort erwartet, da aber die
Mitspieler ihre dem Plumpsklo nahestehende Phantasie bewiesen haben, bekommen
alle richtig eingangen antworten 1.5 Punkte.
Zu Frage 5: Da ich kein pubertierender bepickelter Informatiker bin und auch
kein Spieler im Mud (ich bin naemlich Mag) vermutete ich dass Grimmborn mit
seiner Antwort richtig lag. Er erhaelt dafuer ca. 7 Punkte.
Zu Frage 6: Hier waren bedauerlicherweise alle Antworten falsch. Die Antwort
haette lauten muessen. Der Hahn war zuerst, denn wer haette sonst die Henne
befruchten sollen, damit sie Eier legt.
Also nach langwierigen stochastischen Hochrechnung hat sich ergeben dass die
Spieler Grimmborn, Ancalagon und Acrimon um Fusspilzbreite die aehnliche
Gesamtpunktzahl erreicht haben. Da aber Ueberpruefung der graphologischen
Austrocknung der Tinte auf dem Bildschirm ergeben hat, dass Ancalagon als
einziger den Einsendeschluss eingehalten wird er hiermit zum Verlierer
erklaert und wird verplichtet ein Jahr lang allen Muell der Mpa zu lesen.
Herzlichen Glueckwunsch vom Sommer-Team.
Socrate

-----------------------------------------------------------------------------



Re: neues puiz (Fyt, 31. Jan 1997, 17:45:19):
~#! rn=Socrate rt=854713969 rg=puiz
~#! tid=854713969
ntwort 3: Je nach dem genauen Zeitpunkt entweder hungrig oder bekruemelt.

Fyt.

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Raffi, 31. Jan 1997, 19:21:52):
~#! rn=Grimmborn rt=854704507 rg=puiz
~#! tid=852544867
> har (militaerisch)
> Grimmborn der Atheist. Pazifistisch, was seine Person angeht.

Nun, die mitte liegt irgendwo dazwischen. Wenn ich mich recht erinnere geht
die geste auf den besuch der Koenigin auf einem englischen (freibeuter-)Schiff
zurueck. der angetretenen Manschaft wurde angeschafft die Augen vor der
strahlenden Schoenheit zu bedecken (Auf was man alles kommt wenn man sich
dei einer Frau beliebt machen will ? :).  wer mal die vorschrigten des
gruessens vergleicht wird feststellen das die handflaeche in England nach
aussen zu richten ist ... nicht wie bei uns wagerecht, oder bei den ammis eher
nach innen.

Gruss
H.

-----------------------------------------------------------------------------



Re^15: Brockhaus-Kalender (Kretek,  1. Feb 1997, 05:08:00):
~#! rn=Cauno rt=854703776 rg=puiz
~#! tid=852544867
Aehm... Soviel ich weiss, ist das 'ne Anspielung auf die guten alten
Rittersleute, die mit der Hand das Helmvisier hochklappten. Aus der
gleichen Ecke kommt uebrigens auch der Brauch, sich zur Begruessung
die Rechte Hand zu schuetteln. Die wurde anno dunnemals sogar waehrend
der gesamten Unterhaltung gehalten, und zwar zu dem Zwecke, zu verhindern,
dass der Gespraechspartner einem eins ueber die Ruebe zieht. Pech 
natuerlich, wenn man an einen Linkshaender geriet...



       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re: neues puiz (Kretek,  1. Feb 1997, 05:11:17):
~#! rn=Socrate rt=854713969 rg=puiz
~#! tid=854713969
Zu 1: Im Zweifelsfall rot.
Zu 2: Frag Schrumpfi! :-)
Zu 3: Fruehstuecks-Zerealien. Was sonst?
Zu 4: Wie heisst der Nachfolger von Win95 bei den Entwicklern?
Zu 5: Schiesser Feinripp
Zu 6: Eindeutig keins von beiden.

-> ab nach schmarrn (grimmborn, Dein job!)



       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re^5: neues puiz (Kretek,  1. Feb 1997, 05:15:15):
~#! rn=Socrate rt=854726480 rg=puiz
~#! tid=854713969
Klar. Und ich kriege jetzt erst mit, dass der Einsendeschluss UND die
Aufloesung schon war. Wofuer hab ich jetzt denn die halbe Nacht ueber
diesen bloedsinnigen Mathe-Aufgaben verbraucht, die Du geschickt ein-
gebaut hast, haeh?
Ich will 'nen Preis ehrenhalber! **schmoll**



       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re: Nochn puiz (Flora,  3. Feb 1997, 16:59:39):
~#! rn=Flora rt=854356315 rg=puiz
~#! tid=854356315

   UNMUSIKALISCHER HAUFEN!!!

Echt, Leute, Ihr enttaeuscht mich! So'n einfaches puiz und keine einzige
Zuschrift! Naja, dass von den Zwergen, diesen atonalen Geschoepfen nix
zu erwarten war, war mir klar, aber Elfen, Hobbits und Menschen muessten
doch eigentlich ein wenig Musikalitaet demonstrieren koennen. Oder es
laeuft vielleicht auch ein Fahrtensaenger rum?
Naja, am besten ist es wohl, ich mach das Ding ein bisschen einfacher
und geb zu den einzelnen Stuecken ein paar Hinweise. Also, Ihr habt
jetzt noch ne Woche Zeit (bis zum 9.2.) um die Stuecke rauszukriegen;
Preise wie gehabt; und auch wenn Ihr nur eins oder zwei oder drei wisst,
meldet Euch.

So, hier die Hinweise:

Nr. 1: Ist von einem Komponisten, der in diesem Jahr ein Jubilaeum hat.

Nr. 2: Das ist ausnahmsweise ein Stueck fuer die Zwerge.

Nr. 3: Aus der zweiten Symphonie eines Komponisten.

Nr. 4: Wird von manchen als das bedeutendste Stueck Musik angesehen.

Nr. 5: Das muessten hier aber wirklich ALLE kennen.

Nr. 6: Der Komponist stammt aus dem Norden.

Nr. 7: Aus den Buchstaben diese Komponisten kann man Noten machen :)

Nr. 8: Speziell fuer die RL-Kleriker...

Nr. 9: Auch hier stammt der Komponist aus dem Norden :)

Nr. 10: Der Titel beschreibt das Wetter.

So, jetzt sind hoffentlich alle Unklarheiten beseitigt. Wie gesagt,
Loesungen bis 9.2. an Flora.

Viel Erfolg!

-----------------------------------------------------------------------------



Re^5: neues puiz (Ancalagon,  3. Feb 1997, 17:36:07):
~#! rn=Socrate rt=854726480 rg=puiz
~#! tid=854713969
Knuddels!
Naja, Ein Sch..-Preis ist besser als kein preis! :)
Immerhin kriegt Grimmi nix! *haehae* 
Feixend,
                                      Ancalagon
                                  Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Re: Nochn puiz (Babs,  4. Feb 1997, 03:33:27):
~#! rn=Flora rt=854985579 rg=puiz
~#! tid=854356315
Uebertreib es nicht, Flora!
Du unterschaetzt offenbar erheblich die schwierigkeiten,
deine Aufzeichnungen durchscrollend und durch mores zerhackt ueberhaupt 
als Musik zuidentifizieren. :(
In den wenigsten PC-Saeaelen liegt naemlich Notemnpapier aus.
Ausserdem bringst Du ja nichtmal ganze Motive, sondern - meist recht
unmusikalisch zerhackt - gerade mal zwei Takte.

Ich hatte auf Anhieb grade mal 1.5 Richtige Ergebnisse, das motiviert nicht
grad
dazu, Dir die zu mailen.

Babs, weder unmusikalisch noch ein Haufen

-----------------------------------------------------------------------------



Re^3: Nochn puiz (Gast3,  4. Feb 1997, 09:12:21):
~#! rn=Babs rt=855023607 rg=puiz
~#! tid=854356315

Also, das lass ich nicht auf mir sitzen, "unmusikalisch zerhackt". In allen
Faellen (ausser bei Nr. 7, wo das ganze Motiv in einer Zeile keinen Platz
hatte) handelt es sich um VOLLSTAENDIGE MOTIVE, wo es nix zum Zerhacken gibt.
Schau in die Noten und ueberzeug Dich selbst.

Flora 

-----------------------------------------------------------------------------



Re^4: Nochn puiz (Engywuck,  4. Feb 1997, 11:01:44):
~#! rn=Gast3 rt=855043941 rg=puiz
~#! tid=854356315
Also, ich fand das mit den Noten in Ascii-Form zwar recht nett gemacht, aber
doch etwas schwer zu entziffern. Trotzdem haette ich bei dem Spielchen gerne
mitgemacht... Kannst Du das Zeugs nicht einscannen und irgendwie auf ne
WWW-Seite legen? Das macht Hate doch sicher gerne fuer Dich ;)

Ciao, Engy* - auch nicht unmusikalisch, obwohl Zwerg

-----------------------------------------------------------------------------



Re^15: Brockhaus-Kalender (Cauno,  4. Feb 1997, 11:16:22):
~#! rn=Cauno rt=854703776 rg=puiz
~#! tid=852544867
Um die Diskussion abzukuerzen - Ihr habt alle recht:

31.01. Warum heben Militaers beim Gruessen die Hand an den Kopf?     

Zunaechst einmal hatten alle Formen des Gruessens, wie Winken,
Haendeschuetteln usw. urspruenglich auch den Sinn, dem Gegenueber zu
zeigen, dass man auf den Gebrauch einer Waffe verzichtete. (Wie
freundlich!) Die spezielle Handbewegung der Militaers stammt
wahrscheinlich aus den Zeiten der alten Rittersleut'. Begegneten sie sich
in voller Ruestung, so klappten sie zur *freundlichen Begruessung* das
Visier ihres Helmes hoch. Vielleicht geht darauf ja auch die Sitte des
Huetehebens zurueck.


01/02.02. Tick, Trick und Track sind Donald Ducks Neffen.
          Wer ist sein Bruder?


03.02. Warum laechelt niemand auf alten Photographien?


04.02. Worin unterscheidet sich italienisches Brot von franzoesischem?   


-----------------------------------------------------------------------------



Re^16: Brockhaus-Kalender (Engywuck,  4. Feb 1997, 11:18:29):
~#! rn=Cauno rt=855051382 rg=puiz
~#! tid=852544867
Zum 03.02.: Ich koennte mir vorstellen, das niemand Bock hatte, die ganze
mehrstuendige Belichtungszeit ein Dauerlaecheln aufzusetzen. Da is man doch
froh, wenn man so lang _stehen_ kann ;)

Engy*

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Jimdigriz,  5. Feb 1997, 01:07:34):
~#! rn=Engywuck rt=855051509 rg=puiz
~#! tid=852544867
Moin, 

wohl eher wegen den schlechten Zaehnen damals.
Donalds Bruder ? Gibts wohl nicht, ich hatte irgendwo mal
ein Interview mit Carl Barks. Donald wurde ja auch von Oma Duck
adoptiert wenn ich mich recht erinnere (sie hat das Ei gefunden)
wers besser weiss, verbessere mich...

Ciao
James Bolivar diGriz

-----------------------------------------------------------------------------



Re^16: Brockhaus-Kalender (Cauno,  5. Feb 1997, 11:00:28):
~#! rn=Cauno rt=855051382 rg=puiz
~#! tid=852544867
Tja ....

01/02.02. Tick, Trick und Track sind Donald Ducks Neffen.
          Wer ist sein Bruder?

Ganz einfach, Donald hat keinen Bruder. Die drei naseweisen, manchmal 
grauenhaft wohlerzogenen und vernuenftigen Plagegeister ihres Onkels sind 
die Kinder von *Donalds Schwester*.
In dem Kurztrickfilm "Donald's Nephews" aus dem Jahre 1938 erhaelt Donald 
von seiner Schwester eine Postkarte, mit der diese den Besuch ihrer 
"three angel children" ("drei Engelskinder") ankuendigt. Was sich 
familiengschichtlich im weiteren zutrug, liegt im dunkeln. Jedenfalls 
scheint sich der Besuch zu einer Dauerloesung entwickelt zu haben:
In dem Kurzfilm "The New Spirit" von 1942 fuehrt Donald die kleinen 
Ducklinge in seiner Steuererklaerung als adoptiert auf. Der gute, 
trottelige Masochist ...


03.02. Warum laechelt niemand auf alten Photographien?

Die naechstliegende Antwort scheint zu sein, dass fuer die Aufnahme einer 
Daguerrotypie bis zu 10 Minuten und mehr noetig waren und ein 
10-Minuten-Laecheln einfach daemlich wirkt. Aber das gilt nur fuer die 
ersten Jahre ab 1839. Denn schon 1845 war die Technik so entwickelt, dass 
man mit Belichtungszeiten von 6 Sekunden arbeiten konnte. Die 
Ernsthaftigkeit der Photographierten hatte sicher etwas mit der Naehe der 
fruehen Photographie zur Malerei zu tun: Man nahm Posen der 
*Portraetmalerei* ein. (Da laechelt ja auch niemand, ausser Mona Lise.) 
Hinzu kam das Bewusstsein, fuer die Nachwelt festgehalten zu werden. Das 
feierliche Gehabe der photographen und schlechte Zaehne moegen ein 
uebriges beigetragen haben.


04.02. Worin unterscheidet sich italienisches Brot von franzoesischem?

Franzoesisches Brot wird aus den gleichen Grundzutaten hergestellt wie 
italienisches: Mehl, Wasser, Salz und Hefe. Und beide bekommen im Ofen 
durch die Zufuehrung von Frischdampf ihre knusprige Kruste. Die Franzosen 
geben darueber hinaus noch ein wenig *Backfett* und *Zucker* in den Teig, 
der dadurch mehr aufgeht, eine leichtere Konsistenz bekommt und eine 
feinere Struktur hat. Italienisches Brot ist fester und groeber 
strukturiert. Beiden gemeinsam ist wiederum, dass sie bei so manchen 
deutschsprachigen Konsumenten nach einer gewissen Zeit muerrische 
Kommentare und Vergleiche mit einheimischen Brotsorten ausloesen.


So, und jetzt wird es wieder interessant, vor allem fuer die
Langzeitstudenten:

05.02. Bis zu welchem Alter kann man an einer Universitaet
       eine Promotion ablegen?

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Kretek,  5. Feb 1997, 11:49:48):
~#! rn=Cauno rt=855136828 rg=puiz
~#! tid=852544867
Aehm... Bis kurz vor Eintreten des Todes?


Selber Langzeitstudent seiend (na gut, Caradingenskirchen studiert _noch_
laenger **grins**)

       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Socrate,  5. Feb 1997, 15:01:03):
~#! rn=Cauno rt=855136828 rg=puiz
~#! tid=852544867
hi,
ich glaube bis immer, ich hoerte vor kurzem von einem 75 jaehrigen der
promoviert.
Ich frage mich nur was man dann ist. Wahrscheinlich Diplom-Rentner.
tschuess
Socrate

-----------------------------------------------------------------------------



Re^18: Brockhaus-Kalender (Pra,  5. Feb 1997, 15:21:21):
~#! rn=Socrate rt=855151263 rg=puiz
~#! tid=852544867
Wenn man promoviert, ist man mehr als Dipl.rent. 
Dann ist man Dr. rent.

Pra.

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Methedras,  5. Feb 1997, 17:13:52):
~#! rn=Cauno rt=855136828 rg=puiz
~#! tid=852544867
Bin kein Langzeitstudent! *schmoll* Bloeder Zweitie-Zweitie.

Ich wuerde auf 64 Jahre tippen... Man wird mit 65 bestimmt in Rente
geschickt.

              Berg Methedras

-----------------------------------------------------------------------------



Re^18: Brockhaus-Kalender (Grimmborn,  5. Feb 1997, 17:15:24):
~#! rn=Methedras rt=855159232 rg=puiz
~#! tid=852544867
Alles falsch. Es ist dieselbe Altersgrenze wie die fuers sterben. Nein, nicht
wie die fuer den Fuehrerschein, den kann man naemlich erst ab 18 machen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^19: Brockhaus-Kalender (Methedras,  5. Feb 1997, 17:18:27):
~#! rn=Grimmborn rt=855159324 rg=puiz
~#! tid=852544867
Fuehrerschein kann man auch schon frueher machen. Jawohlja! :)

-----------------------------------------------------------------------------



Re^20: Brockhaus-Kalender (Wurzel,  5. Feb 1997, 21:26:25):
~#! rn=Methedras rt=855159507 rg=puiz
~#! tid=852544867
also promovieren kann man ziemlich lange. ich selbst promoviere seit n jahren
(nicht ernsthaft, sondern wegen dem semesterticket, das auch ein promotions-
student bekommt :)... wenn ich in nicht mehr allzu ferner zeit mal in rente
gehe, mache ich das vielleicht sogar ernstlich, da gibt es keine altersgrenze
dafuer. fehlt nur noch ein thema, das alte hab ich schon vergessen :)

wurzel wird dr. alzh.

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Murkes,  6. Feb 1997, 09:56:50):
~#! rn=Cauno rt=855136828 rg=puiz
~#! tid=852544867
Also soweit ich weiss, kann man sofern man die Voraussetzungen hat immer
promovieren. Das Alter sollte da egal sein. 

Murkes 

P.S.: In meinem Institut hat mal jemand mit uber 70 Lenzen promoviert :)

-----------------------------------------------------------------------------



Re^17: Brockhaus-Kalender (Cauno,  6. Feb 1997, 10:37:55):
~#! rn=Cauno rt=855136828 rg=puiz
~#! tid=852544867
Mal sehen:

Es gibt *keinerlei Altersbegrenzungen*. Bestes Beispiel ist Rudolf 
Strauss (*1913), der im Alter von 81 Jahren die Pruefung im Fachbereich 
Bauingenieur- und Vermessungswesen an der TU Muenchen mit "summa cum 
laude" bestand.
Rudolf Strauss ist allerdings in Fachkreisen kein unbeschriebenes Blatt. 
1932 hatte er sein Studium an der TH Muenchen begonnen und spaeter in 
Dresden fortgefuehrt. 1938 musste er, als Jude verfolgt, emigrieren. In 
der Emigration entwickelte er dann das Wellenloetverfahren, das bei der 
Herstellung elektronischer Flachbaugruppen verwendet wird. Neben 
internationalen Auszeichnungen erhielt er 1989 von der Universitaet 
Dresden die Diplomurkunde und ist nun endlich seit 1994 Dr. Rudolf Strauss.


06.02. Wessen Heilwirkung ist inzwischen weltweit anerkannt:
       - die des Dresdner Stollens
       - die des Gasteiner Stollens?



-----------------------------------------------------------------------------



Re^18: Brockhaus-Kalender (Kretek,  6. Feb 1997, 21:53:21):
~#! rn=Cauno rt=855221875 rg=puiz
~#! tid=852544867
Also, das ist jetzt aber wirklich uebel... GASTEIN natuerlich!

       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re: Re: Nochn puiz (Flora, 10. Feb 1997, 09:13:48):
~#! rn=Flora rt=854985579 rg=puiz
~#! tid=854356315
Tja, Muddies,

Auch nach meinem zweiten Aufruf habe ich musikpuizmaessig keine Zuschriften
erhalten (Du siehst also, Babs, Deine 1.5 richtigen waeren der erste Preis
gewesen). Schade, jedenfalls; vielleicht mache ich irgendwann noch mal so ein
puiz, dann mit etwas leichteren Stuecken.

Jetzt aber die Loesungen:

Nr. 1: Das ist der Anfang der Motette "Warum ist das Licht gegeben dem
Muehseligen" von Johannes Brahms. Auch die "Missa Canonica" von Brahms waere
richtig gewesen; da wird dies Motiv naemlich auch verwurstet. Das Jubilaeum
ist der hundertste Todestag von Brahms, der uebrigens mit dem 67. Geburtstags
unseres Bundeskanzlers zusammenfaellt.

Nr. 2: Das haetten aber wirklich die Zwerge wissen muessen; dies Stueck ist
naemlich der Anfang des "Gnomus", des ersten "Bildes" der "Bilder einer
Ausstellung" von Modest Mussorgski.

Nr. 3: Wie gesagt, der Anfang eines Satzes einer zweiten Symphonie; in diesem
Fall des zweiten Satzes der zweiten Symphonie von Gustav Mahler,

Nr. 4: Der beruehmt- beruechtigte Anfang des Vorspiels der Oper "Tristan und
Isolde" von Richard Wagner.

Nr. 5: Das hat mich doch am allermeisten enttaeuscht; ich haette hier
mindestens zehn Zuschriften erwartet: Dies Stueck ist natuerlich der Anfang
der Titelmelodie von "Star Trek" (erste Staffel). Beim Komponisten muss ich
uebrigens passen.

Nr. 6: Laut Hinweis stammt der Komponist aus dem Norden; in diesem Fall
Norwegen. Er heisst Edvard Grieg, und das Stueck ist das Thema aus "Solveigs
Lied" aus der Buehnenmusik zu H. Ibsens Drama "Peer Gynt" (bzw. aus der
zweiten "Peer-Gynt-Suite").

Nr. 7: Hier hatte, wie gesagt, das ganze Motiv keinen Platz, und aus den
Buchstaben des NAmens des Komponisten kann man Musik machen. Naja, es ist in
der Tat Johann Sebastian BAch (obwohl es noch andere Komponisten gibt mit
solchen Namen, z.B. N. Gade und J. Cage (und natuerlich den Rest der ganzen
Bach-Sippe)), und das Stueck ist der Anfang des dritten Satzes des sechsten
Brandenburgischen Konzertes, das wegen seiner ungewoehnlichen Besetzung (zwei
Solo-Bratschen sowie Gamben, Celli und Baesse im Orchester) vermutlich von den
sechsen am wenigsten zu hoeren ist.

Nr. 8: Diese Frage war wahrscheinlich etwas sehr gemein, da erstens
wahrscheinlich nur die RL-Kleriker dieses Stueck kennen, und zweitens auch nur
die Protestanten unter ihnen; das Stueck heisst "Herr Gott, DIch loben alle
wir", und wird, glaube ich, katholischerseits nicht gesungen. Komponist weiss
ich im Moment nicht, koennte ich aber nachschlagen; aber wahrscheinlich
interessierts eh niemanden.

Nr. 9: Hier waren zwei Komponisten am Werk, beide aus Schweden. Sie heissen
Benny Andersson und Bjoern Ulvaeus und sind die beiden "B"s der Gruppe ABBA.
Das Stueck heisst "Mamma Mia"; vielleicht hat's der oder die eine oder andere
ja schon mal gehoert :)

Nr. 10: Zum Schluss noch ein Stueck passend zum Wetter: Es heisst "A foggy
day", und stammt aus der Musik zu "Damsel in Distress" von George Gershwin.

Ciaoie,
Flora.

-----------------------------------------------------------------------------



Re^3: Nochn puiz (Socrate, 11. Feb 1997, 09:15:00):
~#! rn=Flora rt=855562428 rg=puiz
~#! tid=854356315
Aeh,
Flora weisst du wirklich wo du hier bist?
Ich finde ja eigentlich jeden kulturellen Beitrag gut, aber ich bin doch sehr 
erstaunt, dass du dich wunderst nur eine einzige Antwort erhalten zu haben. Du
haettest vielleicht vorher erstmal ne Umfrage starten sollen, wer hier
ueberhaupt Noten lesen kann. Und von denen ist deswegen, dann noch nicht zu
erwarten, dass sie anhand ein Paar Noten erkennen, dass es sich um den 3. Satz
der 14. Partitur der 5. Sinfonie des Koechelverzeichnisses 27 aus dem
Unveroeffentlichten 6. Buch des Nachlasses von Karl-Otto von Dingsbums, der
ein Urgrossonkel von Marusha war, handelt.
Das soll keine Flame sein; ich denke nur, dass du vergessen hast, dass hier
die wenigsten Musikwissenschaftler sind, so wie oftmals die Computerfreaks
vergessen, dass es hier auch Nicht-Informatiker gibt.
Gruss
Socrate (Einer der wenigen NIcht-Informatiker)

-----------------------------------------------------------------------------



klitzekleines Raetsel (Mieze, 11. Feb 1997, 20:30:50):
Hallo, liebe Raetselfreunde,

ich hab auch mal ein kleines Raetselchen fuer Euch :)

Im Groben geht es um Programmusik.
Der Rheinlaender, der trotz seines Namens nicht aus Holland stammt und seine
musikalischen Meriten fernab der Heimat erwarb, komponierte ein
programmusikalisches Werk unter Verwendung zweier Nationalhymnen. Gesucht sind
Komponist und Opuszahl.

Viel Spass beim Raetseln, Eure Mieze


-----------------------------------------------------------------------------



Re^4: Nochn puiz (Fyt, 12. Feb 1997, 00:26:35):
~#! rn=Socrate rt=855648900 rg=puiz
~#! tid=854356315

Och was, ich kenn 'n ganzen Haufen Nichtinformatiker... zum Beispiel
mindestens ne Handvoll Mathematiker ;-)

Aber abgesehen davon hat Socrate recht, wenn da irgendsowas ... hm...
'allgemein bekanntes' dabei gewesen were, were sicher die Resonanz
groesser gewesen.

Fyt, zugebend, dass er die Musikstuecke zum groessten Teil noch nicht mal
gehoert hat.

-----------------------------------------------------------------------------



Re^18: Brockhaus-Kalender (Cauno, 12. Feb 1997, 13:34:19):
~#! rn=Cauno rt=855221875 rg=puiz
~#! tid=852544867
okok, wer nicht wusste, dass der Dresdner Stollen ein Kuchen ist ...
Naja, aber warum ist Gastein richtig?

Die Heilwirkunng des *Gasteiner Stollens*.
Dessen wohltuende Effekte wurden allerdings nicht von Baeckern entdeckt, 
sondern von Bergleuten, die vor mehr als hundert Jahren im Gasteiner 
Rathausberg nach Gold gruben. Sie wurden zwar nicht fuendig, aber 
wenigstens waren ihre Rueckkenschmerzen verschwunden. Zurueckzufuehren 
ist das auf die Heilwirkung des im Stollen vorkommenden Edelgases Radon.
Bei einer dreiwoechigen Kur faehrt man neun- bis zwoelfmal in den ueber 
40 C warmen Stollen ein, der eine Luftfeuchtigkeit von 70 bis 95 % hat.
Besonders wirksam ist die Kur bei rheumatischen Erkrankungen, speziell 
bei Morbus Bechterew, einer rheumatisch verursachten Versteifung der 
Wirbelsaeule.


Und, weil ich ueber Karneval die Uni und die Innenstadt gemiden habe, zum
aufholen:

07.02. Zwei Ohren: Stereo. Zwei Augen: 3D. Wozu zwei Nasenloecher?


08./09.02. Warum trocknen Stempelkissen an der Luft nicht aus?


10.02. Warum sind Tennisbaelle filzig?


11.02. Amerikareisende: Aufgepasst! Wie lange haelt sich der Gestank 
       nach einer ungluecklichen Begegnung mit einem Stinktier?


12.02. Es ist das wohl bekannteste Medikament der Welt: Aspirin.
       Wie lindert es die Schmerzen?


Es duerfte wieder was fuer jeden dabei sein.
(Ausserdem denke ich mir sowas nicht aus, ich tipps nur ab ...)

C. No

-----------------------------------------------------------------------------



Re^4: Nochn puiz (Cauno, 12. Feb 1997, 13:36:34):
~#! rn=Socrate rt=855648900 rg=puiz
~#! tid=854356315
Beschwer ich mich, weil ich so wenige Antworten auf meine Quizzes kriege? Ich
denke, das muss jeder fuer sich entscheiden, ob er die Sache weiss oder nicht.

C. No

-----------------------------------------------------------------------------



Re^4: Nochn puiz (Kretek, 12. Feb 1997, 14:00:03):
~#! rn=Socrate rt=855648900 rg=puiz
~#! tid=854356315
Ich bin auch Nicht-Informatiker! **protestier**


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re^19: Brockhaus-Kalender (Kretek, 12. Feb 1997, 14:01:45):
~#! rn=Cauno rt=855750859 rg=puiz
~#! tid=852544867
Das mit den Nasenloechern hab ich irgendwo mal gehoert... Soll angeblich
so sein, dass jedes einen Lungenfluegel kontrolliert. (Glaub ich aber nicht.)


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Re^20: Brockhaus-Kalender (Oetti, 12. Feb 1997, 14:02:42):
~#! rn=Kretek rt=855752505 rg=puiz
~#! tid=852544867
Quatsch, das ist zum Stereoriechen, ist doch loegisch...

-----------------------------------------------------------------------------



Re: klitzekleines Raetsel (Pra, 12. Feb 1997, 16:16:48):
~#! rn=Mieze rt=855689450 rg=puiz
~#! tid=855689450
Der Rheinlaender ist ja wohl glasklar Ludwig van: kommt aus Bonn, und nicht
aus Holland, hat die Musik aber in Wien gelernt. Aber hat er Programmusik
geschrieben (nach der neuen Rechtschreibereform: Programmmusik)?
Was ist das ueberhaupt, Prgrammusik?

Pra.

-----------------------------------------------------------------------------



Re: klitzekleines Raetsel (Grimmborn, 12. Feb 1997, 16:17:05):
~#! rn=Mieze rt=855689450 rg=puiz
~#! tid=855689450
Die "Overtuere 1812" von L. van Beethoven. Opuszahl musste schon selber
raussuchen. Diese Overtuere ist trotz ihrer geradezu Volkstuemlichkeit um die
Jahrhundertwende ein Paradebeispiel dafuer, dass Beethoven auch
grottenschlechte Musik gemacht hat, die ist nur auf Wirkung aus, ohne dass da
was hinterstuende. Ich meine mich zu erinnern, dass Beethoven sie erst
Napoleon widmen wollte, weil er ihn so verehrte, dann aber doch mitbekam, dass
Napoleon vielleicht doch nicht so der Held des Proletariats war und das Teil
umgewidmet hat. kann aber sein, dass ich das verwechsle, Beethoven hat ja
grundsaetzlich vier Leuten die Widmung versprochen und das Werk dann doch
einem fuenften gewidmet, weil der mehr gezahlt hat...

Grimmborn der Atheist mag Beethoven trotzdem, weil er die schoenste Musik, die
je geschrieben wurde, komponiert hat.

-----------------------------------------------------------------------------



Re^19: Brockhaus-Kalender (Wurzel, 12. Feb 1997, 19:59:30):
~#! rn=Cauno rt=855750859 rg=puiz
~#! tid=852544867
bei der beschreibung des gasteiner stollens sollte man vielleicht nicht 
vergessen zu erwaehnen, dass das "edelgas radon" zwar in der tat ein solches
ist (dann muesste die heilwirkung eigentlich jeden halbwegs naturwissenschaft
lich begabten wundern, da ja edelgase chemisch inaktiv sind)... 
die (angebliche) heilwirkung kommt von der starken radioaktivitaet von radon,
es ist aber unter medizinern noch sehr umstritten, ob eine solche wirkung
ueberhaupt existiert bzw. ob die strahlenschaeden nicht alles wieder zunichte
machen.

wurzel

-----------------------------------------------------------------------------



Star Trek Quiz Teil 0 von 5 (Jimdigriz, 12. Feb 1997, 22:38:18):
Hallo hier ist es endlich das Quiz.

Worum gehts ? 
Es gibt 50 (!) Fragen rund um StarTrek. Dabei gibt es kaum
Fragen zu den Kino-Filmen, keine zu TAS und Voyager und eher
wenige zu TOS.

Die Punkte:Es gibt Fragen die aus mehreren Teilfragen bestehen, natuerlich
wird jede richtig beantwortete Teilfrage bepunktet.
Es gibt "Aufzaehlfragen" fuer jedes gewusste gips Punkte.
Manchmal gipts noch Bonuspunkte fuer besonderes Detailwissen.
Es gibt auch vage gestellte Fragen, wobei ich dort natuerlich
meist eine bestimmte Sachlage erwarte.
Prinzipiell bin ich auch nicht unfehlbar und lasse mich auch
gerne belehren. D.h. das uU noch nicht alle Fragen vollstaendige
Musterloesungen haben.
Ich weiss auch nciht wieviel Gesamtpunkte es gibt, der Sieger 
is halt der mit den meisten.

Frist: ich dachte mal so an zwei Wochen, wenns zuwenig is, von mir aus 
auch vier Wochen.
Die Antworten: 
Eure Loesungen bitte PER MAIL, nicht in die MPA, ok ?

Die Belohnung:
Naja ich kann eigentlich nicht viel anbieten, da ich kaum noch
spiele und daher keine Ahnung habe was fuer Sachen grade toll 
sind :)
Es geht also eher um den Spass (die Ehre fuer Klingonen :))
Evtl kann man noch was extra aushandeln.

Ok ich bitte um zahlreiche Zuschriften, auch wenn Ihr nur vergleichsweise
wenig beantworten koennt. Erstens wissen evtl andere noch weniger und 
zweitens freut mich jede Antwort.

Viel Spass,
 James Bolivar diGriz
 - My other vehicle is a Romulan Warbird

-----------------------------------------------------------------------------



Star Trek Quiz Teil 1 von 5 (Jimdigriz, 12. Feb 1997, 22:38:52):
Teil1: Zum Aufwaermen

1.  Was bedeutet das "T" in James T. Kirk ?
2.  Welche Kreatur spielt eine besondere Rolle in ST:II Der Zorn des Khan
    und ebenfalls in einem MG-Quest ?
3.  Wie heisst der mythische Gruender des Klingonischen Reiches ?
4.  Wie lautet der offizielle Titel des "Meister des Kommerz" der Ferengi,
    und wie heisst der amtierende ?
5.  Was bedeutet das "T" in William T. Riker ? 
6.  Wo ist Jean-Luc Picard aufgewachsen ?
7.  Wie hiess der Vater von Wesley Crusher ? 
8.  Nenne alle Rassen die eine bedeutende Rolle in Star Trek spielen.
9.  In welchem Sektor liegt unsere Sonne (und die Erde) ?
10. Wer war Ben Sisko's Vorgaenger als Kommandant von Deep Space 9 und wie
    hiess die Station damals ? 


-----------------------------------------------------------------------------



Star Trek Quiz Teil 2 von 5. (Jimdigriz, 12. Feb 1997, 22:39:18):

Teil2: TOS (mehr oder weniger)

11. Wie hiess der Sohn von James T. Kirk ?
12. Wie hiess Spock's Mutter und was war sie von Beruf ? 
13. Wer war der Gruender der vulkanischen Philosophie ?
14. Wie heisst Sulu mit Vornamen ?
15. In welcher Folge sieht man zum ersten mal den vulkanischen Gruss 
    (die \\//-Geste) ?
16. Was hat es mit dem "Vulkanischen Todesgriff" auf sich und wann spielte
    dieser eine besondere Rolle ?
17. Wer spielte die Sozialarbeiterin Edith Keeler in der Folge "City on the
    Edge of forever" in der McCoy (u.a.) in die Erde der Vergangenheit reisen
?
18. Wie hiess der Haendler der die "Tribbles" im Angebot hatte ?
19. Was ist "M-5", wer schuf es und was wurde nach dem Schoepfer benannt ?
20. Welcher TOS Charakter starb und wurde wiedergeboren, wo fand die "Wieder-
    geburt" ihren Abschluss und wie hiess das involvierte Ritual ?


-----------------------------------------------------------------------------



 Star Trek Quiz Teil 3 von 5 (Jimdigriz, 12. Feb 1997, 22:40:56):
Teil3: TNG

21. Wie gross (in Zahlen) war die Niederlage der Sternenflotte bei Wolf 359 ?
    Wieviele und welche Gegner waren dafuer verantwortlich ? Was ist Wolf 359
    wirklich ?
22. Wo wurde die Enterprise-D gebaut ?
23. Wovon befreit uns der "Reisende" endlich und viel zu spaet in der Folge
    "Journey's End".
24. Wer beauftragte den Holodeck-Computer mit der Konstruktion eines "Nerven-
    Scan-Interfaces" um eine direkte Verbindung zwischen Gehirn und Schiffs-
    computer zu haben ? Auf den Protest des Computers, es gaebe keine Plaene
    fuer solch ein Interface, antwortete die gesuchte Person:"Kein Problem,
    es folgt nun die Bauanleitung." 
    Wie lautete der Spitzname dieser Person, und wer verwendete diesen 
    unabsichtlich, nachdem die Nennung geruegt worden war ?
25. Doyouwanna Try^H^H^H^H^H^H^H^H^HDiana Troy absolviert in einer Folge die
    Pruefung zur Befoerderung zum Rang eines Commanders. Natuerlich versagt
    sie dauernd. Leider schafft sie es dann doch, aber was war Ihr Fehler ??
26. Was ist "Frame of Mind" und wer war dafuer verwantwortlich ?
27. Wer ist Data's Mutter ? Wer ist sie wirklich ?
28. Was fuer eine Rolle spielte Commander Keiran MacDuff ?
29. Nach K'mpec's Tod gab es zwei Anwaerter auf den Vorsitz im Hohen Rat. 
    Wer waren sie ? Wer wurde Vorsitzender und wer war der Zeremonienmeister
?
    Zusatz: Sehr viel spaeter erfaehrt man eine Art "Geruecht" ueber den
    Fuehrer, welches einiges erklaeren koennte. Um was handelt es sich ?
30. Wie heisst der Vertrag, der die Neutrale Zone garantiert und festlegt,
    dass die Foederation keine Tarnvorrichtungen entwickeln und benutzen darf
?
31. Wer oder was ist der "Tal Shiar" ?

-----------------------------------------------------------------------------



Star Trek Quiz Teil 4 von 5 (Jimdigriz, 12. Feb 1997, 22:44:01):
Teil4: DS9

32. Nenne alle bekannten Wirte des Dax-Symbionten. Am besten in der richtigen
    Reihenfolge.
33. Wer bezahlte 500 Barren Latinum fuer Quark's gefriergetrocknete
Ueberreste?
34. Nenne soviele Ferengi Erwerbsregeln die Du kennst.
35. Wie heisst Garak mit Vornamen, fuer welche Organisation hat er frueher 
    gearbeitet und wer ist sein "Erzfeind" ?
36. Mit was fuer Spielfiguren musste Quark "Chula" spielen ?
37. Was haben Yamok-Sauce und selbstdichtende Schaftbolzen gemeinsam ?
38. Wer veruebte einen Bombenanschlag auf Garak's Schneidergeschaeft ?
39. Wen heiratete Odo und warum ?

-----------------------------------------------------------------------------



Star Trek Quiz Teil 5 von 5 (Jimdigriz, 12. Feb 1997, 22:44:50):
Teil5: Gemischtes

40. Welcher Holodeck-Charakter konnte das Holodeck verlassen und sogar die
    Enterprise in seine Gewalt bringen ?
41. Wo begegnet man der Enterprise-B ?
42. Woher kommt die Bezeichnung "Jefferies Roehre" ?
43. Wiviele Raumschiffe der Galaxy-Klasse sind namentlich bekannt ? Wieviele
    gibt es geruechteweise ? Nenne Namen ausser Enterprise-D fuer
Bonuspunkte.
44. Was ist eine ODN-Leitung ?
45. Was ist ein Humuhumunukukuapua'a ?
46. Wie gross ist ein Romulanischer Warbird ungefaehr ? (Relative Angabe zu
    einem anderen Raumschiff oder besser ungefahere Laenge in m)
47. Welches sagenhafte Artefakt begegnet uns (in anderer Form) auch im MG ? 
    Was ist seine Besonderheit ? Der Tip: Es wird im 27. Jhr von Kal Deno 
    geschaffen und von einer sehr bekannten Person zerstoert.
48. Welcher TNG-Charakter stirbt (endgueltig) und woran ?
49. Nenne soviele Authorisierungs-Codes wie Du kennst, und natuerlich auch
    den zugehoerigen Offizier dazu.
50. Wie heisst die "Captain's Yacht" der Enterprise ? 
    (Ein besonders grosses Shuttle fuer das es eine extra Andock-Vorrichtung 
    gipt)

-----------------------------------------------------------------------------



Re: Re: klitzekleines Raetsel (Lug, 12. Feb 1997, 23:52:50):
~#! rn=Grimmborn rt=855760625 rg=puiz
~#! tid=855689450
Moin Grimmborn,

Du verwechselst das mit Beethovens 3. Sinfonie: Eroica, die urspruenglich
L'Emperor (oder sowat) heissen sollte. Diese wollte er Napi widmen, aber
verzichtete nach dessen Selbstkroenung wuetend darauf. Ausserdem! Beethoven
hat zwar Effekte in seine Musik verarbeitet, aber das ist kein SCHROTT!
Beethoven hat den Krach in die Musik gebracht und damit den metal ermoeglicht.
Du darfst im danken Zueri! ;)
Gruss Lug

-----------------------------------------------------------------------------



Re^3: klitzekleines Raetsel (Gast1, 13. Feb 1997, 09:25:56):
~#! rn=Lug rt=855787970 rg=puiz
~#! tid=855689450

Leute, was schreibt Ihr hier fuer einen Schwachsinn!

Beethoven ist natuerlich klar. Aber erstens ist die 1812-Ouvertuere kein
Schrott und zweitens stammt sie nicht von Beethoven, sondern von Tschaikowski
(das wird auch nicht anders durch Wiederholen der Aussage, Grimmborn).
Darueberhinaus ist die 3. Sinfonie von L.v.B. nicht die Loesung des Raetsels,
da sie erstens keine Programmusik ist und zweitens keine einzige Nationalhymne
enthaelt. Gefragt war vielmehr nach "Wellingtons Sieg", und die Opuszahl ist
91.


Hier vielleicht noch ein weiteres klitzekleines Raetsel:

Gesucht ist diesmal ein Komponist, der, wie man schon an seinem Namen sieht,
weder Holl- noch Rheinlaender war, sondern vielmehr aus einem Land stammte,
aus dem eine gewisse Mieze mal im MG eingeloggt war (Nespah?)
Seine musikalischen Meriten erwarb er sich unter anderem dadurch, dass er die
Nationalhymne eines Landes fernab seiner Heimat komponierte. Wie heisst dieses
Land und wie der Komponist?

Und damit es nicht wieder so schwer wird, noch ein klitzekleiner Hinweis: Das
gesuchte Land ist von seinem Heimatland wirklich sehr weit entfernt: Die
beiden Laender liegen auf verschiedenen Kontinenten. Und schliesslich liegt
der Sterbeort des Komponisten auf noch einem anderen Kontinent.

Und noch ein Tip: (um die Verbindung zur Programmusik herzustellen) DAs
hierzulande wahrscheinlich bekannteste Werk des gesuchten Komponisten ist ein
vor allem bei juengeren Menschen beliebtes Stueck Programmusik.

Viel Spass beim Raetseln,

Flora :)

-----------------------------------------------------------------------------



Re: Star Trek Quiz Teil 5 von 5 (Felagund, 13. Feb 1997, 11:20:28):
~#! rn=Jimdigriz rt=855783890 rg=puiz
~#! tid=855783890
> 40. Welcher Holodeck-Charakter konnte das Holodeck verlassen und sogar die
>     Enterprise in seine Gewalt bringen ?

-Die Frage ist so leider nicht beantwortbar, da das nicht stattgefunden hat.
Fela...guckt auch hin und wieder mal StarTrek (Babylon V kommt besser ;))

-----------------------------------------------------------------------------



Re: Re: Star Trek Quiz Teil 5 von 5 (Highlander, 13. Feb 1997, 11:22:12):
~#! rn=Felagund rt=855829228 rg=puiz
~#! tid=855783890
Ja, er hat nur das Holodeck gebraucht. Und es heisst Babylon 5.
   HrT, nitpicker of the day.

-----------------------------------------------------------------------------



Re:  Star Trek Quiz Teil 3 von 5 (Hadra, 13. Feb 1997, 12:42:11):
~#! rn=Jimdigriz rt=855783656 rg=puiz
~#! tid=855783656
21. Was ist Wolf 359 wirklich ?
ganz klar: Lupus

hadra - wusste, dass lupus viele verwandte hat

-----------------------------------------------------------------------------



Re^19: Brockhaus-Kalender (Cauno, 13. Feb 1997, 13:15:30):
~#! rn=Cauno rt=855750859 rg=puiz
~#! tid=852544867
07.02. Zwei Ohren: Stereo. Zwei Augen: 3D. Wozu zwei Nasenloecher?

Im allgemeinen reden wir von der Nase als einem Organ. Aber es besteht, 
wi Auge und Ohr, aus zwei Teilen. Jede unserer "beiden Nasen" 
kontrolliert einen Lungenfluegel. Wie wichtig die *Taetigkeit beider 
Nasenloecher* ist, zeigt sich im Schlaf. Wenn wir auf der Seite liegen, 
uebernimmt das obenliegende Nasenloch die Haupttaetigkeit und ermuedet in 
ein bis drei Stunden. Der entsprechende innere Druck veranlasst den 
Schlaefer, den Kopf zu wenden, um das andere Nasenloch freizubekommen. 
Der uebrige Koreper folgt dieser Aktion, und wir drehen uns auf die 
andere Seite.


08./09.02. Warum trocknen Stempelkissen an der Luft nicht aus?

Die Tinte, mit der Stempelkissen getraenkt werden, besteht aus den 
Grundstoffen *Wasser und Glykol*. (Sie erinnern sich an jene Weinsorte ...) 
Diese Mischung bindet die Luftfeuchtigkeit. An feuchten Tagen kann das 
Stempelkissen durch den hygroskopischen Effekt wieder das Wasser 
aufnehmen, das es an trockenen Tagen verloren hat.


10.02. Warum sind Tennisbaelle filzig?

Einer der Hauptgruende dafuer, den Tennisball mit Filz zu ueberziehen, 
besteht darin, den Flug zu verlangsamen. Je flockiger der Filz ist, desto 
mehr *Luftwiderstand* bietet der Ball. Er fliegt etwas langsamer, aber 
auch konstanter. Ausserdem ermoeglicht der Filz eine bessere 
Schlagkontrolle. Jedesmal, wenn der Ball auf die Bespannung des 
tennisschlaegers trifft, wir er fuer einen Moment zusammengepresst. 
Haette er nun eine glattere Oberflaeche, so wuerde er schneller wieder 
wegspringen, und der Spieler haette geringere Moeglichkeiten, den Flug 
des Balls zu beeinflussen.


11.02. Amerikareisende: Aufgepasst! Wie lange haelt sich der Gestank 
       nach einer ungluecklichen Begegnung mit einem Stinktier?

Exakte Angaben sind nicht zu machen, aber seien sie versichert, er 
scheint *ewig* anzuhalten. Handschuhe, die von einem Skunk besprueht 
wurden, stanken auch nach einem Jahr noch bestialtisch.
Die bernsteinfarbene Fluessigkeit, die die Stinktiere (es gibt in Nord-, 
Mittel- und Suedamerika neun verschiedene Arten) aus ihren Afterdruesen 
verspruehen, stinkt nicht nur, sondern enthaelt auch einen sehr 
gefaehrlichen Giftstoff. Er kann die Nasenschleimhaeute zerstoeren, 
fuehrt ueber den Mund zu starkem Brechreiz und erzeugt im Auge 
unertraegliche Schmerzen und voruebergehende Blindheit.
Aber bevor der Skunk losspritzt, fuehrt er zunaechst einmal allerlei 
Drohgebaerden vor. Der Fleckenskunk mach sogar noch einen Handstand. In 
diesem Falle: nichts wie weg!


12.02. Es ist das wohl bekannteste Medikament der Welt: Aspirin.
       Wie lindert es die Schmerzen?

Nachdem *Aspirin* 1899 von Bayer auf den Markt gebracht wurde, dauerte es 
noch einmal 70 Jahre, bis einigermassen befriedigende Antworten gefunden 
wurden. Der entscheidende Hinweis kam aus der Entdeckung, dass 
Acetylsalicylsaeure - daraus besteht Aspirin - die Synthese von 
Prostaglandinen hemmt. Das sind Fettsaeuren, die u.a. fuer Entzuendungen, 
Fieber und Irritationen in Koerperbereichen sorgen, die nicht normal 
funktionieren, und die Empfindlichkeit von Schmerzrezeptoren erhoehen.
Aspirin wirkt also nicht durch seine allgemeine Konzentration im 
Blutkreislauf, sondern dadurch, dass es direkt die Schmerzrezeptoren nahe 
der Entzuendung oder sonstigen Stoerung erreicht.


13.02. Yes, Sir. Wie wird man "Sir"?


-----------------------------------------------------------------------------



Re^4: klitzekleines Raetsel (Lug, 13. Feb 1997, 14:31:43):
~#! rn=Gast1 rt=855822356 rg=puiz
~#! tid=855689450
Aehem,

ich hab auf kein Raetsel geantwortet. Es war aber nunmal L.v.B.'s 3. Sinfonie,
die urspruenglich Napi gwidmet war. Mehr hab ich nicht gesagt. 
Bah Humbug
Lug

-----------------------------------------------------------------------------



Re^4: klitzekleines Raetsel (Grimmborn, 13. Feb 1997, 15:39:39):
~#! rn=Gast1 rt=855822356 rg=puiz
~#! tid=855689450
*lach* Das erklaert, wieso ich so irritiert wurde von der Stimme in meinem
Hinterkopf, die mir laufend "Waterloo" ins Ohr fluesterte und so gar nicht zu
1812 passen wollte. Das mit der 3. Sinfonie mag stimmen, ich habe in der
Schule gelernt, dass Beethoven seine Sachen laufend umgewidmet hat, meist aus
finanziellen, gelegentlich aus politischen Gruenden.
Allerdings ist "Wellingtons Sieg" (ja, ich kenne das Stueck, wenn auch nicht
den Namen; es ist das mit der Kanone, richtig?) nach Aussage meines damaligen
Musiklehrers tatsaechlich keine musikalische Glanzleistung (vorsichtig
formuliert), was wir auch dann im Kurs "erarbeitet" haben. Beethoven ist fuer
mich der Komponist mit der groessten Diskrepanz zwischen seinen guten und
seinen schlechten Werken, aber sowas ist natuerlich weitgehend subjektiv.

Grimmborn der Atheist meint: Das Musik-Abi ist ja auch 7 Jahre her...

-----------------------------------------------------------------------------



Re^3: Star Trek Quiz Teil 5 von 5 (Jimdigriz, 13. Feb 1997, 20:59:03):
~#! rn=Highlander rt=855829332 rg=puiz
~#! tid=855783890
HMPF !

Also zu Fela und Highlander,

Die Frage ist richtig gestellt und es gibt auch eine 
eindeutige Antwrt. 
Ich bitte alle Mitrater sich nicht von Felagunds oder
Highlanders Bemerkung beeinflussen zu lassen ;-)

Aehnliche kritiken ersma mailen, ok ?

have fun,
 Jim DiGriz
,

-----------------------------------------------------------------------------



Re: Re:  Star Trek Quiz Teil 3 von 5 (Maso, 13. Feb 1997, 22:46:05):
~#! rn=Hadra rt=855834131 rg=puiz
~#! tid=855783656
> 21. Was ist Wolf 359 wirklich ?
> ganz klar: Lupus

Wolf 359:
(Gliese 406, LTT 12923)
Right Ascension B1950: 10h 54m 06s
Declination B1950: +07 Grad 19.2 Minuten
Total proper motion (arcsec/yr): 4.696
Direction angle of proper motion (deg): 234.6
Radial velocity (km/s): +13.0
Spectral type or color class: M6 (Kuiper Type (see Bildelman))
Apparent magnitude (mag): 13.45 (variable)
color B-V (mag): +2.00
color U-B (mag): +1.21 (uncertain)
color R-I (mag): +1.84
Trigonometric parallax (mas): 418.3
Standard error of trig. parallax (mas): 02.5
Resulting parallax (mas): 418.3
Standard error of res.  parallax (mas): 02.5
Absolute visual magnitude (mag): 16.56 (variable)
Quality of absolute magnitude: <  0.10 mag
U space velocity component in the galactic plane and directed to the
    galactic center (km/s): -26
V space velocity component in the galactic plane and in the direction of
    galactic rotation (km/s): -44
W space velocity component in the galactic plane and in the direction of
    the North Galactic Pole (km/s): -19

Quelle: Nearby Stars 3, Preliminary (Gliese, Jahreiss 1991)
ftp://adc.gsfc.nasa.gov/pub/adc/archives/catalogs/5/5070A/

              Maso.


-----------------------------------------------------------------------------



Re^3:  Star Trek Quiz Teil 3 von 5 (Cauno, 14. Feb 1997, 10:46:31):
~#! rn=Maso rt=855870365 rg=puiz
~#! tid=855783656
Na, jetzt wissen wir weiter. Danke, Sado^H^H^H^HMaso.

C. No

-----------------------------------------------------------------------------



Re^20: Brockhaus-Kalender (Cauno, 14. Feb 1997, 10:47:38):
~#! rn=Cauno rt=855836130 rg=puiz
~#! tid=852544867
13.02. Yes, Sir. Wie wird man "Sir"?

Bei einem Englandaufenthalt zunaechst einmal durch jeden Verkehrs- 
polizisten, Hotelportier und Krawattenverkaeufer. Entsprechend wird die 
Dame dabei aber nicht zur "Lady", sondern zur "Madam". "Lady" wird sie 
nur, wenn der Ehemann geadelt wird. Von jetzt an wird's etwas 
komplizierter: Nach seiner Erhebung in den Adel war die korrekte Anrede 
fuer den Schauspieler Laurence Olivier (*1907, +1989) "Sir Laurence", 
fuer seine Frau hingegen "Lady Olivier"; er also mit dem Vornamen, sie 
mit dem Nachnamen. Bei geadelten Damen ist es dann entsprechend 
umgekehrt. Sollte der Praesident des Unterhauses eine Frau sein, so wird 
auch sie mit "Sir" angeredet, weil die Anrede dem Amt und nicht der 
Person gilt. Alles klar, *Ladies and Gentlemen*?


14.02. Passend zum Valentinstag:
       Warum war 1536 ein so besonderes Ehejahr fuer Heinrich VIII.?


-----------------------------------------------------------------------------



Re: SF-Quiz III (Cauno, 14. Feb 1997, 10:54:29):
~#! rn=Cauno rt=854704108 rg=puiz
~#! tid=854704108
Es wird wohl langsam Zeit fuer die Aufloesung meines letzten Quiz.
Hoffe, nicht wieder eine Diskussion loszutreten von der Art
"Wie erklaert ein arroganter Wissenschaftler einem ignoranten Nichtwissen-
schaftler, was dieser sowieso nicht kapiert, und ersterer schon nicht
verstanden hat, weil es sowieso keiner weiss."
Also bitte, das hier ist SF und SF ist hauptsaechlich (u.a.) Unterhaltung.

(fast haette ichs vergessen: /Ironie off)

31. Wer schrieb die Musik zu Jurassic Park?
    Welche bekannten Themen schrieb dieser Komponist noch?

    John Williams. Von ihm stammen u.a. auch die Themen zu "Star Wars", 
    "Indiana Jones" und "Der Weisse Hai" (Jaws). Vermutlich stammt von 
    ihm sogar die Titelmusik zu "Time Tunnel", dort wird er als Johnny 
    Williams im Abspann aufgefuehrt.

32. Welchen Ursprung hat die Firma, die die Spezialeffekte zu "Apollo 13" 
    herstellte, und wie heisst sie?

    Industrial Light & Magic (ILM) wurde von George Lucas gegruendet, als 
    sie die Tricks zum Krieg der Sterne machten. Seitdem hat sich die 
    Firma einen Namen gemacht fuer Meilensteine der  Spezialeffekte, wie z.B.
    - Computergesteuerte Kameras fuer Modellaufnamhen in "Star Wars"
    - Die Doppelgaengeraufnahmen aus "Zurueck in die Zukunft II und III
    - Die Computeranimationen aus "Jurassic Park"
    Eine Unterabteilung von ILM, "Image G" ist fuer die Postproduction 
    der Star Trek-Serien zustaendig. ILM arbeitet mit Universal zusammen.
    
    ILM sorgt inzwischen auch fuer die Tricks von vielen Spielberg-
    Filmen, aber auch Non-SF-Filme wie eben "Apollo 13" und "Twister" 
    sind von ihnen bearbeitet worden. Ihr naechstes Werk, "Dante's Peak" 
    kommt im April ins Kino.

33. Was ist eine Tipler-Maschine?

    Ein Zylinder aus ultradichtem Material, der mit mehr als halber Licht- 
    geschwindigkeit rotiert, erdacht von F. J. Tipler.

    Mit anderen Worten: ein kuenstliches schwarzes Loch.
    Dieser erzeugt zwei Ereignishorizonte, zwischen denen ein Raumschiff 
    hindurch in der Zeit reisen kann. Fliegt es in Rotationsrichtung, 
    geht es in die Zukunft, entgegengesetzt in die Vergangenheit.
    Die Reise ist allerdings nur innerhalb der Zeit moeglich, in der 
    diese Maschine existiert.

34. In welcher Form erschien der "Wuestenplanet" von Frank Herbert bei 
    der Erstveroeffentlichung?

    Als Fortsetzungs-Kurzgeschichten in einem Magazin. Zum Beginn der SF 
    waren die Magazine die einzige Veroeffentlichungsmoeglichkeit fuer SF, 
    da die Verlage sie nicht nehen wollten. Viele Romane sind deswegen 
    auch spaeter noch als Kurgeschichten oder Fortsetzungsromane erschienen.
    Zwei andere bekannte Vertreter sind Ray Bradbury's "Mars-Chroniken" 
    und A.E. van Vogt's "Expedition der Space Beagle"

35. Welchen Verstaendnisfehler macht Han Solo in Star Wars bei der 
    Beschreibung seines Raumschiffes?

    Er sagt: Mein Schiff macht den Kesselflug in weiniger als drei Parsek.
    Ein Parsek ist jedoch keine Zeit-, sonderen eine Laengeneinheit, und 
    zwar etwa 3,25 Lichtjahre!
    In dem Gebiet sollte man so ziemlich jedes Maneuver schaffen ...

36. Wie lauten die Grundgesetze des positronischen Roboters?
    Wem sind sie zu verdanken?

    1) Ein Robot darf einen Menschen weder verletzen noch toeten, noch 
       darf ein Robot durch Untaetigkeit zulassen, dass ein Mensch 
       getoetet oder verletzt wird.

    2) Ein Robot muss Befehle eines Menschen ausfuehren, es sei denn, 
       dies widerspricht Regel 1.

    3) Ein Robot muss seine Existenz schuetzen, es sei denn dies widerspricht
       Regel 1 oder 2.

    Diese fuer jeden positronischen Roboter unumgaenglichen Gesetze sind 
    die Schoepfung Isaac Asimovs. In seinen Gecshichten hatte der 
    "Mechanical Men"-Konzern das Monopol fuer diese Roboter und konnte 
    sie daher durchsetzen, u.a. auch als Promotion, damit kein Mensch 
    Angst vor diesen Robotern haben sollte.

    In gewisser Weise handelt auch Data aus "Star Trak TNG" wie ein 
    Asimovscher Robot. Man sah jedoch davon ab, ihn die Gesetze zitieren 
    zu lassen.

37. Welche fuer die SF wichtige Persoenlichkeit befand sich tatsaechlich 
    einmal im All?

    Zwar erst nach seinem Tode, aber:
    Gene Roddenberry's Urne wurde von einem Shuttle-Astronauten mit in 
    den Orbit genommen.

    Dazu spielten in "Star Trek" auch mal echte Astronauten als Statisten
mit.

38. Was versteht man unter dem Begriff "Alternate Fiction"

    Geschichten, die einen anderen historischen Verlauf darstellen, als 
    wir ihn kennen. Meistens in Verbindung mit einer Zeitreise, wie z.B. 
    in "zurueck in die Zukunft II" etwas chaotisch dargestellt, oft aber 
    auch ohne die sonst bekannten SF-Elemente. Beliebte Themen sind dabei 
    alternative Ausgaenge von Kriegen, wie der zweite Weltkrieg oder der 
    Sezessionskrieg.

39. Welcher Kuenstler entwarf das beruehmte "Alien"?
    An welchen Filmen arbeitete er noch mit?

    Der Schweizer H.R. (Hansruedi) Giger.
    Seine Gemaelde entsprechen etwa dem, was die Stimmung von Alien ausmacht.

    Giger arbeitete auch an "Poltergeist II - Die andere Seite" mit, 
    weswegen er fuer Alien II ausfiel - was ihn selbst sehr aergerte.
    Ausserdem machte er Entwuerfe fuer "Dune", die jedoch fallen gelassen 
    wurden, nachdem der dritte Regisseur das Handtuch warf.
    Seine juengste Schoepfung war die Halbausserirdische 'Sil' aus dem 
    Film "Species"

    Seine Entwuerfe werden oft auch kopiert, wie in "Independence Day", 
    wo Giger jedoch nicht selbst mitgearbeitet hat.

40. Was veranlasste Isaac Asimov, den Roman "Die Stahlhoehlen" zu schreiben?

    Jemand meinte in einer Diskussion zu ihm, Detektiv-Krimis und SF zu 
    verbinden sei unmoeglich. Asimov bewies das Gegenteil.

41. Was sind Mangas?

    Japanische Comics mit einem charakteristischen Zeichestil.
    Sie sind der beste Gegenbeweis fur die Behauptung, Comics waeren 
    Kinderkram. In den Magas werden naemlich Gewalt und Sex nicht gerade 
    unter den Tisch gekehrt.
    Die Zeichentrickversionen hiervon sind die "Animees", die sich schon 
    eine eigene Fangemeinschaft erarbeitet haben. Davon sind hier allerdings
    kaum welche bekannt, sogar eher die Ausnahmen der Jugendbuch- 
    verfilmungen wie Heidi und Pinocchio.

42. In "Total Recall - Die Totale Erinnerung" wurde bei der Handlung auf 
    dem Mars nicht der Fehler gemacht, der in Stories auf Welten mit 
    geringerer Masse auftritt, sondern bildete sogar den zentralen Punkt. 
    Welcher Fehler ist das? Nach welcher Vorlage entstand der Film?

    Der Mars besitzt eine sehr duenne Atmosphaere.
    Viele Kleinplaneten besitzen gar keine Atmosphaere, weil sie nicht 
    die dazu notwendige Schwerkraft erzeugen koennen. Eine Tatsache, die 
    immer wieder in diversen Filmchen uebersehen wurde, u.a. sogar in 
    "Raumpatrouille" und "Raumschiff Enterprise" (alte Serie).

43. Wer ist Kilgore Trout?

    1) eine Figur aus Romanen von Kurt Vonnegut jr. die seinerseits 
       Schriftsteller sein sollte. (ein dazu noch miserabler)
    2) Philip Jose Farmer, der unter diesem Pseudonym ein in Vonneguts 
       Romanen erwaehntes Buch schrieb.

    P.J. Farmer kam auf die Idee und holte sich von Vonnegut die 
    Erlaubnis dazu, allerdings nahm der das anschliessend uebel, weil der 
    Roman schliesslich ihm angelastet wurde und nicht P.J.

44. Was ist das besondere am Lebenszyklus des Aliens?
    Ist es wahrscheinlich, dass so eine Lebensform entstehen kann?
    In welchen Romanen begegnet man aehnlichen Wesen?

    Das Alien benoetigt einen Wirtskoerper, um sich fortzupflanzen.
    In der Wirklichkeit wird dieses von sogenannten Schlupfwesen vollfuehrt.
    Ein Wesen von der Groesse und Intelligenz des Aliens wuerde aber 
    schon in kurzer Zeit seinen Lebensraum vernichtet haben. Folglich 
    kann es nicht natuerlich entstehen. Was jedoch nicht ausschliesst, 
    dass es sich im Film um eine erfolgreiche Genmanipulation handelt ...

    Aehnliche Wesen gibt es in Heinleins "Meltraummollusken" und A.E. van 
    Vogts Ixtl aus der "Expedition der Space Beagle"

45. Der franzoesischer Comic-Held 'Valerian' gehoert zu einem Paar von 
    Raum-Zeit-Agenten. Wie heisst die Partnerin im Original und wie in 
    der deutschen Uebersetzung?
    Bei welchem deutschen Verlag erschienen diese und andere SF-Comics?

    Verenique (im Original: Laureline)
    Die hauptsaechlich bei Carlsen erscheinenden Comics teilen fast alle 
    das gleiche Schicksal - die Namen wurden oft uebersetzt. Das 
    bekannteste Beispiel ist wohl Tim & Struppi, der im Original "Tintin" 
    heisst.

46. Welches aktuelle Projekt des Regisseurs aus Frage 42 laeuft dieses 
    Jahr im Kino an, und wer schrieb dazu die Romanvorlage?
    Welche Filme stammen noch von ihm?

    Paul Verhoeven bringt dieses Jahr den "Starship Trooper" raus, nach 
    einem Roman von Robert A. Heinlein.
    Bekannt wurde Verhoeven mit "RoboCop", schliesslich auch mit dem 
    umstrittenen "Basic Instinct"

47. Woran erinnert die Hintergrundstory von "Kampfstern Galactica", bzw. 
    wodurch wurde sie inspiriert?

    Der Auszug Moses aus Aegypten. Zwar sind die Tricks trotz der Produktion 
    einer Fernsehserie im Stil von "Star Wars" gehalten, auf die Handlung 
    trifft das jedoch nicht zu. 

48. In einem der SF-Filmklassiker, die noch mit geringerem Budget 
    gedreht wurden, aber trotzdem eine gute Handlung aufwiesen, spielt ein 
    heute sehr bekannter Komiker einen Raumschiffkommandanten.
    Welcher Schauspieler und welcher Film?

    Leslie Nielsen in "Forbidden Planet" Alarm im Weltraum von 1956.

49. Eines der Buecher vom Autoren der "Edelstahlratte" wurde auch verfilmt.
    Wie heisst der Autor? Wie heissen Buch und Film?

    Harry Harrision, "New York 1999" (Make Room, Make Room) wurde 
    verfilmt als "... Jahr 2022 ... die ueberleben wollen" (Soylent Green).

50. Welches Werk der SF hat inzwischen die meisten verschiedenartigen 
    Umsetzungen erlebt?

    H. G. Wells "Krieg der Welten" (War of the Worlds).
    Nach der Buchveroeffentlichung fuehrte ein Hoerspiel von Orson Wells 
    zu einem Aufruhr in New York, als es von den Hoerern nicht als solches 
    erkannt wurde. 1953 verfilmte George Pal es in etwas modernisierter 
    Fassung, 1978 machte Jeff Wayne sein beruehmtes Musical daraus, und 
    1991 wurde eine Serie mit 2 Staffeln gedreht, die auf dem Film basierte.


-----------------------------------------------------------------------------



Re^3:  Star Trek Quiz Teil 3 von 5 (Hadra, 14. Feb 1997, 11:00:24):
~#! rn=Maso rt=855870365 rg=puiz
~#! tid=855783656
ich wusste gar nicht, dass es zu lupus ein eigenes technisches datenblatt gibt

hadra - lernt nie aus

-----------------------------------------------------------------------------



Re^3:  Star Trek Quiz Teil 3 von 5 (Jimdigriz, 14. Feb 1997, 21:25:15):
~#! rn=Maso rt=855870365 rg=puiz
~#! tid=855783656
*seufz*

muesst Ihr sowas immer gleich in die mpa posten ?
per mail haetts doch auch getan, und wenns
augeloest wird, haette ich schon gesagt wie toll Maso ist ;)

cu,
 JdG

-----------------------------------------------------------------------------



Re^4:  Star Trek Quiz Teil 3 von 5 (Maso, 15. Feb 1997, 01:00:43):
~#! rn=Jimdigriz rt=855951915 rg=puiz
~#! tid=855783656
"Toll"? Die Informationen sind frei verfuegbar (URL stand unten), da
ist nichts tolles dran.

           Maso.


-----------------------------------------------------------------------------



Re: Re: SF-Quiz III (Acrimon, 15. Feb 1997, 15:01:01):
~#! rn=Cauno rt=855914069 rg=puiz
~#! tid=854704108
Zu 45).
Ich finde, wenn ein Werk uebersetzt wird, dann gehoeren auch die Namen
uebersetzt, denn sonst gehen die Atmosphaere und die Bedeutung der Namen
verloren.
(Die gehen zwar auch verloren, wenn der Uebersetzer zu schnell uebersetzt
(sich zuwenig Zeit laesst), aber bei einem guten Uebersetzer wird doch der
groeszte Teil der Atmosphaere und der Bedeutung der Namen gerettet.)

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: SF-Quiz III (Felagund, 16. Feb 1997, 23:32:39):
~#! rn=Acrimon rt=856015261 rg=puiz
~#! tid=854704108
DAs Problem dabei ist jedoch, dass viele Namen 
a: nicht oder nur schwer uebersetzbar sind
b: doppeldeutigkeiten bei einer uebersetzung i.d.R. verlorengehen
dann habich doch lieber den originalnamen und kann zur not nachschlagen, was
der bedeutet, naja noch lieber natuerlich das ganze buch im original, solangs
englisch is ;)
gruss..Fela

-----------------------------------------------------------------------------



Re^3: SF-Quiz III (Cauno, 17. Feb 1997, 12:16:21):
~#! rn=Acrimon rt=856015261 rg=puiz
~#! tid=854704108
Erklaer mir dann doch mal, wieso hier ein franzoesischer Name durch einen
anderen ersetzt wurde. Nur, weil der auch mit V anfaengt? Da spreche ich nicht
mehr von Uebersetzungen!

Ich hab mich ausserdem vertippt, wie ich sehe, sie heisst hierzulande
'Veronique'

C. No

-----------------------------------------------------------------------------



Re^21: Brockhaus-Kalender (Cauno, 17. Feb 1997, 12:17:49):
~#! rn=Cauno rt=855913658 rg=puiz
~#! tid=852544867
14.02. Passend zum Valentinstag:
       Warum war 1536 ein so besonderes Ehejahr fuer Heinrich VIII.?

Schon am 8. Januar starb die erste Ehefrau des englischen Tudor-Koenigs 
*Heinrich VIII.* (*1491, +1547). Katharina con Aragon (*1485) war 
allerdings schon 9 Jahre zuvor von Heinrich geschieden worden, weil der 
seine Geliebte Anna Boleyn heiraten wollte. Da Anna Boleyn ihm aber keinen 
Sohn gebar, bezichtigte er sie des Ehebruchs (damit es noch verwerflicher 
wirkte, wurde ihr Inzest mit ihrem Bruder angehaengt) und liess sie am 
19. Mai des naemlichen Jahres 1536 enthaupten. 11 Tage spaeter heiratete 
er dann Numero 3, Jane Seymour (*1509, +1537).

15./16.02. Kinder lernen viel leichter Sprachen als Erwachsene.
           Warum ist das so?


17.02. Heute eine ganz originelle Frage: Warum starben die Saurier aus?


-----------------------------------------------------------------------------



Re: Re: SF-Quiz III (Methedras, 17. Feb 1997, 13:40:13):
~#! rn=Cauno rt=855914069 rg=puiz
~#! tid=854704108
Zu 42.)

Kann es sein, dass die Antwort auf die zweite Frage dort fehlt?
Also irgendwie fehlt mir die 'Inspiration' zu Total Recall.

    Bergchen Methedras - moeglicherweise blind

-----------------------------------------------------------------------------



Re^3: SF-Quiz III (Cauno, 17. Feb 1997, 13:42:58):
~#! rn=Methedras rt=856183213 rg=puiz
~#! tid=854704108
Hoppla, stimmt:

Es war Philip K. Dick "We can remember it for you wholesale"
Eine Kurzgeschichte, in der allerdings die Reise zum Mars und die Mutanten
nicht vorkamen. In anderen Geschichten von Dick tauchen diese aber auf,
deswegen ist die Verfilmung gut gelungen, da sie sehr viel von Dick
beinhaltet.

C. No

-----------------------------------------------------------------------------



Re^22: Brockhaus-Kalender (Cauno, 18. Feb 1997, 13:10:09):
~#! rn=Cauno rt=856178269 rg=puiz
~#! tid=852544867
15./16.02. Kinder lernen viel leichter Sprachen als Erwachsene.
           Warum ist das so?

Wissenschaftler vermuten, dass es im Hirn ein universelles *"Programm" 
fuer Sprache* gibt, das in den ersten sechs Lebensjahren aktiviert werden 
muss. Wenn z.B. taub Geborene die Zeichensprache erst nach dem sechsten 
Lebensjahr lernen, haben sie grosse Schwierigkeiten mit Vokabular und 
Grammatik. Wenn ein Kind in den ersten sechs Lebensjahren eine 
Fremdsprache lernt, kann es diese auch akzentfrei und perfekt 
beherrschen. Etwa vom siebten Lebensjahr an beeinflusst der spezielle 
Zungenschlag der Muttersprache die Intonation der Fremdsprache, und es 
schleicht sich ein Akzent ein. Trotzdem haben Kinder bis zur Pubertaet 
relativ wenig Muehe, neue Sprachen zu lernen.


17.02. Heute eine ganz originelle Frage: Warum starben die Saurier aus?

Also, wir versuchen, moeglichst aktuelle Antworten zu geben. Sie kreisen 
heutzutage alle um die 1980 vom amerikanischen Physik-Nobelpreistraeger 
Luis Alvarez (*1911, +1988) dargelegte *Meteoriteneinschlag-Theorie*. 
Alvarez glaubte, dass ein gewaltiger Meteorit durch Staubwolken eine 
grosse Dunkelheit verursachte, die die Saurier aussterben liess. Eine 
Variante dieser Theorie: Der beim Einschlag erzeugte Schwefeldampf sorgte 
fuer "antipodischen Vulkanismus". Ihm zufolge knallte der Meteorit mit 
derartiger Wucht auf die Erde, dass sie auf der gegenueberliegenden Seite 
aufplatzte und quasi auslief.


18.02. Gleich noch mal! Warum starben die Saurier aus?


-----------------------------------------------------------------------------



Re^23: Brockhaus-Kalender (Grimmborn, 18. Feb 1997, 13:15:54):
~#! rn=Cauno rt=856267809 rg=puiz
~#! tid=852544867
Der KStA (Koelner Stadtanzeiger) von heute berichtet von einer groesserer
Untersuchung im Golf von Mexiko, wo sie sogar Teile des Meteoriten gefunden
haben, der damals in den Golf von Mexiko gestuerzt ist (sagen wir: in die
geologische Region, was auch immer vorher dort war duerfte sich massiv
veraendert haben) und die Saurier zum aussterben gebracht hat.
Unmittelbare Todesursache: Unterkuehlung wegen zuwenig Sonne.

Grimmborn der Atheist mit der aktuellen Tageszeitung

-----------------------------------------------------------------------------



Re^24: Brockhaus-Kalender (Cauno, 18. Feb 1997, 13:17:49):
~#! rn=Grimmborn rt=856268154 rg=puiz
~#! tid=852544867
Oder mittelbar: die Pflanzen starben infolge zuwenig lichtes, die
Pflanzenfresser verhunderten, die Fleischfresser folgten. Nur die kleineren
Tiere und Aasfresser ueberlebten, weil sie schliesslich genug zu futtern
hatten ...

C. No

(Nein, das war noch nicht die Antwort fuer morgen)

-----------------------------------------------------------------------------



Re^24: Brockhaus-Kalender (Anatol, 18. Feb 1997, 13:18:05):
~#! rn=Grimmborn rt=856268154 rg=puiz
~#! tid=852544867

Ein lokaler Radiosender formulierte in einem Bericht, dass die _Pflanzen_ des
Planeten durch die Staubwolke des Metoriteneinschlags zu wenig Licht erhielten
und groesstenteils abstarben - was dann das Aussterben der Saurier unmittelbar
nach sich zog.


-----------------------------------------------------------------------------



Re^25: Brockhaus-Kalender (Alboin, 18. Feb 1997, 14:34:57):
~#! rn=Anatol rt=856268285 rg=puiz
~#! tid=852544867
hmmm, in der Unicum-Homepage ist so ne Sammlung von irren Professoren, unter
anderem wird da dieses Thema auch behandelt, und jener Professor sagte:
'Jemand sagte mal ihr Hirn war zu leicht und ihr Arsch war zu schwer ..'

ist aber 'ne originelle Antwort :)
-> ab nach schmarrn
Alboin
P.S. aehm oben muss es natuerlich heissen 'Sammlung von irren
Professorenspruechen' 

-----------------------------------------------------------------------------



Re^26: Brockhaus-Kalender (Grimmborn, 18. Feb 1997, 14:39:03):
~#! rn=Alboin rt=856272897 rg=puiz
~#! tid=852544867
Jaja, und zu Zeiten der Abruestungsbewegung (erinnert sich noch jemand? Ist
die eigentlich noch aktuell?) gab es den Aufkleber mit einem Bild eines
Dinosauriers und der Aufschrift: "Ausgestorben: zu viel Panzer, zu wenig
Hirn."
Ich fand den damals ziemlich lustig...

Grimmborn der Atheist hat beinahe auch den Ausbruch des Dreissigjaehrigen
Krieges miterlebt.

-----------------------------------------------------------------------------



Re^22: Brockhaus-Kalender (Acrimon, 18. Feb 1997, 15:58:31):
~#! rn=Cauno rt=856178269 rg=puiz
~#! tid=852544867
15./16.02. Kinder lernen viel leichter Sprachen als Erwachsene. Warum ist das
so?

Ich wuerde sagen, weil Kinder noch keine solch verworrenen, verfahrenen
Denkstrukturen wie die Erwachsenen aufgebaut haben.
Jedoch waere es schade, den Kindern gleich Fremdsprachen einzutrichtern - viel
wichtiger und wesentlicher ist erstmal die Foerderung der Phantasie.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^23: Brockhaus-Kalender (Anatol, 18. Feb 1997, 16:06:04):
~#! rn=Acrimon rt=856277911 rg=puiz
~#! tid=852544867

Das Hirn von Kindern verfuegt ueber viel verworrenere Vernetzungen als das von
Erwachsenen, denn Lernen heisst nicht 'neue Verbindungen schaffen', sondern
'ueberfluessige Verbindungen streichen/schwaechen, wichtige Verbindungen
staerken'. Als Erwachsener faellt es einem meist schwer, fremde Sprachlaute zu
erlernen, weil diese Schemata bereits als 'unwichtig' geschwaecht wurden - ein
vor sich hin glucksendes Kind besitzt noch die volle Vielfalt moeglicher
Laute, welche dann aber durch das Versteifen auf die (im wahrsten Sinne des
Wortes) Muttersprache beschraenkt wird.
Aber das war, glaub' ich, gar nicht gemeint, gell? ;-)

Anatol


-----------------------------------------------------------------------------



Re^24: Brockhaus-Kalender (Acrimon, 18. Feb 1997, 16:12:30):
~#! rn=Anatol rt=856278364 rg=puiz
~#! tid=852544867
Stimmt, ich hatte eigentlich gemeint "verworrene Gedankengaenge" und
"verfahrene Denkstrukturen" des Erwachsenen.
Beim Kind ist noch alles moeglich, der Erwachsene hat sich das Meiste schon
verbaut.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^25: Brockhaus-Kalender (Anatol, 18. Feb 1997, 16:16:28):
~#! rn=Acrimon rt=856278750 rg=puiz
~#! tid=852544867
Sei froh, dass es so ist, Acrimon... in einer reizueberfluteten Welt
_brauchst_ Du solche verfahrenen Verarbeitungsmethoden, um schnell genug
reagieren zu koennen. Da ist die Irreversibilitaet des Lernens das kleinere
Uebel...

Anatol, verfaehrt sich des oefteren ;-)


-----------------------------------------------------------------------------



Re^23: Brockhaus-Kalender (Qume, 19. Feb 1997, 12:10:46):
~#! rn=Cauno rt=856267809 rg=puiz
~#! tid=852544867
WISSENSCHAFTLER? Sprechen wir hier etwa von einem gewissen Herrn Noam
Chomsky, dessen Theorien zum Spracherwerb mittlerweile von jedem halbwegs
linguistisch vorbelasteten Menschen als absoluter Unfug angesehen werden?
Von wegen "Unzulaenglichkeit des Stimulus" und so'n Bloedsinn...

Haemisch kichernd
Qume

-----------------------------------------------------------------------------



Re^23: Brockhaus-Kalender (Cauno, 19. Feb 1997, 12:18:50):
~#! rn=Cauno rt=856267809 rg=puiz
~#! tid=852544867
18.02. Gleich noch mal! Warum starben die Saurier aus?

Hier die neueste Spekulation bei Drucklegung: "Vom Winde verweht". Als 
der inzwischen wohlbekannte Meteorit ins Meer platschte, entstand aus dem 
aufgeheizten Wasser ein gewaltiger *Wirbelsturm* mit 300 Metern pro 
Sekunde (Windstaerke 12 entspricht laeppischen 33 Metern pro Sekunde). 
Damit andere Wissenschaftler nicht mit der Standfestigkeit von Sauriern 
daherkommen, wurde gleich weitergerechnet und entdeckt, dass es beim 
Auftreffen des Meteoriten derartig spritzte, dass das Chlor aus dem 
Salzwasser (mit HIfle des Wirbelsturms) in die Ozonschicht transportiert 
wurde und diese prompt zerstoerte.
Nebenbei bemerkt: Die Speyies, die sich dereinst ueber unser Ende wird 
Gedanken machen muessen, ist auch nicht zu beneiden!


19.02. Schon Lehrer Laempel bekam gegen Bauchgrimmen ein Buegeleisen auf 
       den Leib. Warum lindert Waerme Schmerzen?


-----------------------------------------------------------------------------



Re^24: Brockhaus-Kalender (Murkes, 19. Feb 1997, 12:35:04):
~#! rn=Cauno rt=856351130 rg=puiz
~#! tid=852544867
Ich lese hier immer Meteorit... Geht man in der gaengigen These nicht vielmehr
von einem Kometenkern aus? Das grosse Sterben soll dann auch durch die
diversen giftigen Substanzen aus diesem Kometenkern ausgeloest worden sein.
Tiefbohrungen des Meeresboden unterstuetzen diese These.

Murkes (will auch mal was beitragen)

-----------------------------------------------------------------------------



Re^25: Brockhaus-Kalender (Qume, 19. Feb 1997, 12:36:35):
~#! rn=Murkes rt=856352104 rg=puiz
~#! tid=852544867
Ja, ja, und Fox Moulder (oder wie man den schreibt) hat es schon immer 
gewusst...

-----------------------------------------------------------------------------



Re^25: Brockhaus-Kalender (Cauno, 19. Feb 1997, 12:37:56):
~#! rn=Murkes rt=856352104 rg=puiz
~#! tid=852544867
Vielleicht war das Giftgas ja das oben erwaehnte Chlor ... Weiss der Teufel,
was damals genau passiert ist, und selbst der ist sich nicht sicher.

C. No

-----------------------------------------------------------------------------



Re^26: Brockhaus-Kalender (Ringor, 19. Feb 1997, 12:43:06):
~#! rn=Cauno rt=856352276 rg=puiz
~#! tid=852544867
Zu dem Chlor muss mir sowieso noch jemand erklaeren, wo das hergekommen sein
soll. Hat der Meteroid oder was auch immer es war ganz nebenbei das Chlorid
aus dem Meerwasser oxidiert?

Ringor. Dummchemiker.

-----------------------------------------------------------------------------



Re^27: Brockhaus-Kalender (Cauno, 19. Feb 1997, 12:44:47):
~#! rn=Ringor rt=856352586 rg=puiz
~#! tid=852544867
was sonst? bei der energie, die bei so einem Einschlag frei wird, kann schon
das meersalz ionisiert werden (auch wenns immer noch etwas seltsam klingt
...).

C. No. Diplemm-Chemiker

-----------------------------------------------------------------------------



Re^28: Brockhaus-Kalender (Cauno, 19. Feb 1997, 12:45:54):
~#! rn=Cauno rt=856352687 rg=puiz
~#! tid=852544867
Verdampft, wollte ich sagen. Ionisiert ists ja schon ...

-----------------------------------------------------------------------------



Re^29: Brockhaus-Kalender (Grimmborn, 19. Feb 1997, 13:26:39):
~#! rn=Cauno rt=856352754 rg=puiz
~#! tid=852544867
Oh ja, so eine Wolke aus verdampften Chloridionen kann ich mir sehr gut
vorstellen... *kicher*

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^24: Brockhaus-Kalender (Socrate, 19. Feb 1997, 14:57:14):
~#! rn=Qume rt=856350646 rg=puiz
~#! tid=852544867
Oh mann, wie ich dass hasse!
 Jeder halbwegs vernuenftige Mensch soll also wissen, das Chomsky loedsinn
ist? Allein diese Phrase entlarvt dich schon. Da ich habe null Bock habe,
darauf noch irgendwie einzugehen, moechte ich nur verhindern, dass Leute
diesen Bloedsinn uebernehmen, indem ich klarstelle, das Chomsky zwar nicht
mehr den neusten Stand der Lingustik vertritt, er aber die Grundlagen
geschaffen hat, auf der alle modernen linguistischen Theorien aufbauen. Und
jeder halbwegs vernuenftige Mensch, der ueber Linguistik sein Senf ablassen
will, muss erstmal Chomsky gruendlich gelesen haben, um ueberhaupt zu
verstehen, worum es in der Linguistik ueberhaupt geht.

Socrate (wird naechstmal solchen Schwachsinn sofort nach Schmarrn verlegen.

-----------------------------------------------------------------------------



Re^25: Brockhaus-Kalender (Qume, 19. Feb 1997, 15:19:23):
~#! rn=Socrate rt=856360634 rg=puiz
~#! tid=852544867
**lach** Ja, ja, Grundlagenforschung schoen und gut, aber es ist einfach
peinlich, jahrelang auf einer falschen Meinung zu beharren!

Qume

-----------------------------------------------------------------------------



Re^24: Brockhaus-Kalender (Li, 20. Feb 1997, 09:00:45):
~#! rn=Cauno rt=856351130 rg=puiz
~#! tid=852544867
Aeh.. Kram....
Waerme foerdert die Durchblutung des verspannten Gewebes und traegt so zu
einer Entkrampung bei, da die Muskeln durch die staerkere Durchbutung
entspannt werden. (oder so).
aber nur bei Kraempfen, bei Entzuendungen ist Waerme genau das verkehrte, da
muss Kaelte her...
Li

-----------------------------------------------------------------------------



Re^24: Brockhaus-Kalender (Cauno, 20. Feb 1997, 12:14:11):
~#! rn=Cauno rt=856351130 rg=puiz
~#! tid=852544867
19.02. Schon Lehrer Laempel bekam gegen Bauchgrimmen ein Buegeleisen auf 
       den Leib. Warum lindert Waerme Schmerzen?

Erst einmal bleibt festzuhallten, dass wir im allgemeinen Waerme mit 
angenehmen Erfahrungen verbinden. Wenn nun ein Waermequelle - wir koennen 
hier waehlen zwischen Tee, Waermflasche, Grog, Kaschmirschal, Heizkoerper 
usw. usw. - an den schmerzenden Teil unseres Koerpers gebracht wird, 
werden Sinnesrezeptoren aktiviert, die dem Hirn melden, dass eine 
Temperaturveraenderung stattgefunden hat. Dadurch verschwindet zwar nicht 
der Schmerz, aber die *Ablenkung* laesst uns den Schmerz weniger stark 
empfinden. Und da uns angenehme Gefuehle und Schmerzlinderung durch 
Waerme vertraut sind und wir sie schon erwarten, stellen sie sich auch ein.


20.02. Sicher sind Sie heute morgen mit dem ersten Hahnenschrei aus dem Bett.
       Warum kraehen Haehne nur so frueh?


-----------------------------------------------------------------------------



Re^4: SF-Quiz III (Raffi, 20. Feb 1997, 19:18:27):
~#! rn=Cauno rt=856178181 rg=puiz
~#! tid=854704108
Ich schaetz mal das es weniger das V ist, als die geringe Bekanntheit des
Namens in Deutschland. (Laureline klingt ja auch eher wie Latriene.)

Gruss
H. (<- Findet Tim&Struppi auch besser als Tintin)

-----------------------------------------------------------------------------



Re^25: Brockhaus-Kalender (Cauno, 21. Feb 1997, 13:06:17):
~#! rn=Cauno rt=856437251 rg=puiz
~#! tid=852544867
20.02. Sicher sind Sie heute morgen mit dem ersten Hahnenschrei aus dem Bett.
       Warum kraehen Haehne nur so frueh?

Fruehmorgens haben alle Voegel ihre aktivste Zeit. Dann wird auch am 
meisten gesungen.
Mit dem morgendlichen Kraehen signalisiert der Hahn den *Herrschafts- 
anspruch* ueber sein Revier und seine Hennen. Das ist die rechte Zeit, da 
hoert es jeder, den es angeht. Viele der dann im Laufe des Tages vom Hahn 
getaetigten Aeusserungen dienen anderen Zwecken, wie dem, die 
Huehnerschar zusammenzuhalten, sie zusammenzurufen oder mit Mitgliedern, 
die sich gerade ausser Sichtweite aufhalten, Kontakt zu pflegen.


21.02. Jeder Hotelgast kennt es: das zum V gefaltete erste Blatt der
       Toilettenpapierrolle. Wozu dient es?


-----------------------------------------------------------------------------



Re^26: Brockhaus-Kalender (Grimmborn, 21. Feb 1997, 13:51:24):
~#! rn=Cauno rt=856526777 rg=puiz
~#! tid=852544867
V - "victory" - das von Churchill populaer gemachte Siegeszeichen. Leute mit
Haemorrhoiden koennen uever dieses V vermutlich nicht lachen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Ein Puiz der anderen Art (Grimmborn, 21. Feb 1997, 15:00:47):
So, um mal wieder ein bischen was geradezuruecken habe ich mir erlaubt ein
Bibel-Puiz zusammenzustellen. Dies ist der Teil, der sich mit dem alten 
Testament beschaeftigt. Es ist erstaunlich, wieviel von dem Gedankengut
den Weg in den taeglichen Sprachgebrauch gefunden hat.
Ich halte das Puiz fuer sehr leicht, ich haette bei keiner Frage nach-
schauen muessen (was natuerlich auch nicht verboten ist), lediglich um
bei den Antworten mit Stellenangaben protzen zu koennen hab ich nach-
geschlagen. Fuer die Antworten ist natuerlich keine Stellenangabe erforder-
lich. Mitmachen kann jeder, ob mit oder ohne Bibel. Ausser Acrimon, von ihm 
will ich entweder Antworten ohne Bibel (sollte ja kein Problem sein) oder
mit genauer Stellenangabe (Altes Testament reicht da nicht). Gleiches Recht
fuer alle? Nicht bei mir!

Preise? Hmm, es sollte Preis genug sein, ein Bibelpuiz des Atheisten 
gewonnen zu haben. Aber weil mit Idealismus ja bekanntlich nichts zu 
reissen ist hier ein paar Vorschlaege:

1. Preis: Eine Autoloadwaffe meiner Wahl.
2. Preis: Ein von mir gewaehlter und eigenhaendig gesetzter Titel.
3. Preis: Demonstration eines frei gewaehlten Magierworkrooms.
          Das ist uebrigens nicht unbedingt ungefaehrlich...
4. Preis: Passend zum Thema: eine erstklassige Gelegenheit zum beten.
          Fuer den vorhergehenden Tod sorge ich dann.
5. Preis: Fuer die Materialisten auch etwas: 5 Muenzen (illegal geclont).
Magier gehen wie immer leer aus.

Antworten per mail an mich (mein Postfach ist eh zu gross), und sollte sich 
jemand beteiligen drohe ich mit einer Fortsetzung zum Neuen Testament. 
Sollte ich ausschliesslich voellig richtige Antworten bekommen muss ich 
die dann aber schwerer machen. Und mir mehr Preise ueberlegen.


1) Im alten Testament gibt es drei Koenige ueber ganz Israel. Welche?

2) Mit Musik geht alles besser. Auch im Krieg. Welche Stadt in welchem Land
   wurde mithilfe welchen Instrumentes besiegt?

3) Josef hatte viele Brueder, deren Namen sich normalerweise keiner merkt.
   Den Namen des Juengsten aber kennt man doch, weil er auch gelegentlich
   als Synonym fuer juengere Brueder allgemein gilt. Wie lautet er?

4) Wer kennt nicht "Stairway to Heaven" von Led Zeppelin? Dieses Bild von
   der Himmelstreppe hat seine Wurzeln in einer weiteren bekannten Geschichte.
   Wer hat diese Himmelsleiter gesehen?

5) Das Trachten des Menschen ist boese von Jugend auf (1.Mose 8, 21), aber
   natuerlich nicht von ungefaehr. Ein Tier, eine Frucht und noch wer sind
   schuld daran. Welche drei?

6) Wie alt der aelteste Mann geworden ist ist weniger interessant. Aber 
   der Name ist doch gelaeufiger. Wie lautet er?

7) Welche Bedeutung hat der Regenbogen?

8) Anfangs gab es nur eine Sprache. Das hat sich geaendert. Wo und wobei?

9) Es gibt zwei Staedte, die als Inbegriff der Suende und Verderbtheit
   zerstoert werden. Der Frau eines der aus diesen Staedten geretteten
   widerfaehrt dabei etwas sehr merkwuerdiges, was sie ebenso beruehmt
   wie tot macht als sie sich umblickt. Auch das ist eine feste Rede-
   wendunge geworden. Worum geht es hier?

10) Abraham hatte zwei Soehne, Jakob und Esau. Wer von beiden der Erstgebor-
    rene war ist eine vertrackte Geschichte, denn der eine verkaufte es dem 
    anderen. Wer verkaufte es wem und vor allem: Was war der Preis?

11) Wie das Volk Israel nach Aegypten gekommen ist, ist eine komplizierte
    Geschichte. Wie es wieder rausgekomemn ist zwar auch, jedoch eine
    ungleich bekanntere. Wer fuehrte das Volk aus Aegypten?

12) Bevor das Volk Israel gehen "durfte" aus Aegypten musste ein wenig 
    Druck angewandt werden, es kam zu 10 Plagen (die man sich auch nicht
    alle merken kann). Bekannt ist allerdings die letzte, nach der sie dann
    endlich ziehen durften. Wie sah sie aus?

13) Es gibt eine Figur, der alles nur erdenklich Schlimme widerfaehrt und
    die doch nicht im Glauben an Gott ablaesst. Auch diese Figur ist in den
    Sprachgebrauch eingegangen. Wie heisst sie?

14) Ein Buch des Alten Testamentes wird von der katholischen Kirche als
    "Symbol fuer die Vereinigung Jesu mit der Kirche" angesehen, ist in 
    Wirklichkeit aber eine der aeltesten erhaltenen Beispiele fuer erotische
    Literatur. Ausserdem eines der schoensten. Welches?

15) Naja, der Propheten gibt es viele. Hier ist nach einem gefragt, der 
    fuer die Zeugen Jehovas besonders wichtig ist. Ausserdem ist er ein 
    Begriff als jemand, der in der Loewengrube ist. Vielleicht erinnert 
    man sich auch noch daran, dass ein paar Freunde von ihm waehrend einer
    der vielen babylonischen Gefangenschaften in einen Ofen geworfen 
    wurden ohne dass einem von ihnen was passierte. 
    Wer ist dieser bemerkenswerte Mann?

16) Einen Propheten hab ich noch. Eine weniger bekannte Tatsache ist wohl,
    dass er sich ueber absterbende Stauden aergert. Etwas bekannter ist 
    vielleicht, dass er sich aergerte, als er mit viel Muehe und Gefahr
    einer Stadt den Untergang predigt, die Einwohner sich das zu Herzen
    nehmen und die Stadt verschont wird. Und noch viel mehr hat er sich 
    geaergert, als er vor dem Auftrag fliehen wollte und er auf durchaus
    nicht alltaegliche Weise den Weg vom Schiff ans Land fand, ohne dabei
    die Sonne sehen zu koennen. Welcher Prophet ist es?

17) Noch einmal back to the roots: Von nichts kommt nichts (Shakespeare, 
    King Lear). Der Mensch ist aus Lehm gemacht, die Frau hingegen nicht. 
    Woraus ist sie entstanden?


Grimmborn der Atheist


-----------------------------------------------------------------------------



Re^26: Brockhaus-Kalender (Vogel, 22. Feb 1997, 17:42:58):
~#! rn=Cauno rt=856526777 rg=puiz
~#! tid=852544867
Voegel ?? Frueh ??
Also ich halte das fuer ein geruecht, das Voegel frueh aufstehen.


CU

Vogel.


-----------------------------------------------------------------------------



Re^27: Brockhaus-Kalender (Asmodis, 22. Feb 1997, 19:18:37):
~#! rn=Vogel rt=856629778 rg=puiz
~#! tid=852544867
Aehem, wohnst du mitten in der Stadt ? Dann kannst du es nicht wissen,
aber es stimmt, dass Voegel fruehmorgens den meisten Krach machen :)

-----------------------------------------------------------------------------



Re^25: Brockhaus-Kalender (Kretek, 24. Feb 1997, 11:33:59):
~#! rn=Socrate rt=856360634 rg=puiz
~#! tid=852544867
Also, ich stimme Qume aus ganzer Seele zu.


       | /  |\  |--  ---  |--  | /
       |<   |/  |-    |   |-   |<
       | \  |\  |--   |   |--  | \

-----------------------------------------------------------------------------



Star Trek Quiz bisherige Antworten weg :( (Jimdigriz, 24. Feb 1997, 13:41:22):
Hallo Leute,

Leider sind alle Antworten zum Star Trek Quiz 
sie bisher an mich geschickt wurden im Nirvana gelandet.
Schuld daran war das email-gateway nach draussen, das
aufrgrunf eines vollen root-verzeichnisses die mails
gefressen hat.
Ich habe den nachsendeauftrag storniert, so dass ich wieder
mails empfangen koennen sollte.
Wems nicht zuviel Arbeit ist, der kann mir seine 
Loesung nochmal schicken.

Tut mir Leid fuer den Stress,
 und flamed nicht Loco, der kann nix dafuer.

Ciao
 Jim DiGriz

-----------------------------------------------------------------------------



Re^28: Brockhaus-Kalender (Cauno, 24. Feb 1997, 13:50:11):
~#! rn=Asmodis rt=856635517 rg=puiz
~#! tid=852544867
Vogel sprach wohl mehr fuer sich selbst ...

C. No

-----------------------------------------------------------------------------



Brockhaus 9-1 (Cauno, 24. Feb 1997, 13:52:35):
So, es geht weiter eine kleine Aenderung, auf Pra's Wunsch: Ich werde nicht
mehr auf meine vorherigen Fragen Antworten, d.h. wenn euch der thread nich
interessiert, koennt ihr ihn uebergehen, ohne dabei die nachste antwort mit
der frage zu killen.

21.02. Jeder Hotelgast kennt es: das zum V gefaltete erste Blatt der
       Toilettenpapierrolle. Wozu dient es?

Ein *Raetsel* der weltweiten Alltagskultur.
Kein Mensch kaeme auf die Idee, zu Hause Toilettenpapier zu falten, als 
sei es eine Serviette. Und wenn Hotels damit signalisieren wollten, es 
handele sich um unbenutztes Klopapier, so koennte man das - gelinde 
gesagt - als ueberfluessig bezeichnen. Aber die Hotels moechten gerne 
ihre Gaeste davon ueberzeugen, dass das Hotelzimmer seit der Abreise des 
letzten Gastes gereinigt wurde. So falten also die Zimmermaedchen das 
Toilettenpapier, um uns damit zu versichern, dass seit der Reinigung 
niemand die Toilette benutzt hat. Und dieser kleine "Trick" ist so subtil 
und effektiv, dass er sich in den letzten Jahrzehnten weltweit 
durchgesetzt hat.


22./23.02. Bei welcher Art Pferdewette gehen Sie nie leer aus?


24.02. Den Tennisreportern kommt der Begriff immer so locker ueber die Zunge.
       Was heisst eigentlich "Grand Slam"?


-----------------------------------------------------------------------------



Re: Ein Puiz der anderen Art (Snuggle, 25. Feb 1997, 14:27:05):
~#! rn=Grimmborn rt=856533647 rg=puiz
~#! tid=856533647
Endlich mal ein Puiz, bei dem ich auf Anhieb mehr als die Haelfte der 
Fragen beantworten kann - haett ich bei dem Thema gar nicht gedacht :-)

snuggle

-----------------------------------------------------------------------------



Re^4: klitzekleines Raetsel (Flora,  3. Mar 1997, 10:47:20):
~#! rn=Gast1 rt=855822356 rg=puiz
~#! tid=855689450

Okay,  nachdem ich in der vergangenen Woche nicht ins MG konnte, hier nun
endlich mal die Loesung fuer das Raetsel nach dem Komponisten mit der
Nationalhymne.
Es handelt sich um den Franzosen Camille Saint-Saens, der in Algier gestorben
ist und unter anderem die Nationalhymne von Uruguay komponierte.

-----------------------------------------------------------------------------



Nochn Musikpuiz (Flora,  3. Mar 1997, 10:50:27):
Hi, Leute,

Nach der ueberwaeltigenden Reaktion auf mein letztes Musikpuiz hier 
gleich noch eins hinterher. Diesmal allerdings ohne Noten, also auch fuer 
InformatikerInnen und WirtschaftswissenschaftlerInnen und 
WasweisichfuerstudentInnen spielbar. Die Preise sind dieselben wie beim 
letztenmal:
 1. Preis: 7920 Muenzen
 2. Preis: Ein Stueck Schwarzwaelder Kirschtorte
 3. Preis: Eine Segnung.

Zeit habt Ihr diesmal gut eine Woche, sagen wir bis Montag, den 10.
Maerz. Loesungen bitte per MGmail an mich (Flora).

Das Puiz besteht aus zwei Teilen.


   1. Teil: Symphonische Alis

Einige Komponisten haben ihre Symphonien einfach durchnumeriert, andere 
haben einigen Beinamen gegeben; wieder anderen Symphonien sind die 
Beinamen spaeter von Musikern, Kritikern etc. angehaengt worden. 
--Jedenfalls sind viele Symphonien unter ihren Beinamen bekannter als
unter ihren Nummern. Von welchen Komponisten stammen folgende Symphonien?

 1. Abschieds-Symphonie
 2. Alpen-Symphonie
 3. Auferstehungs-Symphonie
 4. Der Titan
 5. Die Uhr
 6. Englische Symphonie
 7. Eroica
 8. Fruehlings-Symphonie
 9. Italienische Symphonie
10. Jupiter-Symphonie
11. Kinder-Symphonie
12. Lobgesang-Symphonie
13. Mathis-der-Maler-Symphonie
14. Militaer-Symphonie
15. Oxford-Symphonie
16. Pastorale
17. Reformations-Symphonie
18. Rheinische Symphonie
19. Romantische Symphonie
20. Schicksals-Symphonie
21. Schottische Symphonie
22. Schweizer Symphonie
23. Simple Symphony
24. Symphonie aus der Neuen Welt
25. Symphonie classique
26. Symphonie der Tausend
27. Symphonie pathetique
28. Symphonie phantastique
29. Symphonie mit dem Paukenschlag
30. Tragische Symphonie
31. Trauer-Symphonie
32. Unbegun Symphony
33. Unvollendete Symphonie
34. Wintertraeume


   2. Teil: [Tod:Lars] ... hat gerade Komponist1 umgebracht

Es folgen die abschliessenden Absaetze der Biographien einiger 
Komponisten. Um welche Komponisten handelt es sich jeweils?

Komponist1: Ironischerweise war eine sehr romantische Situation der Nagel 
zum Sarg von Komponist1, war er doch ein wichtiger Vertreter der 
Romantik. Auf einer Eisenbahnfahrt nach Bayreuth sass er in einem Abteil 
mit einem jungen Paerchen, das bei offenem Fenster das Mondlicht 
bewunderte. Leider bescherte die Zugluft ihm eine Lungenentzuendung, an 
der er kurze Zeit spaeter starb.

Komponist2: Er gilt als Erfinder des Taktstocks, welcher damals aber noch 
um einiges groesser war und nicht durch die Luft geschwungen sondern im 
Takt der Musik auf den Boden gestampft wurde. Leider traf Komponist2 
dabei einmal seinen Fuss, zog sich eine Blutvergiftung zu und starb daran.

Komponist3: Ueber seinen Tod gibt es mehrere Theorien. Einer Theorie 
zufolge hatte er sich auf einem Volksfest mit Syphilis infiziert, ist 
dann allerdings nicht an dieser Krankheit gestorben, sondern an der 
Unfaehigkeit des behandelnden Arztes, der mit der schwierigen 
Quecksilber-Behandlung ueberfordert war und dem Komponisten eine 
Ueberdosis davon verpasst hat.

Komponist4: Auch bei ihm kennt man die genaue Todesursache nicht, da sich 
sein Tod fernab der Oeffentlichkeit in einer Nervenheilanstalt abspielte, 
in die ihn seine Frau und seine Verwandten nach einem Selbstmordversuch 
im Rhein einweisen mussten.

Komponist5: Und noch ein Selbstmoerder: Waehrend des 2. Weltkrieges lebte 
Komponist5 in staendiger Furcht davor, zum Militaer eingezogen zu werden. 
Mehrmals erreichte er einen Aufschub. Schliesslich erschien ihm seine 
Situation so ausweglos, dass er sich mit Hilfe des Gasherdes das Leben 
nahm. Besonders tragisch daran ist die Tatsache, dass zwei Tage spaeter 
der Bescheid seiner endgueltigen Freistellung mit der Post eintraf.

Komponist6: Ursache fuer seinen Tod war letztlich ein Autounfall: Ein 
Taxi, in dem er sass, stiess mit einem anderen Wagen zusammen. Zunaechst 
schien er keinen Schaden genommen zu haben. Einige Jahre spaeter stellten 
sich jedoch Laehmungserscheinungen ein. Schliesslich rieten die Aerzte zu 
einer Gehirnoperation, bei der er in ein Koma fiel, aus dem er nicht mehr 
erwachte.

Komponist7: Zum Verhaengnis wurde ihm seine Neigung zum eigenen 
Geschlecht: Er hatte ein Verhaeltnis mit einem jungen Adligen, weswegen 
sich die Aristokratie seines Landes entschloss, ihm den Selbstmord 
nahezulegen, um einen Skandal zu vermeiden. Er gehorchte und trank 
choleraverseuchtes Wasser; ein paar Tage spaeter war er tot.

Komponist8: Hier war der Alkohol schuld: Als Komponist8 zum wiederholten 
Male sturzbetrunken mitten in der Nacht nach Hause kam, wurde es seiner 
Frau zu bunt: Sie liess ihn einfach draussen stehen, woraufhin er sein 
Nachtlager auf der Strasse aufschlug. Leider war es schon etwas spaeter 
im Jahr, und er erkaeltete sich stark, aus der Erkaeltung wurde eine 
Lungenentzuendung, und wie Komponist1 starb er daran.

Komponist9: Zum Abschluss noch ein Tod, der auf spektakulaere Weise 
unspektakulaer war: Er wurde von der Oeffentlichkeit naemlich ueberhaupt 
nicht registriert. Das lag daran, dass am selben Tag (einem 5. Maerz) nur 
3 Stunden spaeter der Regent des Heimatlandes von Komponist9 starb, und
die Bevoelkerung darueber so betruebt (oder erfreut?) war, dass die 
Nachricht des Todes von Komponist9 einfach unterging.

-----------------------------------------------------------------------------



Re: Nochn Musikpuiz (Hardil,  3. Mar 1997, 11:46:06):
~#! rn=Flora rt=857382627 rg=puiz
~#! tid=857382627
Komponist8 war harald Juhnke?
,

-----------------------------------------------------------------------------



ST Quiz (Jimdigriz,  3. Mar 1997, 18:19:43):
Hoi Trekkies,

also ich habe bisher 3 Antworten bekommen,
wenn sich in einer Woche keiner mehr ruehrt, 
werde ich die Ergebnisse sowie die "Musterloesung"
veroeffentlichen.

Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Wenn man mal wieder idle ist... (Hardil,  4. Mar 1997, 11:56:55):
~#! on=Hardil ot=857472981 og=schmarrn

Du hast jetzt 147 Lebenspunkte und 78 Magiepunkte.
Du hast jetzt 148 Lebenspunkte und 79 Magiepunkte.
Du hast jetzt 149 Lebenspunkte und 80 Magiepunkte.
Edja kommt an.
Du hast jetzt 150 Lebenspunkte und 81 Magiepunkte.
Du hast jetzt 151 Lebenspunkte und 82 Magiepunkte.
Edja fragt Dich: Nach krawatte?
Du hast jetzt 152 Lebenspunkte und 83 Magiepunkte.
Du hast jetzt 153 Lebenspunkte und 84 Magiepunkte.
Edja fragt Dich: Nach casino?
Edja geht nach unten.
Du hast jetzt 154 Lebenspunkte und 85 Magiepunkte.
Du hast jetzt 155 Lebenspunkte und 86 Magiepunkte.
Du hast jetzt 156 Lebenspunkte und 87 Magiepunkte.


Und nun die Preisfrage:

Wo stand ich gerade?

1. Preis: Einmal mit mir gemeinsam in meinem Seherhaus rumidlen.
2. Preis: 10000 Muenzen nach Wahl
3. Preis: Das vertrauliche Datum, an dem Durian Geburtstag hat

-Hardil.

-----------------------------------------------------------------------------



Brockhaus 10-2 (Cauno,  4. Mar 1997, 13:12:16):
22./23.02. Bei welcher Art Pferdewette gehen Sie nie leer aus?

Bei einer *"Pool"-Wette*. Dabei werden die Gewinne zusammengelegt und
unter die "Pool"-Mitglieder verteilt. Vor gorssen Rennen treffen sich
Privatpersonen, die zusammen einen "Pool" bilden. Wer auf welches Pferd
setzen darf, wird mittels einer Versteigerung geklaert. Fuer den
Favoriten muss man dabei naturgemaess am tiefsten in die Tasche greifen.
Dann wird das ganze Geld dem Pool-Leiter bis nach dem Renne anvertraut.
Die Gewinne werden meist nach folgendem Schluessel verteilt: 60% fuer den
Sieger, 20% fuer den Zweiten, 10% fuer den Dritten. Die restlichen 10%
werden unter die Verlierer verteilt. Und machen Sie sich keine Sorgen:
Die private Wettgemeinschaft ist voellig legal.


24.02. Den Tennisreportern kommt der Begriff immer so locker ueber die Zunge.
       Was heisst eigentlich "Grand Slam"?

Im Amerikanischen bezeichnet das Wort umgangssprachlich einen
Handstreich, und daher soll sich auch der Sportbegriff herleiten.
"Grand Slams" gibt es aber nicht nur im Tennis. Die vier "Grand-Slam"-
Turniere im Golf sind das Masters Turnier in Augusta, USA, die offenen  
Meisterschaften Grossbritanniens und der USA und das Turnier der
Professional Golf Association (PGA). "Grand Slams" gibt es auch bei
englischen Kartenspielen wie Whist und Bridge, bei denen man dafuer alle
13 Stiche einheimsen muss. Auf deutsch nennt man das *"Grosser Schlemm"*.
Waeren wir SPrachpuristen, die jedes Fremdwort ablehnen, muessten wir   
konsequenterweise Steffi Graf als Gewinnerin des "Grossen und Goldenen
Schlemms 1988" bezeichnen.


25.02. Talleyrand war 40 Jahre lang einer der maechtigsten Staatsmaenner
       Europas. Wem verdankte er seine glaenzende Karriere?


26.02. Luegen koennen sehr lange Beine haben.
       Was ist die wohl folgenreichste Faelschung aller Zeiten?


27.02. Woher stammt das gute alte deutsche Wort Brille?


28.02. Welche Hiobsbotschaft hat Hiob eigentlich bekommen?


01./02.03. Welches afrikanische Saeugetier lebt seit 30 Millionen Jahren
           auf der Erde?

           
03.03. Vielleicht haben Sie sich das beim letzten Romaufenthalt gefragt:
       Wer hat die schicken Uniformen der Schweizergarde entworfen?


04.03. Immer der Nase lang.
       Wo findet sich die laengste schnurgerade Verkehrsstrecke der Welt?


Ein bisschen viel auf einmal vielleicht, aber nach dem letzten Crash war ich
noch erkaeltet ...

C. No

-----------------------------------------------------------------------------



Re: Brockhaus 10-2 (Grimmborn,  4. Mar 1997, 15:00:44):
~#! rn=Cauno rt=857477536 rg=puiz
~#! tid=857477536
25.02. Wer war Talleyrand? So maechtig kann er nicht gewesen sein...
26.02. Die Konstantinische Schenkung (wobei die Behauptung deutlich aelter ist
       als die Faelschung)
28.02. Die alle aufzaehlen? Letztlich war das eine Wette zwischen Gott und dem
       Teufel, dass der Teufel alles versuchen duerfe ausser Hiob
umzubringen,
       um Hiob vom Glauben abfallen zu lassen. Der Teufel _hat_ so ziemlich
       alles versucht...
01.03. Ich glaube definitiv an kein Saeugetier das 30 Mio Jahre alt werden
       kann.
03.03. Sorry, Mode ist nun wirklich nicht meine Spezialitaet.
04.03. Das ist die Hauptstrasse von Bornheim-Merten. Hat zwar nicht so viele
       Kilometer, wenn man sie langfaehrt kommt es einem aber wie eine 
       Ewigkeit vor.

Was gibts eigentlich zu gewinnen?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Brockhaus 10-2 (Cauno,  4. Mar 1997, 15:21:32):
~#! rn=Grimmborn rt=857484044 rg=puiz
~#! tid=857477536
Ich glaube, fuenf punkte fuer Originalitaet koennen wir ihm geben, oder?

-----------------------------------------------------------------------------



nochmal ST Quiz (Jimdigriz,  5. Mar 1997, 01:27:04):
Hoi 

also nochmal, da es wohl einige nicht mitbekommen haben:
Die erste Fuhre Loesungen die an mich geschickt wurden
gingen aufgrund des mailproblems verschuett.
Folgende Leute haben mir bisher nochmal eine Loesung
geschickt: Cau No, Gralkor, Asmodis.
Falls sonst noch wer mitmachen wollte und dems nicht
zuviel ist das nochmal zu schicken, der tue das
bitte (Hallo Gul Dukat).
Ansonsten gibts so in ca einer Woche die Aufloesung.

Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Brockhaus 10-3 (Cauno,  5. Mar 1997, 10:20:54):
25.02. Talleyrand war 40 Jahre lang einer der maechtigsten Staatsmaenner
       Europas. Wem verdankte er seine glaenzende Karriere?

Seiner *Amme*.
Sie liess Charles Maurice de Talleyrand (*1754, +1838) als kleines Kind
zu Boden fallen. Die Folge war ein verkrueppelter Fuss, und der zog fuer
den kleinen Spross des alten franzoesischen Hochadels weitreichende   
Konsequenzen nach sich. Er verlor sein Erstgeburtsrecht und auch die  
Aussicht auf eine sonst vorprogrammierte glaenzende Offizierskarriere.
So uebte er zunaechst ein geistliches Amt aus und wurde spaeter
Politiker, u.a. Aussenminister Napoleons und Ludwigs XVIII. Den Verlust 
des Erstgeburtsrechts machte er allemal wett. 1806 wurde er Fuerst von   
Benevent, 1807 Herzog von Tallerand-Perigord und 1815 neapolitanischer
Herzog von Dino.
Was man so alles daraus machen kann, wenn man mal auf dem falschen Fuss
erwischt wird ...


26.02. Luegen koennen sehr lange Beine haben.
       Was ist die wohl folgenreichste Faelschung aller Zeiten?

Die *Donatio Constantini*, die sogenannte Konstantinische Schenkung. 
Kaiser Konstantin der Grosse (*um 280, +337) machte das Christentum zur 
Staatsreligion und vermachte in einer Schenkungsurkunde dem Papst 
angeblich die weltliche Herrschaft ueber Rom und das gesamte Abendland. 
Merkwuerdigerweise tauchte dieses Dokument erst im 9. Jahrhundert auf, 
als es Konflikte mit der Ostroemischen Kirche gab. Schon im 10. und 
nochmals im 15. JAhrhundert wurde es als Faelschung erkannt, was die 
Paepste aber nicht davon abhielt, sich zur Legitimation ihrer politischen 
Ambitionen immer wieder darauf zu berufen. Erst im 19. Jahrhundert 
erklaerte auch der Vatikan, dass die Donatio Constantini eine Faelschung war.


27.02. Woher stammt das gute alte deutsche Wort Brille?

Es wurde um das Jahr 1300 gepraegt und steht im Mittelhochdeutschen 
("berille", "barille") in der Mehrzahl. In dieser Zeit wurden *Brillen 
aus Beryll* (ein griechisches Wort, das sich wiederum aus einem 
altindischen ableitet) hergestellt, einem Material, das weisslich-gelbe, 
oft meterlange Kristalle bildet. Spaeter nahm man Bergkristall und 
schliesslich Glas. Beryll eignet sich z.B. in gruenen und blassblauen 
Varianten hervorragen zum Verschenken: als Smaragd und Aquamarin.


28.02. Welche Hiobsbotschaft hat Hiob eigentlich bekommen?

Im ersten Kapitel des alttestamentlichen Buches Hiob bringen Diener ihrem 
reichen Herrn eine *Ungluecksmeldung* nach der anderen: Seine Esel und 
Rinder haben Raeuber aus Saba gestohlen, seine Kamele wurden von 
Chaldaeern geraubt, seine Hirten und Waechter wurden umgebracht, Hiobs 
Schafherde wurde samt Schaefer vom Blitz dahingerafft, und dann kam da 
noch ein Wuestenwind daher, der das Haus seiner Kinder umwarf und alle 
Soehne und Toechter darin begrub.
Viele Leute haben schon aus geringerem Anlass zum Strick gegriffen, nicht 
aber so unser wackerer Hiob. Laut Buch Hiob, Kapitel 1, Vers 21 sprach er:
"Der Herr hat's gegeben, der Herr hat's genommen, gelobt sei der Name des 
Herrn."


01./02.03. Welches afrikanische Saeugetier lebt seit 30 Millionen Jahren 
           auf der Erde?

Das *Okapi*, auch Wald- oder Kurzhalsgiraffe genannt, das in den 
Urwaeldern Zentralafrikas geheimatet ist. Es hat sich in den 30 Millionen 
Jahren kaum veraendert. Man entdeckte es erst 1901.
1797 fand man in Australien ein im Wasser lebendes Saeugetier, das unsere 
Erde noch viel laenger bewohnt: das Schnabeltier. Es treibt sich hier 
seit mindestens 150 Millionen Jahren herum. Es ist die einzige Art der 
von Zoologen hoechst unfein so bezeichneten Familie der Kloakentiere.


03.03. Vielleicht haben Sie sich das beim letzten Romaufenthalt gefragt:
       Wer hat die schicken Uniformen der Schweizergarde entworfen?

Kein Geringerer als *Michelangelo* (*1475, +1564).
Papst Julius II. (*1443, +1513) hatte ihn 1505 nach Rom berufen, um sich 
von ihm sein Grabmal bauen zu lassen. Im folgenden Jahr stellte der Papst 
die Wachmannschaft des Vatikans aus Schweizer Soeldnern auf und 
verschaffte Michelangelo einen kleinen Nebenverdienst als Renaissance- 
Versace. Anfangs war die Truppe noch 6000 Mann stark, heute sind es nur 
noch 100, die ihren mindestens zweijaehrigen Dienst im Vatikan versehen - 
immer noch so schick gestylt wie vor fast 500 Jahren!
Bezahlt hat den ganzen modischen Firlefanz damals uebrigens das reiche 
Augsburger Kaufmannsgeschlecht Fugger.


04.03. Immer der Nase lang.
       Wo findet sich die laengste schnurgerade Verkehrsstrecke der Welt?

Im suedlichen *Australien*. Dort durchquert die Eisenbahn zwischen 
Kalgoorlie westlich von Perth und dem noerdlich von Adelaide am Spencer- 
Golf gelegenen Port Augusta die Nullarbor Plain. Die Ebene zwischen der 
Grossen Australischen Bucht und der Grossen Victoriawueste dehnt sich 
landeinwaerts 400 km aus und hat eine Breite von 1200 km. Hier verlaeuft 
die transkontinentale Bahnstrecke ohne jede Kurve 530 km schnurgerade 
durch ein menschenleeres, baumloses Gebiet.


05.03. Bei einem Schiffbruch verlor er fast alles, aber was er rettete, 
       macht noch heute seinen Weltruhm aus. Wer wars?


-----------------------------------------------------------------------------



SF-Quiz, die vierte (Cauno,  5. Mar 1997, 10:23:47):
So, es ist wieder Zeit, die Leute zu nerven.
Diesmal versuche ich etwas anderes; (mir gehen naemlich doch langsam die
Fragen aus.)

51. Welche Schiffe spielten jeweils eine wichtige Rolle in den folgenden 
    Filmen oder Serien?

    a) 2001 - Odyssee im Weltraum
    b) Alien
    c) 2010 - Das Jahr, in dem wir Kontakt aufnehmen
    d) Star Trek II - Der Zorn des Khan (NICHT die Enterprise!)
    e) Abyss
    f) Der Mann aus Atlantis (TV-Serie)
    g) Star Trek IV - Zurueck in die Gegenwart
    h) Der letzte Countdown
    i) Mission Galactica - Angriff der Cylonen (NICHT die Galactica!)
    j) Captain Future (TV-Serie, Zeichentrick)

Viel Spass auch.

C. No

-----------------------------------------------------------------------------



Re: nochmal ST Quiz (Guldukat,  5. Mar 1997, 10:54:16):
~#! rn=Jimdigriz rt=857521624 rg=puiz
~#! tid=857521624
jaja! ;)
GD

-----------------------------------------------------------------------------



Re: Brockhaus 10-2 (Li,  6. Mar 1997, 09:46:07):
~#! rn=Cauno rt=857477536 rg=puiz
~#! tid=857477536
3.3. Michelangelo (der, der auch in der sixtinischen Kapelle (heute wuerde man
Band sagen) gespielt hat) :)
28.2. ach ne ganze Menge, unter anderem, dass seine Soehne gestorben sind...

-----------------------------------------------------------------------------



Brockhaus 10-4 (Cauno,  6. Mar 1997, 10:50:58):
05.03. Bei einem Schiffbruch verlor er fast alles, aber was er rettete, 
       macht noch heute seinen Weltruhm aus. Wer wars?

Der portugiesische Dichter *Luis Var de Camoes* (*1524/25, +1580), dessen 
Hauptwerk "Die Lusiaden" in seinem Heimatland als Nationaldichtung gilt. 
Bei einem Schiffbruch vor Goa verlor er seinen gesamten Besitz und konnte 
einzig das Manuskript seines Epos retten. Camoes war ein etwas heftiger 
und schwieriger Charakter. Bei einem Feldzug in Nordafrika verlor er sein 
rechtes Auge, verletzte in Lissabon auf der Strasse bei einer Schlaegerei 
einen Hoefling, wanderte dafuer ein Jahr ins Gefaengnis und musste 
anschliessend an einer Expedition nach Indien teilnehmen. In Macao liess 
er sich als Verwaltungsbeamter gewisse "Unregelmaessigkeiten" zuschulden 
kommen und verdrueckte sich nach Goa. Er starb verarmt in Lissabon, 
vermutlich an der Pest.


06.03. Sonnenenergie gilt allgemein als eine Energieform der Zukunft.
       Wer entwickelte den ersten Sonnenkollektor?


-----------------------------------------------------------------------------



Loesung des Bibel-puiz! (Grimmborn,  7. Mar 1997, 17:48:53):
So, hier kommt die langerwartete Aufloesung des Bibel-Puiz. Ich gebe zu,
ich habe mit weniger Resonanz gerechnet, daher werde ich wohl gezwungen
sein, so um Ostern ein neues Puiz zu machen, dann aber zum Neuen 
Testament. Insgesamt kann man sagen, dass die Reaktionen zeigen, wie sehr
Wissen mit Glauben verwechselt wird. Wenn ich ein Puiz ueber national-
sozialistische Ideologie machen wuerde (und das fiele mir vermutlich nicht
einmal sonderlich schwer), wuerdet ihr dann alle glauben, dass ich ein Nazi
bin? Nunja, soweit dazu. Ich gebe zu beachten, dass ich mich in keinster 
Weise geaeussert habe...

Mitgemacht haben 14 Leute. Die Auswertung hab ich per LaTex-Tabelle gemacht
("versucht" waere passender), ich schicke gerne mal das .tex-file rum, wenn
mir das dann einer auf Querformat umstellen kann waere ich dankbar. ;-)
Erreichbar waren 27 Punkte, fuer alles, was gefragt war, halt ein Punkt.
Fuer Originalitaet oder wenn mir danach war gabs Zusatzpunkte. Ich schreibe
hier mal die ersten fuenf Plaetze auf, die vollstaendige Liste folgt dann am
Ende:
1) (Autoloadwaffe meiner Wahl): Zephyr mit 27.5 Punkten
2) (von mir gewaehlter und eigenhaendig gesetzter Titel): Atoz mit 27 Punkten
3) (Demonstration eines beliebigen Magier-workrooms auf eigene Gefahr):
   Alboin und Crolle, je 26 Punkte
4) (Gelegenheit zum beten, fuer die Ursache sorge ich): Yendi mit 24 Punkten
5) (5 illegal geclonte Muenzen): Ratz, Babs, Pampers, je 22 Punkte


Und hier die Loesungen, schoen kommentiert:

1) Im alten Testament gibt es drei Koenige ueber ganz Israel. Welche?
   - Saul, David, Salomo (1.Sam 10, 1; 1.Sam 15, 13; 1.Koen 1, 39)

2) Mit Musik geht alles besser. Auch im Krieg. Welche Stadt in welchem Land
   wurde mithilfe welchen Instrumentes besiegt?
   - Jericho in Kanaan mit Posaunen (Jos 6)
   Trompeten hab ich nicht gelten lassen, sicher waren zu der Zeit die
   Instrumente nicht in ihrer heutigen Form, aber "die Posaunen von Jericho" 
   sind doch sprichwoertlich geworden.

3) Josef hatte viele Brueder, deren Namen sich normalerweise keiner merkt.
   Den Namen des Juengsten aber kennt man doch, weil er auch gelegentlich
   als Synonym fuer juengere Brueder allgemein gilt. Wie lautet er?
   - Benjamin (1.Mose 35, 18)

4) Wer kennt nicht "Stairway to Heaven" von Led Zeppelin? Dieses Bild von
   der Himmelstreppe hat seine Wurzeln in einer weiteren bekannten Geschichte.
   Wer hat diese Himmelsleiter gesehen?
   - Jakob (1.Mose 28, 10-22)
   Mein lieber Bluemel, was soll denn Petrus im AT? ;-)

5) Das Trachten des Menschen ist boese von Jugend auf (1.Mose 8, 21), aber
   natuerlich nicht von ungefaehr. Ein Tier, eine Frucht und noch wer sind
   schuld daran. Welche drei?
   - Schlange, Apfel und die Frau (also Eva) (1. Mose 3, 1-6)
   Das hatten alle ausnahmslos richtig. ;-)

6) Wie alt der aelteste Mann geworden ist ist weniger interessant. Aber 
   der Name ist doch gelaeufiger. Wie lautet er?
   - Methusalem oder Metuschelach, 969 Jahre (1.Mose 5, 27)
   Es gab innovative Vorschlaege, wen ich alles meinen koennen sollte. Nein,
   ich meine weder Abraham, noch Adam, noch Hiob, der kommt erst in Frage 13
   vor.

7) Welche Bedeutung hat der Regenbogen?
   - Er ist die Bekraeftigung, dass Gott keine zweite Sintflut schicken
     wird. (1.Mose 9, 13) Wenn man sich die Offenbarung anschaut wird klar
     wieso: Er hat da noch ein paar ganz andere Methoden auf Lager...
   "Bund" war mir zu allgemein, aber wenn schon Bund dann "neuer Bund" und
   nicht alter (gell, Mahatma?). Jims Vorschlag, dass Licht aus farbigem
   Licht zusammengesetzt ist ist sehr originell, aber denn doch weit von der
   Wirklichkeit entfernt...

8) Anfangs gab es nur eine Sprache. Das hat sich geaendert. Wo und wobei?
   - Babel, beim Turmbau (1.Mose 11, 1-9)
   Hier hat Babs "Jehova" gesagt.

9) Es gibt zwei Staedte, die als Inbegriff der Suende und Verderbtheit
   zerstoert werden. Der Frau eines der aus diesen Staedten geretteten
   widerfaehrt dabei etwas sehr merkwuerdiges, was sie ebenso beruehmt
   wie tot macht als sie sich umblickt. Auch das ist eine feste Rede-
   wendunge geworden. Worum geht es hier?
   - Sodom und Gomorra, Lots Weib erstarrt zur Salzsaeule (1.Mose 19, 1-29,
     lohnt sich nachzulesen fuer Fans von sex&crime, vor allem Vers 8)
   Keiner mit null (von drei) Punkten. Ist doch auch was.

10) Abraham hatte zwei Soehne, Jakob und Esau. Wer von beiden der Erstgebor-
    rene war ist eine vertrackte Geschichte, denn der eine verkaufte es dem 
    anderen. Wer verkaufte es wem und vor allem: Was war der Preis?
    - Esau verkaufte es an Jakob, der Preis war ein Linsengericht. Ohne 
      Spaetzle. (1.Mose 25, 29-34)
    Hier ist mir glatt ein Fehler unterlaufen: Jakob und Esau waren
    natuerlich Isaaks Soehne, nicht Abrahams. Dafuer gabs einen "mea culpa"-
    Zusatzpunkt.

11) Wie das Volk Israel nach Aegypten gekommen ist, ist eine komplizierte
    Geschichte. Wie es wieder rausgekomemn ist zwar auch, jedoch eine
    ungleich bekanntere. Wer fuehrte das Volk aus Aegypten?
    - Moses (2.Mose, ziemlich viel davon...)
    Hmm, die Version von Yendi ("der HERR himself") ist natuerlich so nicht
    falsch, wenn mans genau nimmt. Auch das gab einen Punkt.

12) Bevor das Volk Israel gehen "durfte" aus Aegypten musste ein wenig 
    Druck angewandt werden, es kam zu 10 Plagen (die man sich auch nicht
    alle merken kann). Bekannt ist allerdings die letzte, nach der sie dann
    endlich ziehen durften. Wie sah sie aus?
    - Toetung aller Erstgeborenen der Aegypter und deren Vieh 
      (2.Mose 11, 4-8 und 12, 29)

13) Es gibt eine Figur, der alles nur erdenklich Schlimme widerfaehrt und
    die doch nicht im Glauben an Gott ablaesst. Auch diese Figur ist in den
    Sprachgebrauch eingegangen. Wie heisst sie?
    - Hiob (Hiob)

14) Ein Buch des Alten Testamentes wird von der katholischen Kirche als
    "Symbol fuer die Vereinigung Jesu mit der Kirche" angesehen, ist in 
    Wirklichkeit aber eine der aeltesten erhaltenen Beispiele fuer erotische
    Literatur. Ausserdem eines der schoensten. Welches?
    - Das Hohelied Salomos (Hld)
    Salomo(n) hat viel geschrieben (vier Buecher tragen seinen Namen), das
    reichte nicht. Ruth ist zwar ein schoenes Buch, aber definitiv nicht
    gemeint.

15) Naja, der Propheten gibt es viele. Hier ist nach einem gefragt, der 
    fuer die Zeugen Jehovas besonders wichtig ist. Ausserdem ist er ein 
    Begriff als jemand, der in der Loewengrube ist. Vielleicht erinnert 
    man sich auch noch daran, dass ein paar Freunde von ihm waehrend einer
    der vielen babylonischen Gefangenschaften in einen Ofen geworfen 
    wurden ohne dass einem von ihnen was passierte. 
    Wer ist dieser bemerkenswerte Mann?
    - Daniel (Dan)
    Hier bekam Caradhras einen halben Extrapunkt, wusste zwar nicht den Namen
    des Propheten, dafuer aber den Namen des Koenigs.

16) Einen Propheten hab ich noch. Eine weniger bekannte Tatsache ist wohl,
    dass er sich ueber absterbende Stauden aergert. Etwas bekannter ist 
    vielleicht, dass er sich aergerte, als er mit viel Muehe und Gefahr
    einer Stadt den Untergang predigt, die Einwohner sich das zu Herzen
    nehmen und die Stadt verschont wird. Und noch viel mehr hat er sich 
    geaergert, als er vor dem Auftrag fliehen wollte und er auf durchaus
    nicht alltaegliche Weise den Weg vom Schiff ans Land fand, ohne dabei
    die Sonne sehen zu koennen. Welcher Prophet ist es?
    - Jona (Jona)

17) Noch einmal back to the roots: Von nichts kommt nichts (Shakespeare, 
    King Lear). Der Mensch ist aus Lehm gemacht, die Frau hingegen nicht. 
    Woraus ist sie entstanden?
    - Aus der Rippe des Mannes (1.Mose 2, 21-22) 
    Und noch eine Frage, die jeder voellig richtig beantwortet hatte.


Und hier die vollstaendige Liste (tja, Kinners, ihr werdet geoutet!):
1)  Zephyr (27.5)
2)  Atoz (27)
3)  Alboin, Crolla (26)
4)  Ratz, Babs, Pampers (22)
5)  Yendi (24)
6)  Mahatma (20)
7)  JimDiGriz (19)
8)  Li (18)
9)  Hobo (17)
10) Bluemel (16)
11) Caradhras (11.5)

Ich muss sgen, die Auswertung hat Spass gemacht, ich hab viel zu lachen 
gehabt. So ein paar Kommentare drumrum... koestlich. Beim naechsten puiz
aergere ich mich dann weniger mit LaTeX rum sondern werde dann moeglichst
solche Sachen auch honorieren.


Grimmborn der Atheist






-----------------------------------------------------------------------------



Re: Loesung des Bibel-puiz! (Grimmborn,  7. Mar 1997, 18:01:48):
~#! rn=Grimmborn rt=857753333 rg=puiz
~#! tid=857753333
Hmm, ist wohl was laenger geworden, die Loesung. Was solls, muss man ja nicht
lesen (einfach "q" druecken).

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Loesung des Bibel-puiz! (Grimmborn,  7. Mar 1997, 18:48:16):
~#! rn=Grimmborn rt=857753333 rg=puiz
~#! tid=857753333
Es tut mir sehr leid, ich habe voellig Acrimons Antwort uebersehen (war wohl
zu sehr mit dem Kampf Grimmborn gegen LaTeX beschaeftigt, leider hatte ich
keine Schleuder und sieben Flusskiesel...). Es ist mir schleierhaft, wie das
passieren konnte, ausnahmsweise gilt Freud da nicht, ich war ja besonders auch
auf seine Antwort gespannt.
Acrimons Antwort ist (natuerlich) in allen Punkten richtig (auch wenn er mir
unterstellt, ich wuerde Noah fuer den aeltesten Menschen halten), die
Bibelangaben hoeren sich, wo sie nicht mit meinen uebereinstimmen, korrekt an,
es gibt ja oefter mehrere Stellen die man heranziehen kann. Seine
Widderhoerner vor Jericho lasse ich allerdings nicht gelten, ich kann mich
auch an keine Uebersetzung erinnern, in der das steht. Bin bereit, mir so eine
zeigen zu lassen, aber falsch ists trotzdem. :-)
Ahh, ich sehe gerade, die erotische Literatur (da hatte ich das her. Meine
Guete, ich bin wirklich urlaubsreif...) ist bei ihm Ruth, also zwei Punkte
Abzug, ein Bonuspunkt fuer vollstaendige und sehr korrekte Bibelstellenangabe,
ein Bonuspunkt weil ich ihn verschlafen habe, ein Minuspunkt, weil er nicht in
meiner muehsamen LaTeX-Tabelle auftaucht, macht rund 26 Punkte. Das reicht
fuer einen geteilten dritten Platz.

So, und beim puiz zum NT werd ich besser aufpassen. Hoffe ich.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Loesung des Bibel-puiz! (Grimmborn,  7. Mar 1997, 18:49:37):
~#! rn=Grimmborn rt=857756896 rg=puiz
~#! tid=857753333
Ich melde den vorigen Artikel zum Wettbewerb "konfusester Artikel des Jahres"
an....

GdA

-----------------------------------------------------------------------------



Re^3: Loesung des Bibel-puiz! (Engywuck,  7. Mar 1997, 18:51:04):
~#! rn=Grimmborn rt=857756977 rg=puiz
~#! tid=857753333
Wenn da Zuerileus Artikel mitstreiten, hast Du schon jetzt verloren... ;)

Engy*

-----------------------------------------------------------------------------



Re^4: Loesung des Bibel-puiz! (Grimmborn,  7. Mar 1997, 18:54:15):
~#! rn=Engywuck rt=857757064 rg=puiz
~#! tid=857753333
Ein zweiter Platz hinter Zuerileu waere mir eine grosse Ehre. Es kaeme mir
nicht im Traum in den Sinn, Zuerileu, der mir viel Freude bereitet (im
Gespraech und mit seinen Artikeln) Konkurrenz machen zu wollen. :-)

Und bevor hier wieder Messer geschaerft werden: Ich halte Zuerileu fuer einen
meiner besten Freunde, und wenn ich lache, dann nicht ueber ihn, sondern mit
ihm und ueber das, was er tut. Und Gnade dem, den ich erwische, wenn er ueber
Zueri lachen sollte...

Grimmborn der Atheist muss unbedingt doch noch mal nach Zuerich

-----------------------------------------------------------------------------



Re: Re: Loesung des Bibel-puiz! (Raffi,  7. Mar 1997, 22:34:44):
~#! rn=Grimmborn rt=857756896 rg=puiz
~#! tid=857753333

Hey, Ruth ist sehrwohl erotische Literatur, und spaetestens seit
Schindelschwinger #3 ist das auch Algemeinbildung!

Grummelnd
H.

-----------------------------------------------------------------------------



Re^5: Loesung des Bibel-puiz! (Methedras,  8. Mar 1997, 00:13:44):
~#! rn=Grimmborn rt=857757255 rg=puiz
~#! tid=857753333
Ich aeh, bzw mein Zweitie weise den halben Punkt energischst zurueck,
ich habe nur mal in Religion in der zweiten Klasse aufgepasst, damals,
als jeder noch oefters in der Schule mal vorbeten musste am Anfang
der Stunde.
Aber danke fuer die restlichen Punkte, fuer 5 Minuten Nachdenk- und
Beantwortzeit gar nich schlecht. :)

   Go on like that, Teefrosch       Bergchen Methedras

-----------------------------------------------------------------------------



Re^6: Loesung des Bibel-puiz! (Ringor,  8. Mar 1997, 00:19:01):
~#! rn=Methedras rt=857776424 rg=puiz
~#! tid=857753333
Vorbeten? In der Schule? 

Bayern war mir schon immer suspekt ;-)

-> schmarrn, Ringor

-----------------------------------------------------------------------------



Re^7: Loesung des Bibel-puiz! (Methedras,  8. Mar 1997, 00:19:51):
~#! rn=Ringor rt=857776741 rg=puiz
~#! tid=857753333
Ich war nich' in Bayern inner Schule! Poeh, welch Beleidichung!!
Aber in Bayern muss/musste man sowas bestimmt auch.

-----------------------------------------------------------------------------



Re^8: Loesung des Bibel-puiz! (Ringor,  8. Mar 1997, 00:21:01):
~#! rn=Methedras rt=857776791 rg=puiz
~#! tid=857753333
Wie - es gibt noch mehr solche Bundeslaender?

Ringor. Ist noerdlich des Weisswurst-Aequators zur Schule gegangen.

-----------------------------------------------------------------------------



Re^9: Loesung des Bibel-puiz! (Methedras,  8. Mar 1997, 00:21:25):
~#! rn=Ringor rt=857776861 rg=puiz
~#! tid=857753333
Ist das die Donau? :) Alles noerdlich der Donau ist Preissn.

-----------------------------------------------------------------------------



Raetsel (Boing, 11. Mar 1997, 14:42:20):
~#! on=Orktoeter ot=857997214 og=allgemeines
Ich suche die Loesung eines Raetsel, es geht in etwa so :

Complete it moves all things, but take away half an ist the end of all.

Wer die Loesung kennt, bitte mail an mich, danke :)

OrkT.

-----------------------------------------------------------------------------



Re: Raetsel (Oetti, 11. Mar 1997, 14:50:03):
~#! rn=Boing rt=858087740 rg=puiz
~#! tid=858087740
Wie waers mit Kadead uhh war der schlecht...

-----------------------------------------------------------------------------



Re^4: Brockhaus 11-2 (Babs, 12. Mar 1997, 00:59:01):
~#! rn=Methedras rt=858081973 rg=puiz
~#! tid=858079168
Der Ruhepuls von Miguel Indurain soll bei 26 gelegen haben (als er noch topfit
war).

-----------------------------------------------------------------------------



Re^5: Brockhaus 11-2 (Guybrush, 12. Mar 1997, 08:19:07):
~#! rn=Babs rt=858124741 rg=puiz
~#! tid=858079168
Wenn ich mal richtig ruhig bin, und nur dann, betraegt mein Ruhepuls 0. Vor
allem ihr habt dann Ruhe, auch hier in der Rubrik puiz.

Guybrush, ruhig, ruhiger, bald tot ..

-----------------------------------------------------------------------------



Re: Nochn Musikpuiz (Flora, 12. Mar 1997, 10:41:47):
~#! rn=Flora rt=857382627 rg=puiz
~#! tid=857382627
Hallo, allerseits,
hier jetzt die Aufloesung der Musikpuizzes von letzter Woche. Zunaechst
einmal die richtigen Antworten (was die Nummern der Symphonien angeht,
ist man bei Haydn mit ueber 100 Symphonien sowieso voellig ueberfordert,
insofern merke ich mir die nicht; wer sie wissen will, soll sie selber
nachschlagen.)

Bei den Symphonien wussten alle drei Teilnehmer (Engywuck, Oetti und 
Ratz) eigentlich ziemlich viele -- dazu aber spaeter mehr.

 1. Abschieds-S.          : Haydn
 2. Alpen-S.              : R. Strauss
 3. Auferstehungs-S.      : Mahler (Nr. 2)
 4. Der Titan             : Mahler (Nr. 1)
 5. Die Uhr               : Haydn
 6. Englische S.          : Dvorak (Nr. 8)
 7. Eroica                : Beethoven (Nr. 3)
 8. Fruehlings-S.         : Schumann (Nr. 1)
 9. Italienische S.       : Mendelssohn (Nr. 4)
10. Jupiter-S.            : Mozart (Nr. 41)
11. Kinder-S.             : Leopold Mozart
12. Lobgesang-S.          : Mendelssohn (Nr. 2?)
13. Mathis-der-Maler-S.   : Hindemith
14. Militaer-S.           : Haydn
15. Oxford-S.             : Haydn
16. Pastorale             : Beethoven (Nr. 6)
17. Reformations-S.       : Mendelssohn (Nr. 5?)
18. Rheinische S.         : Schumann (Nr. 3)
19. Romantische S.        : Bruckner (Nr. 4?)
20. Schicksals-S.         : Beethoven (Nr. 5)
21. Schottische S.        : Mendelssohn (Nr. 3)
22. Schweizer S.          : Mendelssohn
23. Simple S.             : Britten
24. S. aus der Neuen Welt : Dvorak (Nr. 9)
25. S. classique          : Prokofiev
26. S. der Tausend        : Mahler (Nr. 8)
27. S. pathetique         : Tschaikowski (Nr. 6)
28. S. phantastique       : Berlioz
29. S. m. d. Paukenschlag : Haydn
30. Tragische S.          : Schubert (Nr. 5??)
31. Trauer-S.             : Haydn (hat uebrigens niemand gewusst)
32. Unbegun S.            : Peter Schickele (die auch nicht)
33. Unvollendete S.       : Schubert (Nr. 8)
34. Wintertraeume         : Tschaikowski (Nr. 1)

Mit den Komponisten sah es schon etwas weniger gut aus, weswegen eine 
richtige Antwort hier doppelt zaehlte. Die Loesungen waren:

Komponist1 : Liszt (hat niemand gewusst)
Komponist2 : Lully (haben Engywuck und Ratz gewusst)
Komponist3 : Mozart (hier haben Oetti und Ratz "Schubert" gesagt. Der ist 
  zwar auch an Syphilis gestorben, allerdings hat er sich die ziemlich 
  erwiesenermassen im Bordell und nicht auf einem Volksfest zugezogen. 
  Ausserdem gibt es bei seinem Tod eigentlich kaum verschiedene Theorien.
  Naja, Schubert gibt n halben Punkt)
Komponist4 : Schumann (wieder richtig bei Engywuck und Ratz)
Komponist5 : Distler (hat keiner gewusst, kennt wahrscheinlich eh niemand)
Komponist6 : Ravel
Komponist7 : Tschaikowski (hat Ratz gewusst)
Komponist8 : Purcell (hier hat Ratz "Mussorgsky" genannt. Der war zwar 
  auch ziemlich versoffen, ist aber meines Wissens nicht an 
  Lungenentzuendung gestorben. Ich kann mich aber auch irren, also auch 
  hier einen halben Punkt fuer Mussorgski)
Komponist9 : Prokofiev (das hat Engywuck gewusst. Der Regent, der am 
  selben Tag starb, war Stalin)

Okay, jetzt zur Auswertung. Bei den Symphonien hat Engywuck 14 Richtige, 
Oetti 19 und Ratz 30 (!). Bei den Komponisten: Engywuck 3 Richtige, Oetti
einen halben und Ratz 4. Punktemaessig also

Engywuck: 14 + 2 * 3 = 20
Oetti: 19 + 2 * 0.5  = 20
Ratz: 30 + 2 * 4 = 38

Damit kriegt Ratz 7920 Muenzen fuer den ersten Platz; Engywuck und Oetti 
jeweils ein Stueck Torte, und ich brauch niemanden zu segnen :)

Bis zum naechstn Puiz dann!

-----------------------------------------------------------------------------



Re: Re: Nochn Musikpuiz (Engywuck, 13. Mar 1997, 20:34:08):
~#! rn=Flora rt=858159707 rg=puiz
~#! tid=857382627
Pah, da hab ich ja ganz schon abgeloost! Zweiter Platz zusammen mit Oetti!
Obwohl, naja, Semira meinte "Auf dem zweiten Platz mit Oetti machts bestimmt
mehr Spass als auf dem ersten alleine". Mal sehn ;)

Engy*

P.S.: Ich will ja nicht verfressen erscheinen, aber wann und wo gibts die
Torte?
P.P.S.: Ausserdem haette ich gerne den Mikrowellenherd, dass Kaffeeservice,
den Cityroller, die Aktentasche und das Auto und kaufe ein a.

-----------------------------------------------------------------------------



Re^3: Nochn Musikpuiz (Fyt, 14. Mar 1997, 01:15:26):
~#! rn=Engywuck rt=858281648 rg=puiz
~#! tid=857382627

Hm, komisch nach dem 'P.S.: Ich will ja nicht verfressen erscheinen, aber wann
Hm, komisch nach dem 'P.S.: Ich will ja nicht verfressen erscheinen,
aber wann und wo gibt's die Torte' haette ich ja mit nem P.P.S 'Und
wer ist das?' gerechnet... aber nein, Engy, Du laesst nach ;-)

Fyt.

-----------------------------------------------------------------------------



Re: Brockhaus 11-5 (Sidolin, 14. Mar 1997, 12:20:23):
~#! rn=Cauno rt=858337737 rg=puiz
~#! tid=858337737
Herr Lehrer, Herr Lehrer, ich weiss was! *schnipp* *schnipp*

Hurenkinder und Schusterjungen werden beim Textlayout nicht geduldet!

*stolz*

Sidolin. Platzt fast vor stolz, weil er auch mal was weiss. :-)


-----------------------------------------------------------------------------



Re: Re: SF-Quiz, die vierte (Raffi, 14. Mar 1997, 13:18:53):
~#! rn=Cauno rt=858338702 rg=puiz
~#! tid=857553827
Nur mal so Am Rande: Wann kommt eigentlich die Aufloesung des PR-Puiz ?
(Oder hab ich das wieder verpennt?)

Gruss
H.

-----------------------------------------------------------------------------



Re^3: Nochn Musikpuiz (Flora, 14. Mar 1997, 14:50:53):
~#! rn=Engywuck rt=858281648 rg=puiz
~#! tid=857382627

Kann ich was dafuer, wenn Ihr (Du und Oetti) Euch immer erst spaet abends
einloggt, wenn anstaendige Leute arbeiten? Die Torten hab ich schon die ganze
Zeit hier bei mir, aber postlagernd verschicken ist mir zu riskant; nachher
sind sie weg. Loggt Euch halt mal vormittags ein!

Flora

-----------------------------------------------------------------------------



Re: Brockhaus 11-5 (Escubar, 14. Mar 1997, 17:53:30):
~#! rn=Cauno rt=858337737 rg=puiz
~#! tid=858337737
Zudem hatten die Roemer spezielle Personen, die die Rechenoperationen 
fuer sie durchfuehrten, die sogenannten "calculatores". Sie waren nach 
dem "calculi" benannt, den Rechensteinen.
Zudem hatten die Roemer spezielle Personen, die die Rechenoperationen 
fuer sie durchfuehrten, die sogenannten "calculatores". Sie waren nach 
dem "calculi" benannt, den Rechensteinen.

Und heutzutage hat man fuer sowas Taschenrechner statt Sklaven!

Da kann man mal wieder sehen, wie die moderne Technik systematisch
Arbeitsplaetze zerstoert ;)

Escubar, der auch nicht im Kopf rechnen kann

-----------------------------------------------------------------------------



Re: Re: Brockhaus 11-5 (Methedras, 14. Mar 1997, 20:02:44):
~#! rn=Escubar rt=858358410 rg=puiz
~#! tid=858337737
*Hicks* Ich glaube, ich seh' doppelt! Gestern doch zu viel 
Feiglinge getrunken? *aechz*

Aeh, was ich fragen wollte: Wann lief denn 'Captain Future' an
ueberhaupt? Wollte nur wissen, ob ich auch die 'Erstauflage'
gesehen habe. :)

              Bergchen Methedras

-----------------------------------------------------------------------------



Re^3: SF-Quiz, die vierte (Li, 17. Mar 1997, 10:09:52):
~#! rn=Raffi rt=858341933 rg=puiz
~#! tid=857553827
nein nicht verpennt, kommt demnaechst...

-----------------------------------------------------------------------------



Re: Brockhaus 12-2 (Jimdigriz, 18. Mar 1997, 14:30:37):
~#! rn=Cauno rt=858688679 rg=puiz
~#! tid=858688679
Zu 17.03:

Also bei mir klappt das nicht, mit dem Test:
Ich kann den Daumen nicht mit einem entfernten Objekt zur 
Dekcung bringen. Stelle ich das Objekt scharf, seh ich immer 2 Daumen,
stelle ich auf den Daumen scharf, seh ich 2 Objekt, und ich kann immer
nur eines zur Deckung bringen. Das muesste eigentlich jedem Menschen
so gehen wenn er den Test "Bewusst" versucht. Welchen der beiden 
Scheinobjekte man jetzt zur Deckung bringt, ist aber Entscheidend 
fuer den Ausgang des Tests, IMHO aber eine rein intuitive
Entscheidung, die bei jedem mal so mal so ausfallen kann.

Comments ? 
JdG

-----------------------------------------------------------------------------



Literatur (Ahasver, 18. Mar 1997, 17:16:37):
Laengst faellig ist an dieser Stelle mal ein Literatur-Puiz,
nachdem wir schon diverse andere beantworten durften.
Preise kann ich leider nicht bieten-der olympische Gedanke zaehlt-
und ich werde die Ergebnisse auch nicht mit LateX auswerten :-)
sondern schlicht Punkte zusammenzaehlen.
Loesungen und Kommentare per Mail an mich.
Da ich ja nun ueberhaupt keine Vorstellung hab, was ihr so lest, 
habe ich die fragen in 2 Gruppen eingeteilt, wobei die zweite etwas spezieller
ist :-):

1. Das Buch ist die fiktive Biographie eines Abnormen, der sich mit genialer
Riechbegabung orientiert 
und betoerende Geruchskreationen entwirft und sich voller Hass auf die
verfuehrerische Menschheit aus "Liebe" zerfleischen 
laesst. Wie heissen Autor und Buch?

2. Fuer welches Buch erhielt T. Mann den Nobelpreis?

3. H. Hesses "Steppenwolf" ist ein Kultbuch jeder Jugendgeneration.  Wie
heisst der "Steppenwolf buergerlich?

4.  Eines der bekanntesten Buecher Fontanes erzaehlt den Ehebruch einer
ungeliebten Frau und die sinnlose Rache des Ehemanns
Jahre danach. Wie heisst es?

5. Und nochmal Ehebruch, diesmal in Frankreich, erzaehlt von G. Flaubert.
 Titel?




6. Goethes Faust I und II sind recht bekannt. Weniger bekannt ist, dass es 
auch Faust III gibt, eine Parodie auf allzueifrige Goethe-Ausleger.
Von wem?

7. Ende des vorigen Jahrhunderts kam es, ausgeloest durch das Erscheinen 
 des Romans "Adam Mensch", einer Darstellung sexueller Zuegellosigkeit 
und des Gemeinen, zum Realistenprozess, in den mehrere Schriftsteller 
wegen Verbreitung unzuechtiger Schriften verwickelt wurden (u. a. auch der 
Autor von "Adam Mensch"). Wie hiessen sie?


8. Den naechsten Skandal ein paar Jahre spaeter loeste das Buch "Der 
Reigen" aus, in dem 10 den verschiedensten Schichten angehoerige Paare
ihre Gefuehle "davor" und "danach" schildern. Wer schrieb es?

9. A. Stifter ist bekannt fuer grossartige Landschafts- und
Naturschilderungen.
 Wie heisst sein bekanntester Roman?

10. Woher stammt es? :

Wie sich Verdienst und Glueck verketten,
Das faellt diesen Narren niemals ein.
Wenn sie den Stein der Weisen haetten,
Der Weise mangelte dem Stein.


-----------------------------------------------------------------------------



Brockhaus 12-4 (Cauno, 20. Mar 1997, 09:40:49):
18.03. Spinnennetze, Schmetterlinge, Anker mit Herzchen.
       Warum sind die meisten Taetowierungen blau?

Eigentlich sind sie nicht blau. Die aus Kohlenstoff hergestellten 
Pigmente, die beim Taetowieren benutzt werden, sind *pechschwarz*. Wenn 
sie unter die Haut plaziert werden, erscheinen sie blau, weil das Schwarz 
dann durch die gelbliche Haut der Bleichgesichter schimmert.
Schwarz ist vor Rot die beliebteste Tattoo-Farbe, denn wenn man sich 
einmal zu einer Taetowierung entschlossen hat, will man natuerlich auch, 
dass sie moeglichst auffallend ist. In einem Fall gibt es wirklich 
schwarze Taetowierungen: bei Albinos. Sollten Sie Rock- und Blues-Fan 
sein, koennen Sie sich beim naechsten Konzert des texanischen Gitarristen 
Johnny Winter davon ueberzeugen.


19.03. Fuer amerikanische Schriftsteller und Journalisten scheint er das 
       Groesste zu sein: Der Pulitzerpreis. Wer war Pulitzer?


20.03. Murphys Gesetz: Alles, was schiefgehen kann, wird auch schiefgehen.
       Gibt's noch weitere unbeweisbare Gesetze des Lebens?

-----------------------------------------------------------------------------



Brockhaus 12-5 (Cauno, 21. Mar 1997, 15:46:34):
19.03. Fuer amerikanische Schriftsteller und Journalisten scheint er das 
       Groesste zu sein: Der Pulitzerpreis. Wer war Pulitzer?

*Joseph Pulitzer* (*1847, +1911) wurde in Ungarn geboren, wanderte 1864 
in die USA aus und arbeitete zuneachst fuer zwei deutschsprachige 
Tageszeitungen in St. Louis. 1878 erwarb er dort zwei Tageszeitungen und 
1883 "The World" in New York. Vier Jahre spaeter gruendete er das 
Abendblatt "Evening World". Pulitzer gilt als Begruender der modernen 
amerikanischen Tageszeitung und stiftete die "School of Journalism" an 
der Columbia-Universitaet, New York, die seit 1917 alljaehrlich die 
Pulitzerpreise fuer publizistische Beitraege auf journalistischem, 
literarischem und musikalischem Gebiet verleiht. Joseph Pulitzer 
erblindete mit 40 Jahren, setzte aber seine vielfaeltigen Taetigkeiten 
bis zum Lebensende fort.


20.03. Murphys Gesetz: Alles, was schiefgehen kann, wird auch schiefgehen.
       Gibt's noch weitere unbeweisbare Gesetze des Lebens?

Hier ein kleine *Auswahl*.
O'Tooles Kommentar zu Murphys Gesetz: Murphy war ein Optimist.
Ettores Erkenntnis: Wo auch immer man sich anstellt, in der anderen 
Schlange geht's schneller.
Finagles Gesetz: Klappt ein Experiment, stimmt etwas nicht.
Fetts Laborgesetz: Versuche nie, ein erfolgreiches Experiment zu wiederholen.
Das Gesetz der selektivien Gravitation: Ein Gegenstand faellt immer so, 
dass er den grossten Schaden anrichtet.
Die Neunzig-Neunzig-Regel der Projektplanung: Fuer die ersten 90 Prozent 
der AUfgabe braucht man 90 Prozent der Zeit. Die restlichen 10 Prozent 
der Arbeit benoetigen die anderen 90 Prozent.


21.03. Sie sind immer von besonderem Interesse: die Buecher, die auf dem 
       "Index" stehen. Veroeffentlicht ihn die katholische Kirche immer noch?


-----------------------------------------------------------------------------



Re: Brockhaus 12-5 (Ratz, 21. Mar 1997, 16:22:01):
~#! rn=Cauno rt=858955594 rg=puiz
~#! tid=858955594
Ich wusste gar nicht das die Zeitungen in St. Luis so gute Gehaelter zahlen ,
dass man sich nach 2 Jahren Zwei eigene zeitungen davon kaufen kann! ?

-----------------------------------------------------------------------------



PR-Aufloesung (Li, 24. Mar 1997, 10:18:51):
Hi!
Hier die Aufloesung des PR-Quizes, das so gut wie keine Resonanz hatte, naja
waren wohl doch weniger an einem Quiz interessiert, als ich dachte!

1)  Wer ist der aelteste lebende Terraner?
--  H.G. Adams: 11.09.1918

2)  Welcher Zusammenhang besteht zwischen der Figur des Atlan und der
    Sage von Atlantis?
--  Inselkontinent im Atlatischen Ozean mit einem Arkonidenstuetzpunkt
    (9. Jahrtausend v. Chr.), benannt nach dem Flottenbefehlshaber
    Atlan.

3)  Wer war/waren der/die Planer des SCHWARMs?
--  Der Schwarm wurde von den Kosmokraten durch die sieben Maechtigen
    in Auftrag gegeben und von 36 Voelkern (Oldtimer) erbaut.

4)  Mit welchen Waffen kaempften Atlan und Perry im Venusmuseum?
--  Atlan: Langschwert eines Wikingers
    Perry: alemannisches Schwert

5)  Wie hiess der falsche Ritter der Tiefe?
--  Igsorian von Veylt (Harden Coonor).

6)  Von welchen Planeten stammen folgende Personen?
    Lemy Danger, Mory Rhodan-Abro, Auris von Las-Thor, Fancan Teik
--  Siga         Plophos           Akon                Halut

7)  Wieviele "Herren der Strassen" gab es?
--  Augenscheinlich waren dies acht (Ager Catomen, Simedon Myrrho,
    Endehar Roff, Remin Killian, Wello Banir, Farlon Stretter,
    Carol Shmitt und Dorian Waiken), in Wirklichkeit handelte
    es sich jedoch nur um eine Person: Monos (Pedrass Foch).

8)  Von wem uebernahmen die Terraner den Linearantrieb?
--  Von den Druuf (2044 erbeutet)

9)  Warum wurde Atlan hinter die Materiequellen gebracht?
--  Atlan wurde als Botschafter der Menschheit dorthin gebracht.
    
10) Wer entwarf und baute die BASIS?
--  Die BASIS wurde waehrend der Aphilie geplant und in Auftrag
    gegeben, ausfuehrendes Organ war NATHAN.

11) Wie hiessen die "Meister der Insel"?
--  Mirona Thetin (Faktor I), Trinar Molat (Faktor II),
    Proht Meyhet (Faktor III), Miras-Etrin (Faktor IV),
    Nevis-Latan (Faktor V), Toser-Ban (Faktor VI) und
    Regnal-Orton (Faktor VII).

12) Welchen Titel trug Atlan als Chef der USO?
--  Lordadmiral

13) In welcher Galaxis war der "Markt der Gehirne"?
--  Der Planet Yaanzar in der Galaxis Naupaum.

14) Nenne 3 Kosmokaten
--  Vishna, Taurec, Tiryk
    

15) Wie kam das "Konzil der 7" zu seinem Namen, obwohl im doch nur sechs
    Rassen angehoerten? Wer war das 7. Konzils"volk"?
--  Das siebte Konzilsvolk waren die Koltonen, die nach ihrer
    Vergeistigung Einfluss auf die Zgmahkonen nahmen, um die 12 Spezialisten
    der Nacht zu zuechten.

16) Wie entstand, bzw. welcher Wahrheitsgehalt liegt dem Spruch zugrunde:
    "Wenn der letzte Ritter der Tiefe stirbt, erloeschen die Sterne"
--  Die RdT sollen im Sinne der Kosmokraten agieren, die Entwicklung
    weiterer Materiequellen sichern und das Entstehen von Materiesenken
    verhindern. Wuerden nur noch Materiesenken entstehen, waere das das
    Ende des Universums (-> die Sterne erloeschen).
    Spaeter wurde bekannt, dass sich "Ritter der Tiefe"  auf etwas Konkretes
    bezog: die Tiefe war der Ort, von dem der Frostrubin verschwandt.

15) Gilt dieser Spruch im Band 1500 noch?
--  Da der Frostruin auf seinen Platz zurueckkehrte, gilt zumindestens
    der zweite Bezug nicht mehr.
    
16) Von welchem Volk stammt Dao Lin Hay?
--  Kartanin.

17) Wie hiess der erste Ausserirdische/Extraterrestrier mit dem Perry Rhodan
    sprach?
--  Der erste Ausserirdische war ES, der Perry Rhodan im Alter von 9 Jahren
    aufsuchte.

18) Wer gruendete die OGN, die nichtaphilische Untergrundorganisation?
--  Die "Organisation Guter Nachbar" wurde von Roi Danton gegruendet
    (bzw. zumindest von diesem gefuehrt, bis R.Bull uebernahm).

19) In welchem Jahr alter (also unserer) Zeitrechnung wurde die
    "kosmische Hanse" gegruendet.
--  3588 (= 1 NGZ)

20) Aus welchem PR-Heft stammt folgender Ausschnitt?
    Die Kinder wuessten gerne, auf welche Weise eine Pflanze oder ein Tier
    zu ihnen sprechen kann, aber die Erwachsenen halten das nicht fuer
    moeglich und zwingen ihre Kinder, etwas voellig anderes zu erlernen.
    Die kinder spueren das Universum in sich pulsieren, aber die Eltern
    halten das nicht fuer moeglich und zwingen ihre kinder, dieses Gefuehl
    zu verdraengen.
    "Was fuer eine Tragik", bestetigte ES, "dass die Kinder weiser sind als
    die Erwachsenen"
--  Aus Band 1000, Der Terraner, als ES erkennt, das der potentielle 
    Zellaktivatortraeger( PR) noch ein Kind ist.
    (Hmm, ich dachte eigentlich, das wuerde man erkennen, aber naja, ihr
    glaubt doch nicht, dass ich ein Zitat aus irgendeinem der 1500 Baende
    nehme! :-) )


Sieger ist uewbrigens Paracelsus mit 15 richtigen Antweorten
Li

-----------------------------------------------------------------------------



ST-Quiz Aufloesung :-) Teil 0-5  (Jimdigriz, 24. Mar 1997, 16:18:08):
Hallo, 

hier ist sie endlich die Loesung zum Star Trek Quiz.

Es gab 50 Fragen und 113 Punkte.
Hinter jeder Loesung steht in Klammern die max. 
Punktzahl fuer diese Frage.


-----------------------------------------------------------------------------



ST-Quiz Loesung Teil 1 von 5. (Jimdigriz, 24. Mar 1997, 16:19:19):
Teil1: Zum Aufwaermen

1.  Was bedeutet das "T" in James T. Kirk ?
    Tiberius (1)

2.  Welche Kreatur spielt eine besondere Rolle in ST:II Der Zorn des Khan
    und ebenfalls in einem MG-Quest ?
    Der Ceti-Aal, als Parasit der sich ins Gehirn frisst in ST-II
    und im Pandora-Quest (1)

3.  Wie heisst der mythische Gruender des Klingonischen Reiches ?
    Kahless (1)

4.  Wie lautet der offizielle Titel des "Meister des Kommerz" der Ferengi,
    und wie heisst der amtierende ?
    Der Grosse Nagus ist zZ "Zek" (2)

5.  Was bedeutet das "T" in William T. Riker ? 
    Thomas (1)

6.  Wo ist Jean-Luc Picard aufgewachsen ?
    In LaBarre, Frankreich (Erde) (2) 

7.  Wie hiess der Vater von Wesley Crusher ? 
    Jack Crusher (1)

8.  Nenne alle Rassen die eine bedeutende Rolle in Star Trek spielen.
    Vulkanier, Romulaner, Klingonen, Cardassianer, Bajoraner, 
    Betazoiden, Ferengi, Borg, Q, und natuerlich auch Menschen.
     (10)

9.  In welchem Sektor liegt unsere Sonne (und die Erde) ?
    Sektor 001 (1)

10. Wer war Ben Sisko's Vorgaenger als Kommandant von Deep Space 9 und wie
    hiess die Station damals ? 
    Die Station hiess damals Terek'Nor und Kommandant war Gul Dukath.
    (2)

Gesamt 22 Punkte.

-----------------------------------------------------------------------------



ST-Quiz Loesung Teil 2  von 5. (Jimdigriz, 24. Mar 1997, 16:20:34):
Teil2: TOS (mehr oder weniger)

11. Wie hiess der Sohn von James T. Kirk ?
    David Marcus (1)

12. Wie hiess Spock's Mutter und was war sie von Beruf ? 
    Sie hiess Amanda Grayson und war Lehrerin. In einigen
    Quellen taucht auch Emily als Vorname auf (gilt also beides).
    (3)

13. Wer war der Gruender der vulkanischen Philosophie ?
    Surak (1)

14. Wie heisst Sulu mit Vornamen ?
    Hikaru, Cau No wusste noch "Walter" als 2. Vornamen.
    (1)

15. In welcher Folge sieht man zum ersten mal den vulkanischen Gruss 
    (die \\//-Geste) ?
    Amok Time, die Folge in der man auch T'Pau begegnet. (1)

16. Was hat es mit dem "Vulkanischen Todesgriff" auf sich und wann spielte
    dieser eine besondere Rolle ?
    Es gibt keinen, der Todesgriff war ein Trick/Fake um in der Folge
    "The Enterprise Incident" Kirk zu befreien.
    Asmodis hat jedoch einen "Tel-Shaha" erwaehnt der das Genick bricht,
    das hab ich auch gelten lassen (2)

17. Wer spielte die Sozialarbeiterin Edith Keeler in der Folge "City on the
    Edge of forever" in der McCoy (u.a.) in die Erde der Vergangenheit
reisen?
    Joan Collins (1)

18. Wie hiess der Haendler der die "Tribbles" im Angebot hatte ?
    Cyrano Jones (1)

19. Was ist "M-5", wer schuf es und was wurde nach dem Schoepfer benannt ?
    Ein multitronischer Computer, angeblich imstande alleine ein
    Raumschiff zu steuern/befehlen. Erfunden und gebaut von 
    Dr. Richard Daystrom, nachdem das Daystrom Institut benannt wurde.
    (3)

20. Welcher TOS Charakter starb und wurde wiedergeboren, wo fand die "Wieder-
    geburt" ihren Abschluss und wie hiess das involvierte Ritual ?
    Spock starb, er wurde auf den Genesis Planeten wiedergeboren. 
    Vor seinem Tod hat er seine Persoenlichkeit auf Bones uebertragen, so
    dass er auf Vulkan auf dem Berg Seleya (Kitara) mittels des
    "fal-tor-pan" Rituals wiedervereinigt werden konnte. (3)

Gesamt 17 Punkte.

-----------------------------------------------------------------------------



ST-Quiz Loesung Teil 3 von 5. (Jimdigriz, 24. Mar 1997, 16:23:36):
Teil3: TNG

21. Wie gross (in Zahlen) war die Niederlage der Sternenflotte bei Wolf 359 ?
    Wieviele und welche Gegner waren dafuer verantwortlich ? Was ist Wolf 359
    wirklich ?
    Bei Wolf 359, dem viert-erdnaechsten Stern zerstoete ein einziger
    Borg-Wuerfel 39 Schiffe der Sternenflotte, dabei starben ueber 11000
    Personen. (3)

22. Wo wurde die Enterprise-D gebaut ?
    Auf den Utopia-Planitia Werften im Mars Orbit. (1)

23. Wovon befreit uns der "Reisende" endlich und viel zu spaet in der Folge
    "Journey's End".
    Wesley Crusher migriert in eine hoehere Existenz/Evolutionsebene
    (endlich :-)) (1)

24. Wer beauftragte den Holodeck-Computer mit der Konstruktion eines "Nerven-
    Scan-Interfaces" um eine direkte Verbindung zwischen Gehirn und Schiffs-
    computer zu haben ? Auf den Protest des Computers, es gaebe keine Plaene
    fuer solch ein Interface, antwortete die gesuchte Person:"Kein Problem,
    es folgt nun die Bauanleitung." 
    Wie lautete der Spitzname dieser Person, und wer verwendete diesen 
    unabsichtlich, nachdem die Nennung geruegt worden war ?
    Das war Lt. Reginald Barclay, nachdem seine Intelligenz durch
    ausserirdische Einwirkung stark gesteigert wurde.
    Sein Spitzname als er aufs Schiff kam, war "Broccoli" und 
    ausgerechnet Cpt. Picard nennt ihn so, nachdem er aus genau
    diesem Grund die Crew angeschnautzt hat. (3)

25. Doyouwanna Try^H^H^H^H^H^H^H^H^HDiana Troy absolviert in einer Folge die
    Pruefung zur Befoerderung zum Rang eines Commanders. Natuerlich versagt
    sie dauernd. Leider schafft sie es dann doch, aber was war Ihr Fehler ??
    Sie muss ein Crewmitglied (Geordi LaForge) in den sicheren Tod 
    schicken, dazu ist sie anfangs zu unfaehig. (1)
26. Was ist "Frame of Mind" und wer war dafuer verwantwortlich ?
    Der Titel einer Folge, aber ausserdem der Titel eines
    Theaterstuecks von Beverly Crusher. (Auf deutsch hiess die 
    Folge Phantasie oder Wahrheit denk ich, wie das Stueck hiess
    hab ich leider vergessen) (2)

27. Wer ist Data's Mutter ? Wer ist sie wirklich ?
    Dr. Juliana O'Donnel war Dr. Soongs Frau, die von Dr. Soong
    als Android nachgebaut wurde, nachdem sie gestorben war.
    Der Android war sich nicht bewusst, dass er/sie einer war,
    und war ausserdem einem Alterungsprozess unterworfen, so
    dass sie ein normales Leben bis zum Tode fuehren kann. (2)

28. Was fuer eine Rolle spielte Commander Keiran MacDuff ?
    Er war ein Agent der Satarraner, der nach einem Gedaechtnisverlust
    der Crew die Stelle des 1. Offiziers einnahm, um mit Hilfe
    der ueberlegenen Technik der Enterprise das Hauptquartier 
    der Lysianer (Erzfeinde) zu zerstoeren. (1)

29. Nach K'mpec's Tod gab es zwei Anwaerter auf den Vorsitz im Hohen Rat. 
    Wer waren sie ? Wer wurde Vorsitzender und wer war der Zeremonienmeister?
    Zusatz: Sehr viel spaeter erfaehrt man eine Art "Geruecht" ueber den
    Fuehrer, welches einiges erklaeren koennte. Um was handelt es sich ?
    Gowron und Duras waren die Anwaerter, da Duras von Worf getoetet
    wird, wird Gowron der neue Fuehrer im Hohen Rat. Picard fungiert
    dabei als Zeremonienmeister. Viel Spaeter (in DS9) erfaehrt
    man mehr oder weniger geruechteweise, dass Gowron der sehr
    aggresives Verhalten zeigt und den Friedensvertrag mit der 
    Foederation kuendigt, von einem Formwandler ersetzt wurde. (4)

30. Wie heisst der Vertrag, der die Neutrale Zone garantiert und festlegt,
    dass die Foederation keine Tarnvorrichtungen entwickeln und benutzen darf
    Vertrag von Algeron (1). (The Pegasus, div. DS9)

31. Wer oder was ist der "Tal Shiar" ?
    Der romulanische Geheimdienst. (1)

Gesamt 20 Punkte.

-----------------------------------------------------------------------------



ST-Quiz Loesung Teil 4 von 5 (Jimdigriz, 24. Mar 1997, 16:25:05):
Teil4: DS9

32. Nenne alle bekannten Wirte des Dax-Symbionten. Am besten in der richtigen
    Reihenfolge.
    1. Leila, 2. ?????, 3. Tobin, 4. Audred, 5. Thorias, 6. Joran, 
    7. Curzon, 8. Jadhzia.
    Der zweite Wirt wird in der Folge in der alle auftreten (Facets)
    von der jungen Bajoranerin uebernommen, leider erfaehrt man nicht
    den Namen. Joran war der gewalttaetige Musiker von dem Jadhzia
    lange nichts wusste (Equilibrum) (14)

33. Wer bezahlte 500 Barren Latinum fuer Quark's gefriergetrocknete
    Ueberreste?
    Brunt, der Abgesandte der FCA (1)

34. Nenne soviele Ferengi Erwerbsregeln die Du kennst.
    Spaeter... ;-) (10)

35. Wie heisst Garak mit Vornamen, fuer welche Organisation hat er frueher 
    gearbeitet und wer ist sein "Erzfeind" ?
    Elim Garak, er arbeitete fuer den Obsidianischen Orden, sein
    Erzfeind ist Gul Dukath. (3)

36. Mit was fuer Spielfiguren musste Quark "Chula" spielen ?
    Sisko, Kira, Bashir und Dax. (4)

37. Was haben Yamok-Sauce und selbstdichtende Schaftbolzen gemeinsam ?
    Sie waren Teil des Handelsvolumens des Noh-Jay-Konsortium. 
    Nok und Jake tauschten die Sauce gegen die Bolzen ein. (1)

38. Wer veruebte einen Bombenanschlag auf Garak's Schneidergeschaeft ?
    Garak selbst um Odo zu einer Untersuchung zu veranlassen, die 
    auch dann tatsaechlich einen Attentaeter aufdeckte. (1)

39. Wen heiratete Odo und warum ?
    Lwaxana Troi. Sie war bereits verheiratet, jedoch hat sich von Ihrem 
    Ex wieder getrennt, nur war sie bereits schwanger von Ihrem Ex und 
    nach dessen Gesetzten darf nur der Mann einen Sohn aufziehen 
    (Geschlechtertrennung).
    Lwaxana wollte Ihren Sohn aber lieber selbst aufziehen, also 
    musste sie Odo heiraten damit er zum Vater wurde. 
    (das Gesetzt liess sich in dem Sinn beugen, dass nicht der
    leibliche Vater das Erziehungsrecht bekommt, sondern der 
    Mann der Mutter) (2)

Gesamt 36 Punkte.

-----------------------------------------------------------------------------



ST-Quiz Loesung Teil 5 von 5 (Jimdigriz, 24. Mar 1997, 16:26:25):
Teil5: Gemischtes

40. Welcher Holodeck-Charakter konnte das Holodeck verlassen und sogar die
    Enterprise in seine Gewalt bringen ?
    Keiner! Prof. Moriarty hat das Holodeck nie verlassen. Andere
    Holodeck Charaktere (wie der HoloDoc von VOY) hatten natuerlich
    nie die Enterprise in Ihrer Gewalt. (2)

41. Wo begegnet man der Enterprise-B ?
    Ich meinte das Modell in der Beobachtungslounge der Enterprise D.
    Aber natuerlich begegnet man Ihr auch in ST VII Generations. (2)
    
42. Woher kommt die Bezeichnung "Jefferies Roehre" ?
    Von Matt Jeffries, dem Art Director von TOS und Entwickler der 
    ersten Enterprise. (1)

43. Wiviele Raumschiffe der Galaxy-Klasse sind namentlich bekannt ? Wieviele
    gibt es geruechteweise ? Nenne Namen ausser Enterprise-D fuer
    Bonuspunkte. Vier sind namentlich bekannt: Galaxy, Yamato, Odyssey
    und Enterprise D. Angeblich gibt es nur 6 insgesamt. 
    In spaeteren DS9 Folgen und VOY tauchen moeglicherweise noch mehr
    auf. (4)

44. Was ist eine ODN-Leitung ?
    Optical Data Network, das Computer Netz der Enterprise (2)

45. Was ist ein Humuhumunukukuapua'a ?
    Der Wappenfisch von Hawaii, er kommt in dem Lernprogramm fuer Kinder
    in der Folge "Rascals" vor (Picard & Co werden zu Kindern) (1)

46. Wie gross ist ein Romulanischer Warbird ungefaehr ? (Relative Angabe zu
    einem anderen Raumschiff oder besser ungefahere Laenge in m)
    Ca 2x so gross wie ein Raumschiff der Galaxy-Klasse also ca 1200 m. (1)

47. Welches sagenhafte Artefakt begegnet uns (in anderer Form) auch im MG ? 
    Was ist seine Besonderheit ? Der Tip: Es wird im 27. Jhr von Kal Deno 
    geschaffen und von einer sehr bekannten Person zerstoert.
    Der Tox Uthat, ein Quantum Phasen Inhibitor (;-)), eine Art 
    Irre Energiequelle. Picard zerstoert ihn. (1)

48. Welcher TNG-Charakter stirbt (endgueltig) und woran ?
    Tasha Yar, an dem "Boesen" Armus (Skin of Evil) (1)

49. Nenne soviele Authorisierungs-Codes wie Du kennst, und natuerlich auch
    den zugehoerigen Offizier dazu.
    Scheiss Frage, Sorry, hier Beispiele:
    Picard: omicron-omicron-alpha-yellow-daystar-2-7,
                     Picard-delta-5, Picard-gamma-6-0-7-3
             Riker: theta-alpha-2-7-3-7-blue, Riker-omega-3
    (2)

50. Wie heisst die "Captain's Yacht" der Enterprise ? 
    (Ein besonders grosses Shuttle fuer das es eine extra Andock-Vorrichtung 
    gibt)
    Calypso (1)

Gesamt 18 Punkte.


-----------------------------------------------------------------------------



ST-Quiz Ergebnisse (Jimdigriz, 24. Mar 1997, 16:26:49):
So hier nun die Ergebnisse der vier Teilnehmer.

1. Cau No: 80 von 113 !!
2. Asmodis: 58 
3. Highlander: 49.5 
4. Gralkor: 40

Gratuliere.

Ciao,
 James Bolivar diGriz.

-----------------------------------------------------------------------------



Re: ST-Quiz Loesung Teil 3 von 5. (Jimdigriz, 24. Mar 1997, 16:33:20):
~#! rn=Jimdigriz rt=859217016 rg=puiz
~#! tid=859217016
Nachtrag zu
 Frage 26: 
  Auf deutsch hiess das Theaterstueck: Geistige Verfassung 
 grad isses mir wieder eingefallen.

cu
 JdG

-----------------------------------------------------------------------------



Re: PR-Aufloesung (Methedras, 24. Mar 1997, 17:16:57):
~#! rn=Li rt=859195131 rg=puiz
~#! tid=859195131
Weisst Du ganz sicher, Li, dass Atlantis im Atlantischen Ozean
liegt/lag? Also ich bin mir da nicht ganz sicher, obwohl es
natuerlich recht gut moeglich ist. (Wenn man zB die oemm, Kanarischen
Inseln, Madeira, St.Helena usw. als Eckpunkte bzw Hochgebirge davon
hernimmt)


      Bergchen Methedras :)
PS: Und wie war das mit Santorin?

-----------------------------------------------------------------------------



Re: Re: PR-Aufloesung (Issomad, 24. Mar 1997, 20:35:22):
~#! rn=Methedras rt=859220217 rg=puiz
~#! tid=859195131
Hmm, es gibt auch Theorien, dass Atlantis im Mittelmeer lag, gar nicht mal
so weit von Aegypten weg. Das erklaert dann die spaeteren Hochkulturen
in Griechenland und Aegypten.

P.S.: Wurde der Atlantik etwa auch nach Atlan benannt ? :)

-----------------------------------------------------------------------------



Re: ST-Quiz Loesung Teil 1 von 5. (Guldukat, 24. Mar 1997, 21:43:49):
~#! rn=Jimdigriz rt=859216759 rg=puiz
~#! tid=859216759
ja sach mal, wie schreibst du denn gul dukat?
dukath war der fuehrer der mimbari! ;)
GD

-----------------------------------------------------------------------------



Re: Re: PR-Aufloesung (Li, 25. Mar 1997, 10:44:29):
~#! rn=Methedras rt=859220217 rg=puiz
~#! tid=859195131
ICH weiss nicht, wo Atlantis lag, aber nach Perry Rhodan lag Atlantis im
Atlantik.
Was die modernen Atlantisforschungen angeht, so ist Santorin wohl aus dem
Rennen, trotz der grossen Vulkanexplosion, die die insel Thra zerstoerte.
eine recht Interessante Theorie sagt, dass Atlantis mit Troja identisch sei!
Das aelteste Troja, das man ausgebuddelt hatte, hatte einen Hafen, wie Plato
ihn erwaehnt hat. Und die nicht passende Erklaerung der Entfernung von Troja
nach Aegypten (von wo die Quellen kamen, auf die sich die Griechen stuetzten),
erklaert diese Theorie mit Umrechnungsfehlern von aegyptische in griechiche
Laengeneinheiten! Da waren noch ein paar andere passende Akzente, aber die hab
ich vergessen...
Li (heute mal etwas archaeologisch, *buddel buddel* .-) )

-----------------------------------------------------------------------------



Brockhaus 13-4 (Cauno, 27. Mar 1997, 09:57:01):
21.03. Sie sind immer von besonderem Interesse: die Buecher, die auf dem 
       "Index" stehen. Veroeffentlicht ihn die katholische Kirche immer noch?

Nein, 1966 stellte die Heilige Glaubenskongegration die Veroeffentlichung 
ein. Seither wird nur ab und an ein "Admonitum" herausgegeben, das die 
Glaeubigen vor dem einen oder anderen Buch warnt.
Der erste "*Index liberorum prohibitorum*" wurde 1559 - 100 Jahre nach 
Gutenberg - veroeffentlicht. Darin wurden 5000 verbotene Buecher 
aufgelistet. Im Laufe der Zeit wurden u.a. verboten: Hugos "Der Gloeckner 
von Notre Dame" (1834), Flauberts "Madame Bovary" (1864), saemtliche 
Werke Descartes' (1663), Kants "Kritik der reinen Vernunft" (1827), 
saemtliche Werke Zolas (1894) und Sartres (1948). Die Werke von Autoren 
wie de Sade, Henry Miller und D.H. Lawrence sucht man dagegen vergebens. 
Zwar galten sie wohl als unmoralisch, wurden aber nicht als ketzerisch 
eingestuft.


22./23.03. Manch einer faengt sich im eigenen Netz. Warum die Spinne nicht?


24.03. Der Roman "Fanny Hill" gilt als Inbegriff der erotischen Literatur.
       Welchem Umstand verdanken wir seine Entstehung?


25.03. Kein Roman, sondern Wirklichkeit:
       Wer reiste 1870 in 80 Tagen um die Welt?


26.03. Warum gibt es Eier mit zwei Dottern?


27.03. Noch einmal eine Lektion ueber Ihr Fruehstuecksei:
       Ist die Groesse von Eiern von der Huehnerrasse abhaengig?

-----------------------------------------------------------------------------



Re: SF-Quiz, die fuenfte (Cauno, 27. Mar 1997, 10:59:00):
~#! rn=Cauno rt=858338749 rg=puiz
~#! tid=858338749
So, hat etwas gedauert, aber nun kommen auch die Aufloesungen vom letzten
SF-Quiz. (Ich brauchte wohl Zeit, um mir was neues auszudenken...) Dafuer
scheint aber auch die Beteiligung zu steigen (Oder wars zu einfach...?)
Erst noch mal die Fragen, dann die Antowrten:
    
52. Aus welchen Romanen oder Filmen stammen folgende Hauptpersonen?
    
    a) Elijah Baley
    b) Rick Deckard
    c) Sarah Connor
    d) "Per Anhalter durch die Galaxis" von Douglas Adams
    e) Mad Max I - III (Mel Gibson)
    f) Alien, Aliens und Alien3 (Sigourney Weaver)
    g) Max Headroom (Fatt Frewer)
    h) Der Tausendjahresplan (Foundation and Empire) von Isaac Asimov
    i) Raumpatrouille (Eva Pflug)
    j) Captain Future von Edmond Hamilton

Folgende Teilnehmer gaben richtige Antworten:

Marcus: 6 (b, c, d, f, g, i)
Highlander: 5 (b, c, d, f, i)
Sidolin: 4 (c, d, e, f)
Gralkor: 2 (c, i)
Methedras: 1,5 (a, i; Die Robotergeschichten von Asimov war leider nicht ganz
richtig.)

Seltsam, dass Captain Future nicht erkannt wurde, aber vielleicht ist das
doch schon zu lange her ... tja (aehem).

C. No

-----------------------------------------------------------------------------



Re: Re: SF-Quiz, die fuenfte (Li, 27. Mar 1997, 11:01:17):
~#! rn=Cauno rt=859456740 rg=puiz
~#! tid=858338749
BAh, Sf-Quiz... wie waere es mal mit nem "anstaendigen" Quiz, ueber Krimis,
oder shakespearzitate? Meinetwegen auch Fantasy... (Mach doch mal einer ne
aufstellung von Zauberern, die es zu erraten gilt..., oder bekannte drachen,
oder ach was weiss ich...) :-)

-----------------------------------------------------------------------------



SF-Quiz Nummer sechs (Cauno, 27. Mar 1997, 11:05:50):
53. Woher stammen folgende Zitate?
       
    a) 2 + 2 = 5
    b) "Ein Kreis hat kein Ende."
    c) "Ich finde Ihren Mangel an Glauben beklagenswert."
    d) "Keine Panik!"
    e) "Es gibt moeglicherweise keine schrecklichere Entdeckung,
        als die, dass auch dein Vater nur ein Mensch ist -
        und menschliche Empfindungen hat."
    f) "Triumphierend werde ich meinen Scheiterhaufen besteigen und
        inmitten der sengenden Flammen frohlocken! Wenn die Feuersbrunst
        erloschen ist, wird der Wind meine Asche ins Meer wehen. Mein Geist
        wird in Frieden ruhen; aber sollte er weiterhin denken koennen,
        so werden es andere Gedanken sein."
    g) "Es war eine Lust, Feuer zu legen."
    h) "Das Wohl von Vielen wiegt schwerer als das Wohl eines Einzelnen."
    i) "Das ist das schwierige daren, wenn man an ein uebernatuerliches
        Wesen glaubt: Immer zu erraten, was das Wesen wuenscht."
    j) "Ich glaube, Sie sind ein Roboter." - "Sie haben recht."


-----------------------------------------------------------------------------



Brockhaus 14-2 (Cauno,  1. Apr 1997, 13:04:45):
22./23.03. Manch einer faengt sich im eigenen Netz. Warum die Spinne nicht?
       
Weil sich eben immer wieder zeigt, dass in der Natur an alles gedacht
ist! Beim Weben ihres Netzes belaesst die Spinne einige der feinen
*Faeden ohne Klebstoff*. Auf ihnen kann sie dann gefahrlos hin- und   
herlaufen, ohne sich selbst darin zu verfangen.  


24.03. Der Roman "Fanny Hill" gilt als Inbegriff der erotischen Literatur.
       Welchem Umstand verdanken wir seine Entstehung?

Dem chronischen *Geldmangel* seines Autors John Cleland (*1709, +1789).
Aufgrung hoher Schulden wurde er ins Newgate-Gefaengnis von London   
geowrfen. Um wieder aus der Haft entlassen zu werden, nahm er das Angebot
eines Verlegers an, der versprach, ihm fuer einen erotischen Roman 20
Guineen zu zahlen, und schrieb im Gefaengnis "Fanny Hill, Memoirs of a
Woman of Pleasure".
Cleland fuehrte ein unstetes Wanderleben, war Konsul in Smyrna, im Dienst
der Ostindischen Kompagnie in Bombay, zog mehrere Jahre beschaeftigungs-  
los durch Europa und versuchte sich u.a. erfolglos als Erforscher der
keltischen Sprache. Er arbeitete als Journalist, schrieb Dramen und
verfasste mehrere Schelmenromane. Nichts blieb im Gedaechtnis der
Nachwelt als die die geglueckte Auftragsproduktion.


25.03. Kein Roman, sondern Wirklichkeit:
       Wer reiste 1870 in 80 Tagen um die Welt?

Der amerikanische Kaufmann, Abenteurer und Sonderling *George Train*
(*1829, +1904). Er reiste von New York nach San Fransisco, auf einem 
Segelschiff weiter nach Japan, von dort ueber Hongkong, Saigon, Singapur
durch den Suez-Kanal nach Marseille. In Lyon kam er ein paar Tage ins
Gefaengnis, nahm sich dann einen Privatzug zur Kanalkueste, setzte nach  
England ueber und erwischte in Liverpool gerade noch ein Schiff, das ihn
wieder nach New York brachte. Drei Jahre spaeter erschien Jules Vernes
Roman, worin Train als Phileas Fogg unsterblich wurde. Noch drei weitere 
Male reise Train um die Erde. 1892 schaffte er es in 60 Tagen.
Geschwindigkeit war seine Leidenschaft.


26.03. Warum gibt es Eier mit zwei Dottern?

Normalerweise wandert beim Eisprung des Huhns ein Dotter in den Eileiter,
wo er dann mit Eiweiss und Schale umgeben wird. Aber gelegentlich loesen
sich zwei Dotter auf einmal. Das ist zwar aehnlichen Zufaellen
unterworfen wie das Entstehen menschlicher Zwillinge, aber es ist doch zu
beobachten, dass bestimmte Huehner eher Eier mit zwei Dottern legen, und
zwar sehr junge und sehr alte Hennen. Sehr junge, weil ihr Lebenszyklus 
noch unregelmaessig ist; bezueglich der sehr alten Hennen gilt allgemein
die Regel: *Je aelter die Henne*, desto groesser die Eier! Und Jumbo-Eier
enthalten eher zwei Dotter als die in Normalgroessen.


27.03. Noch einmal eine Lektion ueber Ihr Fruehstuecksei:
       Ist die Groesse von Eiern von der Huehnerrasse abhaengig?

*Im allgemeinen nicht.* Denn wie gesagt: Je aelter das Huhn, desto
groesser das Ei. Ein weiterer faktor, der die Groesse der Eier
beeinflusst, ist das Gewicht des Huhns. Wenn das Huehnerfutter zu wenig
Proteine und Fettsaeuren enthaelt, gibt's kleinere Eier.
Uebrigens ist die Eierschale bei grossen Eiern nicht ueberproportional  
dick. Die Schale hat immer etwa 10 Prozent des Gesamtgewichts eines Eis.


Und hier die neue Staffel:

28.03. Wirkt sich Extremsport bei Aelteren positiv auf die Hirnleistung aus?

29./30.03. Und nun eine Frage an Sie:
           Wo bleiben eigentlich die Partner der Socken, die wir immer
           wieder einzeln aus der Waschmaschine holen?

31.03. Bach hatte 1705 Aussicht auf einen lukrativen Organistenposten.
       Warum schlug er ihn aus?

01.04. Schweben wie die Elfen ...
       Warum sprangen vor 21 Jahren Tausende von Englaendern in die Luft?

-----------------------------------------------------------------------------



Re: Brockhaus 14-2 (Methedras,  1. Apr 1997, 14:39:42):
~#! rn=Cauno rt=859892685 rg=puiz
~#! tid=859892685
                      Huhu

zu 28.03.: weiss ich leider nicht, aber ein Kommentar dazu:
           Allgemeiner Ausdauersport das ganze Leben durch soll
           sich negativ auf die Hirnleistung auswirken, daraus folgere
           ich mal voellig unverbluemelt, dass sich Extremsport bei
           Aelteren positiv auswirkt. :)

zu 29/30.03.: Die Partner der Socken? in meinem Schrank, denn ich ziehe
              immer zwei unterschiedliche Socken an, wasche sie also auch
              dann nicht zur gleichen Zeit.


                   Bergchen Methedras

-----------------------------------------------------------------------------



Re: Brockhaus 14-2 (Pra,  1. Apr 1997, 23:23:56):
~#! rn=Cauno rt=859892685 rg=puiz
~#! tid=859892685
nur mal so zur Info:
29./30.3.: Steht im Kalender wirklich 'Und nun eine Frage an Sie:' ???
Oder kommt das von dir?

Pra. Interessiert an der Unterdrueckung der Frau.

-----------------------------------------------------------------------------



Re: Brockhaus 14-2 (Flora,  2. Apr 1997, 09:23:17):
~#! rn=Cauno rt=859892685 rg=puiz
~#! tid=859892685

zu 31.3.: Ich glaube, das war der Posten in Luebeck, wo traditionell der
Organist die Tochter des Vorgaengers oder des Pastors oder sonst so eine
Tochter heiraten musste. Und in dem Fall war die wohl nicht ganz so
attraktiv...

-----------------------------------------------------------------------------



Re: Re: Brockhaus 14-2 (Li,  2. Apr 1997, 10:43:30):
~#! rn=Methedras rt=859898382 rg=puiz
~#! tid=859892685
die Socken verschwinden in schwarzen Loechern, die in den Socken sind. durch
das drehen der Waschtrommel werde die schwarzen Loecher aktiviert und die
sockenverschwinden. Daraus kann man sehen, dass nur Socken mit Loechern
verschwinden.
Li

-----------------------------------------------------------------------------



Re: Re: Brockhaus 14-2 (Gast2,  2. Apr 1997, 17:51:29):
~#! rn=Methedras rt=859898382 rg=puiz
~#! tid=859892685
Zum 01.04.: Ist wirklich lustig, was am 01.04.1966 passiert ist,
drum moechte ichs nicht vorher schon verraten. :) Ich sagt nur:
Ganz schoen kometenverrueckt, diese Englaender - und ueberlasse
die Aufloesung dann CauNo.

              Rothorn Caradhras - heute mal als Gastwieviel? *gruebel*
PS: Ich hab die ganze Geschichte gestern erzaehlt bekommen beim
   Pfannkuchenmachen und Spargelkochen, drum waer es jetzt unfair,
  die Aufloesung zu bringen vor CauNos Posting

-----------------------------------------------------------------------------



Re^3: Brockhaus 14-2 (Raffi,  2. Apr 1997, 21:29:33):
~#! rn=Li rt=859970610 rg=puiz
~#! tid=859892685
Vergiss Bitte nicht, das auch diese schwarzen Loecher einem Verdampfungsefekt
unterliegen.  Dadurch werden immer wieder virtuelle sockenpaare erzeugt, bei
denen sich einer der beiden Socken ausserhalb des Ereignishorizonts des
Sockenlochs befindet. Dies fuehrt dazu das nach dem waschvorgang von Socken,
die paarweise in die wschtrommel gelangten (und garantiert lochfrei waren)
nachher oft nur ein EInzelner zu finden ist.

Leider kann dieser Mechanismus nur etwa 40-70% aller LS ('Lonley Socks')
erklaeren. Die Theorien fuer die fehlenden 30-60% der Dunkelen Sockenmasse
sind bisher eher abenteuerlich. Von der Fachwelt wird eine Hypothese der
Weissen Loecher als vielversprechend angesehen.

Diese Besagt das in der Wandung der Waschtrommel bei genuegend hoher drehzahl
'Weisse' Loecher entstehen (es wird ein cavitationaler Efekt zugrunde gelegt)
durch welche einzelne Socken, die in ihren Schwarzen loechern verschwunden
sind, wieder in die waschmaschiene eintreten. Diese Theorie beschreibt sehr
gut den oft Beobachteten effekt das einzelne Socken oft Monate spaeter wieder
mitten in der frisch gewaschenen Waesche auftauchen.

Leider sind hier noch viele Fragen ungeklaert und beduerfen weitergehender
Grundlagenforschung.

Gruss
H.

-----------------------------------------------------------------------------



Re^4: Brockhaus 14-2 (Ratz,  2. Apr 1997, 22:07:43):
~#! rn=Raffi rt=860009373 rg=puiz
~#! tid=859892685
Die bisher erleuterten grundlagen des "einsame Socken Effektes" sind sehr
erfreulich! Jedoch koennen sie noch nicht den allgemein bekannten effekt
erklaeren, dass naehmlich zu einem hohen Anteil die linken Socken
verschwinden. Dies fuehrt dann auch bei Gemischtsockentraegern s.o. nach einer
weile zu erheblichen Schwierigkeiten. Ob dieser Effekt suedlich des Aequators
anders ist kann ich aus eigener Erfahrung nur unzureichend bestaetigen!
In der Hoffnung auf eine erweiterte Theorie gruesst euch eine ganz arme Socke 
ratzfatz Ratz

-----------------------------------------------------------------------------



Brockhaus 14-4 (Cauno,  3. Apr 1997, 09:25:51):
Erst einmal an Pra: Ja, das stand da wirklich. warum, seht ihr gleich.
Ansonsten gab es wieder gute Antworten. Merkt euch mal die Socken-Antworten,
vielleicht kann man sie ja noch brauchen ...

28.03. Wirkt sich Extremsport bei Aelteren positiv auf die Hirnleistung aus?

Eine Testreihe des Max-Planck-Instituts fuer Psychiatrie in Muenchen
ergab Hinweise darauf, dass Hochleistungs-Ausdauersport moeglicherweise
den *Alterungsprozess des Gehirns* beschleunigt. Man verglich die
Gedaechtnisleistung von 55- bis 65jaehrigen Marathonlaeufern mit der von
gleichaltrigen, unsportlichen Maennern. Dabei schnitten die Unsportlichen
um immerhin 15% besser ab. Verantwortlich dafuer soll das "Stresshormon"
Cortisol sein, das bei Marathonlaeufern offensichtlich auch in
stressfreien Phasen ueberaktiv ist. Es fuehrt, zumindest bei Tieren, zu
schnellerem Altern des Gehirns. Eine Nachuntersuchung der Testteilnehmer
ist fuer dieses Jahr geplant. Bis dahin sollte man sich vielleicht mit
etwas Federball begnuegen.


29./30.03. Und nun eine Frage an Sie:
           Wo bleiben eigentlich die Partner der Socken, die wir immer   
           wieder einzeln aus der Waschmaschine holen?

Ehrlich gesagt, *wir wissen's nicht.*
Der Autor dieses Kalenderblattes hat vor kurzem eine defekte Wasch-
maschine in saemtliche Einzelteile zerlegt, ohne eine einzige Socke zu
entdecken. Dabei harren in seiner Strumpfschublade sieben vereinsamte
Exemplare der ersehnten Wiedervereinigung mit ihrem Zwilling. Vielleicht
handelt es sich ja um ein gesellschaftliches Phaenomen im Strumpfteich,
das der Tendenz zum Singledasein in der westlichen Welt entspricht.
Helfen Sie uns, die mysterioesen Umstaende des Verschwindens von Socken  
zu loesen, und senden Sie Ihre Theorien, Beobachtungen und Erkenntnisse
an die BROCKHAUS-Lexikonredaktion, Kennwort Kalender, Dudenstrasse 6,
68167 Mannheim.


31.03. Bach hatte 1705 Aussicht auf einen lukrativen Organistenposten.   
       Warum schlug er ihn aus?

Der 20jaehrige Johann Sebastian Bach (*1685, +1750), damals Organist in
Arnstadt/Thueringen, war ein Bewunderer des Komponisten und Organisten   
Dietrich Buxtehude (*1637, +1707). Um ihn zu sehen und zu hoeren,
wanderte er 350 km weit nach Luebeck. Dort angekommen, vernahm er, dass
Buxtehude amtsmuede sei und seinen Posten an der Marienkirche, den er
seit 1668 innehatte, an Bach uebergeben wolle. Es sei nur eine Bedingung
damit verknuepft: Bach muesse *Buxtehudes 30jaehrige Tochter* heiraten.
Bach lehnte dankend ab und wanderte zurueck. Schon 1703 hatte ein anderer
das gleiche Angebot abgelehnt: Georg Friedrich Haendel. Buxtehudes
Tochter scheint nicht gerade die Perle der Ostsee gewesen zu sein.


01.04. Schweben wie die Elfen ...
       Warum sprangen vor 21 Jahren Tausende von Englaendern in die Luft?

Ein bekannter Astronom erklaerte eines Morgens in der BBC, dass genau um
9 Uhr 47 aufgrund einer Konstellation, in der Pluto exakt hinter dem   
Jupiter stuende, die *Erdanziehung* stark sinken wuerde. Er riet den
Zuhoerern, genau in dieser Minute hochzuspringen, da man dann fuer einige
Augenblicke schweben koenne.
Das Experiment fand Anklang, und Hunderte von Anrufern bestaetigten der
BBC seinen Erfolg. Ach ja, es war genau vor 21 Jahren: am 1. April!


Ich werde mal Eure Socken-Theorien sammeln, und wenn ihr gestattet, sie mal
dan den Autoren schicken ...

       
02.04. [Tschermissisch] ist eine agglutinierende Sprache.
       Was will uns das sagen?


03.04. Sie gehoeren zu den beliebtesten Filmhelden: die drei Musketiere.
       Warum sieht man sie nie mit Musketen kaempfen?


-----------------------------------------------------------------------------



Re: Brockhaus 14-4 (Ratz,  3. Apr 1997, 09:35:17):
~#! rn=Cauno rt=860052351 rg=puiz
~#! tid=860052351
zum 28.3. 
ich frage mich ob bei dieser Untersuchung die Gedaechtnisleistung der
Testkandidaten auch vor Beginn des Ausdauersporttrainings gemessen wurde? 
Es koennte doch sein das die jenigen, welche so einen Sport treiben schon
vorher ein schlechtes Gedaechtnis hatten. Vielleicht sind das ja all
diejenigen, die sich nicht merken konnten welches das richtige Tor beim
Fussball ist?

ratzfatz Ratz

-----------------------------------------------------------------------------



Re: Re: Brockhaus 14-4 (Cauno,  3. Apr 1997, 09:54:41):
~#! rn=Ratz rt=860052917 rg=puiz
~#! tid=860052351
Also, wenn die waehrend den Tests ihren Extremsport gemachte haben, werden die
das wohl schon vorher auch gemacht haben. d.h., wenn du den Test VOR dem
Training machen wolltest, muesstest do wohl in der Kindheit anfangen?!?

Naja, ist ja auch wurscht, jedenfalls wurden die Leute miteinander verglichen,
die den Sport betreiben/nich betreiben. Ich nehm mal, an das die Testpersonen
alle etwa zur gleichen Altersgruppe gehoerten.

Ausserdem glaube ich sowieso keiner Statistik, die ich nicht selbst gefaelscht
habe ...

C. No

verlege artikel nach schmarrn ...

-----------------------------------------------------------------------------



Re: Brockhaus 14-4 (Quengistu,  3. Apr 1997, 17:45:08):
~#! rn=Cauno rt=860052351 rg=puiz
~#! tid=860052351
Frage vom 02.04.: Was will uns das sagen? - Dass Tschermissisch keine
flektierende Sprache ist. :-)

-----------------------------------------------------------------------------



Re: Brockhaus 14-4 (Lycar,  3. Apr 1997, 22:00:19):
~#! rn=Cauno rt=860052351 rg=puiz
~#! tid=860052351
03.04
Ich denke weil die Musketen damals fuer den Schuetzen genauso gefaehrlich
waren wie fuer jedes potentielle Ziel ? :)
Ganz zu Anfang muste ja noch ein gluehender Zuendstrick in die Pulver-
pfanne bewegt werden... Steinschloss- und Perkussionsflinten kamen wohl
erst spaeter auf... ausserdem dauert das Nachladen ellenlang und ein
Feuergefecht mit so 1 Schuss pro Minute is eben nicht so spannend wie 
ein schoenes Fechtduell :)


Lycar

-----------------------------------------------------------------------------



Re: Brockhaus 14-4 (Li,  4. Apr 1997, 10:44:16):
~#! rn=Cauno rt=860052351 rg=puiz
~#! tid=860052351
Zum 3.4. Also in einem der Filme schiessen sie mit Musketen...
also ich denke mir mal, die Musketiere waeren DAS Eliteregiment der
Franzosen/des Koenigs. Ich denke mal, dass sie im Krieg dann auch Musketen
benutzt haben, nur das Buch (zum. das erste, Die drei Musketiere) beschreibt
halt keinen Krieg, und da stechen und hauen sie halt nach "Gentlemanmanier"
mit m Degen rum.
(Oder gabs da noc keine Musketen, und der Name Muskete kommt von Musketier und
nich andersrum? Noe, klingt unlogisch, im 18. Jahrhundert gabs doch schon
Musketen?)
Li (spekuliert heute mal ein wenig)

-----------------------------------------------------------------------------



Re^5: Brockhaus 14-2 (Hardil,  4. Apr 1997, 10:50:38):
~#! rn=Ratz rt=860011663 rg=puiz
~#! tid=859892685

Fragt doch mal Puma!
Der hat auch ein Problem, vor allem, wenn die Socken schwarz sind. Da braucht
er noch nicht mal 'ne Waaeschmaschine fuer.
rufe Calum nach Spaetzle!

-Hardil. In Erinnerungen schwelgend

-----------------------------------------------------------------------------



Brockhaus 14-5 (Cauno,  4. Apr 1997, 12:15:13):
03.04. Sie gehoeren zu den beliebtesten Filmhelden: die drei Musketiere.
       Warum sieht man sie nie mit Musketen kaempfen?

Die Eliteeinheit der Musketiere wurde 1622 als Leibgarde des franzoe- 
sischen Koenigs Ludwig XIII. (*1610, +1643) gegruendet. In Kriegszeiten 
kaempften sie sehr wohl mit Musketen. Das waren aus Spanien stammende 
Gewehre mit Luntenschloss, die bis zu zweieinhalb Meter lang waren und 
wegen ihres immensen Gewichts auf eine Gabel aufgelegt wurden. Sie waren 
zwar maechtige, grosskalibrige Waffen, aber *sehr unhandlich*, und 
konnten kaum zu Pferde mitgenommen werden. Also verliessen sich die 
"Musketiere" beim Dienst fuer den Koenig doch lieber auf ihre Pistolen 
und Degen.


04.04. Koennen Katzen besser riechen als Menschen?


-----------------------------------------------------------------------------



Re: Brockhaus 14-5 (Flora,  4. Apr 1997, 13:07:05):
~#! rn=Cauno rt=860148913 rg=puiz
~#! tid=860148913

zu 04.04. Koennen Katzen besser riechen als Menschen?


Ich glaube nicht; alle Katzen die ich kenne, stinken!

flora

-----------------------------------------------------------------------------



Re: Brockhaus 14-5 (Pra,  4. Apr 1997, 14:55:10):
~#! rn=Cauno rt=860148913 rg=puiz
~#! tid=860148913
noch mal zu den Musketieren:

Ich haette schwoeren koennen, dass da ein 'l' fehlte im Namen,
und dass die eigentlich Muskeltiere hiessen...

so kann man sich irren...

Pra.

-----------------------------------------------------------------------------



Sokoban (Acrimon,  4. Apr 1997, 20:36:03):
Extra fuer Schrumpfi, damit ihr nicht langweilig ist:

Wie loest man folgende Stellung?


        ###########
        #   #     #
 #####  #     o o #
 #   ##### o## # ##
 # o ##   # ## o  #
 # o  Aoo # ##ooo #
 ## ###   # ##    #
 ## #   ### #####o#
 ## #     o  #....#
 #  ### ## o #....##
 # o   o #   #..o. #
 #  ## o #  ##.... #
 #####   ######   ##
     #####    #####

Zeichenerklaerung:
# Wand
o Fasz oder Kiste
A Person, die schiebt
. Zielfelder

Die Regeln sind einfach: A darf sich von Feld zu Feld bewegen und die Kisten
schieben (aber nicht ziehen oder rollen), mit welchen Zuegen schafft er alle
Kisten auf die Zielfelder?

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Brockhaus 14-5 (Guldukat,  4. Apr 1997, 21:52:08):
~#! rn=Flora rt=860152025 rg=puiz
~#! tid=860148913
scheiss trigger:
---snip---
zu 04.04. Koennen Katzen besser riechen als Menschen?


Ich glaube nicht; alle Katzen die ich kenne, stinken!

flora
G>Sowas siehst Du hier nicht.
Sowas siehst Du hier nicht.
This information is not available!
G>Sowas siehst Du hier nicht.
Sowas siehst Du hier nicht.
This information is not available!
--snip--
;) GD

-----------------------------------------------------------------------------



Re: Sokoban (Mars,  4. Apr 1997, 22:20:30):
~#! rn=Acrimon rt=860178963 rg=puiz
~#! tid=860178963
Hmm, das Level kommt mir irgendwie bekannt vor. Liegt wohl daran, dass
ich da auch stecken geblieben bin. Ich schaetze mal, da ist irgendwann
beim Kopieren der Level-Daten fuer eine neue Sokoban-Version eine Kiste
verrutscht. Ich hab mir jedenfalls auch die Zaehne dran ausgebissen.

Mars der Kistenschieber


-----------------------------------------------------------------------------



Re: Re: Sokoban (Pra,  5. Apr 1997, 14:27:19):
~#! rn=Mars rt=860185230 rg=puiz
~#! tid=860178963
dito.

Das war der Level, an dem ich beschlossen habe, das Spiel zu loeschen.

Pra. Schiebt im Moment Kohldampf.

-----------------------------------------------------------------------------



Re^3: Sokoban (Rumata,  6. Apr 1997, 13:13:29):
~#! rn=Pra rt=860243239 rg=puiz
~#! tid=860178963
Hmm, den Level hab e ich damals ziemlich schnell geschafft; der Trick
besteht darin, dass man in die Linke untere Ecke eigentlich 2 Kisten
stellen kann (wenn man eine Kiste in den Gang nach links stellt und immer
von oben herienkommt. Man muss in der mitte ziemlich viele Kisten von
rechts unterbrinen,a ber das ist nu wirklich standard :-)

Rumata, alter Sokoban-Meister :-)

-----------------------------------------------------------------------------



Re: Sokoban (Yendi,  7. Apr 1997, 11:11:19):
~#! rn=Acrimon rt=860178963 rg=puiz
~#! tid=860178963

Sag mal, Acrimon, wie sprichst Du "Fasz" aus?
_Fass_ oder _Fahs_, analog zu "Fusz" oder "Masz"?

YTY

-----------------------------------------------------------------------------



Re: Re: Sokoban (Boing,  7. Apr 1997, 11:12:17):
~#! rn=Yendi rt=860404279 rg=puiz
~#! tid=860178963
Was soll 'Fasz' ueberhaupt sein? Eine falschgeschriebene Zeitung?
  Boing

-----------------------------------------------------------------------------



Re: Re: Sokoban (Highlander,  7. Apr 1997, 11:12:51):
~#! rn=Yendi rt=860404279 rg=puiz
~#! tid=860178963
Vermutlich wie Fasszendent - nur ohne endent ;>
  HrT (Uli Stein Comic-Fan)

-----------------------------------------------------------------------------



Re^3: Sokoban (Boing,  7. Apr 1997, 11:14:28):
~#! rn=Highlander rt=860404371 rg=puiz
~#! tid=860178963
Damit liegst Du wahrscheinlich fasst richtig ...
  Boing

-----------------------------------------------------------------------------



Re^4: Sokoban (Yendi,  7. Apr 1997, 11:24:03):
~#! rn=Boing rt=860404468 rg=puiz
~#! tid=860178963

*argl* Ich fass es nicht...


-----------------------------------------------------------------------------



Re^5: Sokoban (Cauno,  7. Apr 1997, 12:39:06):
~#! rn=Yendi rt=860405043 rg=puiz
~#! tid=860178963
Cau No fasst sich an den Kopf ...

-----------------------------------------------------------------------------



Brockhaus 15-1 (Cauno,  7. Apr 1997, 12:40:13):
04.04. Koennen Katzen besser riechen als Menschen?

Jein. Katzen verfuegen ueber ein Organ, das beim Menschen rueckgebildet 
ist. Sie haben dadurch einen zwischen Geschmack und Geruch angesiedelten 
Sinn. Das sogenannte *Jacobsonsche Organ* (auch Nebengeruchsorgan oder 
Nebennase), benannt nach dem daenischen Arzt L. L. Jacobson (*1783, 
+1843), kommt bei Amphibien, Reptilien und Saeugetieren, z.B. auch bei 
Hirschen und Pferden, vor. Es besteht aus einem kleinen zigarrenfoermigen 
Beutel, der hinter dem Zwischenkiefer in die Mundhoehle muendet. Um es zu 
benutzen, "schlecken" Katzen die Luft in den Mund und druecken die Zunge 
an den Gaumen. Sie haben dann diesen recht idiotischen Gesichtsausdruck, 
den man "Flehmen" nennt.


05./06.04. Bis zum 31.12.1974 wurde man mit 21 Jahren volljaehrig.
           Warum ausgerechnet mit 21?


07.04. Der Geist welches Praesidenten spukt im Weissen Haus: der von
       - Abraham Lincoln
       - Thomas Jefferson
       - Richard Nixon?


-----------------------------------------------------------------------------



Re: Re: Sokoban (Acrimon,  7. Apr 1997, 13:27:20):
~#! rn=Yendi rt=860404279 rg=puiz
~#! tid=860178963
"Fasz" wie "Fasz", d.h. mit kurzem a und scharfem s;
"Fusz" wie "Fuhs";
"Masz" je nach Bedeutung "Masz" Bier oder "Mahs" Meter.

Dasz in der Rechtschreibreform um 1900 die beiden Aussprachen gemischt wurden
und beide denselben Buchstaben bekommen haben, damit man sich schlechter
auskennt, dafuer kann ich nichts; ich finde es ja auch schlecht.

(War nur eine Antwort auf eine Frage)
Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^3: Sokoban (Cauno,  7. Apr 1997, 13:57:31):
~#! rn=Acrimon rt=860412440 rg=puiz
~#! tid=860178963
Grade das waere ein Argument, das Doppel-s nur nach kurzen Vokalen zu
verwenden, das sz nur nach langen, damit es auch in der schriftsprache wieder
eindeutiger wird ...

Nur meine zwei Zehntelgroschen, C. No

-----------------------------------------------------------------------------



Re^3: Sokoban (Guybrush,  7. Apr 1997, 14:02:00):
~#! rn=Acrimon rt=860412440 rg=puiz
~#! tid=860178963
>Dasz in der Rechtschreibreform um 1900 die beiden Aussprachen gemischt wurden
>und beide denselben Buchstaben bekommen haben, damit man sich schlechter
>auskennt, dafuer kann ich nichts; ich finde es ja auch schlecht.

Dann kann'ste Dich ja ueber die neue Reform freuen, Acrimon, denn dort werden
die beiden wieder unterschieden; und zwar gibts jetzt nur noch das "ss" und
das "s", wobei es bis auf eine einzige Person in Sueddeutschland, die sich
zwanghaft weigert, allgemeinverstaendliche Buchstaben zu nutzen, auch jetzt
schon im deutschen Sprachraum das  "sz" in dieser Form nicht mehr gibt. Aber
wir sind ja tolerant, oder zumindest behaupten wir das (das war jetzt keine
pluralis majestatis - ich will nur nicht als alleiniger Stinkfuss dastehen),
und lassen Dir Deine Spaeszchen, wenn wir daran teilhaben duerfen.

Guybrush, tolerant, intelligent und ohne Fehler

P.S.: Ironie gibt's nicht.


-----------------------------------------------------------------------------



Re^4: Sokoban (Oetti,  7. Apr 1997, 14:06:56):
~#! rn=Guybrush rt=860414520 rg=puiz
~#! tid=860178963
*gaehn*

Oefter mal was neues nachdem das sz, ss, s /3 und  jetzt so
abgelutscht ist, dass es mir zum HAls raushaengt bin ich dafuer wir 
machen uns ueber die Umlaute her, wie waere es wenn man das
AE ("A) () durch z.B. Arsch ersetzt,
das OE durch Umpf, das Ergebnis waere dann z.B.:

Im Marschen der Bauer die Rumpflein einspannt, na geht doch, oder ??

Oe*

-----------------------------------------------------------------------------



Re^5: Sokoban (Acrimon,  7. Apr 1997, 15:29:25):
~#! rn=Oetti rt=860414816 rg=puiz
~#! tid=860178963
Zu Grimmborn:
Lies die neue Rechtschreibreform nochmal durch, es wird _drei_ s geben:
einfaches s, doppeltes ss und scharfes sz.

Zu Umpftti:
Im Marschrzen der Bauer die Rumpfszlein einspannt.
Ich bin dafonkr; wem farschllt noch Arschhnliches ein?

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Brockhaus 15-2 (Cauno,  8. Apr 1997, 13:59:38):
05./06.04. Bis zum 31.12.1974 wurde man mit 21 Jahren volljaehrig.
           Warum ausgerechnet mit 21?

Diese Regel galt bis vor einigen Jahren in vielen Laendern, u.a. auch in 
Grossbritannien und den USA. Die Volljaehrigkeit mit 21 Jahren geht auf 
das *Mittelalter* zurueck. Damals verliessen die Jungen aus adligen 
Familien mit neun bis zehn Jahren das Haus, um bei Gleichgestellten oder 
Hoeherrangigen Dienst zu tun. Bis 14 dienten sie im allgemeinen als Pagen 
im Haushalt und wurden dann als Knappen einem Ritter unterstellt, dem sie 
die Ruestung polierten, die Pferde striegelten und der sie im Hauen und 
Stechen unterwies.
Bis ins 13. Jahrhundert war es ueblich, dann mit 21 zum Ritter geschlagen 
zu werden. Entsprechend gingen in den Staedten die Buergersoehne mit 14 
zu einem Meister in die Jehre, die gewoehnlicherweise sieben Jahre dauerte.


07.04. Der Geist welches Praesidenten spukt im Weissen Haus: der von
       - Abraham Lincoln
       - Thomas Jefferson
       - Richard Nixon?

Der Geist von *Abraham Licoln* (*1809, +1865). Im Tagebuch von Eleanor 
Roosevelt (*1884, +1962), der Frau des Praesidenten Franklin D. Roosevelt 
(*1882, +1945), findet sich eine Eintragung, derzufolge eines der 
Dienstmaedchen zu ihr ins Zimmer gestuermt kam und schrie: "Er ist da 
oben, sitzt auf dem bettrand und zieht sich die Schuhe aus!" Auf die 
Frage, wer das tue, antwortete das Maedchen: "Mr. Lincoln!"
Neben anderen hat angeblich die niederlaendische Koenigin Wilhelmina 
(*1880, +1962) den Geist Lincolns waehrend eines Staatsbesuches gesehen.


08.04. Macho, Machissimo.
       Wo entdeckte James Cook ein selten praechtiges Exemplar?


-----------------------------------------------------------------------------



Brockhaus 15-3 (Cauno,  9. Apr 1997, 14:44:20):
08.04. Macho, Machissimo.
       Wo entdeckte James Cook ein selten praechtiges Exemplar?

Auf *Tonga*. 1777, bei seiner dritten Expedition, besuchte der englische 
Weltumsegler James Cook (*1728, +1779) das suedwestpazifische Koenigreich 
und lernte dort Koenig Lapetamaka II. kennen. Der ueber 80 Jahre alte 
Herrscher erzaehlte, dass es sein vornehme Pflicht sei, saemtliche 
Insulanerinnen zu entjungfern. Mit dieser muehevollen Aufgabe sei er 
gegenwaertig etwa achtmal taeglich befasst. Er habe niemals in seinem 
Leben zweimal mit der gleichen Frau geschlafen.
Vorsichtige Berechnungen auf Basis der Angaben Lapetamakas lassen 
schwindeln. Eine derart extensive Inanspruchnahme des im Mittelalter 
ausgeuebten grundherrlichen "Ius primae noctis" (= Recht der ersten 
Nacht) ist jedenfalls in Europa nicht bezeugt.


09.04. Diaeten sind keine Erfindung unserer Tage.
       Welche Diaet bevorzugten z.B. die Schriftsteller Shaw und Hemingway?

-----------------------------------------------------------------------------



Tonga (Hobo,  9. Apr 1997, 15:24:25):
Die Angabe von 8mal pro Tag halte ich fuer etwas uebertrieben. 8x taeglich
wuerde bedeuten, dass er pro Jahr 2920 Jungfrauen von ihrer Eigenschaft
befreien wuerde. Mit einer (vermutlich zu niedrig angesetzten) Lebenserwartung
von 30 Jahren wuerde sich damit eine Bevoelkerung von 87 600 Menschen ergeben.
Ich glaube kaum, dass in einem Inselkoenigreich zu dieser Zeit soviele Leute
gelebt haben.

Any comments?

Hobo

-----------------------------------------------------------------------------



Re: Tonga (Cauno,  9. Apr 1997, 15:25:41):
~#! rn=Hobo rt=860592265 rg=puiz
~#! tid=860592265
Das war wahrscheinlich mit der "vorsichtigen Rechnung" gemeint ...
Es sei denn, die haetten einen Weg gefunden, die Jungfraeulichkeit
wiederzuerlangen ...

Another comments?

C. No

-----------------------------------------------------------------------------



Re: Tonga (Fyt,  9. Apr 1997, 15:25:50):
~#! rn=Hobo rt=860592265 rg=puiz
~#! tid=860592265

Hm, ja. Du hast die maennlichen Mitglieder der Gesellschaft bei Deiner
Berechnung vergessen.

Fyt.

-----------------------------------------------------------------------------



Re: Tonga (Sidolin,  9. Apr 1997, 15:27:10):
~#! rn=Hobo rt=860592265 rg=puiz
~#! tid=860592265
Falsch.
Das stimmt nur, wenn du davon ausgehst, dass alle Maenner bei geburt getoetet
werden.

Aber viel interessanter ist die Frage, wieviele von seinen Toechtern und
Enkelinnen (die evtl. auch seine Toechter sind....) der Mann dann ge tja aeh
wie nennt man das ... geprimaenoctet hat....

Sidolin. Einfach zur falschen Zeit am falschen Ort,.

-----------------------------------------------------------------------------



Re: Re: Tonga (Hobo,  9. Apr 1997, 15:43:25):
~#! rn=Sidolin rt=860592430 rg=puiz
~#! tid=860592265
D.h. also, dass man die Bevoelkerungszahl verdoppeln duerfte, da's die Maenner
ja auch noch gibt.
Damit wird das Ganze keineswegs besser...
Sogar mit einer Schaetzung von 4 Frauen pro Tag kaeme man also in zu hohe
Regionen...

Allerdings: Vielleicht gab's da besondere Wochen, wo sowas gemacht wurde,
vielleicht im Fruehling, oder so???

Hobo

-----------------------------------------------------------------------------



Re^3: Tonga (Grimmborn,  9. Apr 1997, 15:55:00):
~#! rn=Hobo rt=860593405 rg=puiz
~#! tid=860592265
Hmm, hat sich keiner Gedanken darueber gemacht, dass es moeglicherweise nicht
so glaubhaft ist, wenn ein 80jaehriger mit acht Entjungferungen pro Tag
prahlt?
Abgesehen davon (und in diesem Zusammenhang weniger interessant) gibt es
Zusammenhaengen, wo "Jungfrau" einfach "unverheiratet" bedeutet, und zweitens
gibt es durchaus die Moeglichkeit, die (organische) Jungfraeulichkeit
wiederherzustellen, was fuer die betreffende Frau wohl kein sonderliches
Vergnuegen sein muss. Aber da habe ich natuerlich keine Erfahrung...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Tonga (Acrimon,  9. Apr 1997, 15:56:06):
~#! rn=Hobo rt=860592265 rg=puiz
~#! tid=860592265
Ich rechne da anders:
8 Jungfrauen taeglich sind 2920 Jungfrauen jaehrlich.
Bei einem (fuer damalige Verhaeltnisse) Geburtsalter von ca 20 Jahren haben in
seinem Reich also 58400 Jungfrauen gelebt.
Wenn die Lebenserwartung bei ca 40 Jahren liegen wuerde, dann haben in seinem
Reich ca 233600 Menschen gelebt.
Dafuer braucht man schon recht grosze Inseln.

Kann es sein, dasz der gute Mann nicht gesagt hat "durchschnittlich acht
Frauen am Tag", sondern "bis zu acht Frauen am Tag"?
Dann werden die acht Frauen wohl eine Ausnahme sein und der Durchschnitt
irgendwo bei 2 (bis 3) Frauen am Tag liegen.
Dann hat der Koenig etwa 58400 Untertanen, davon ca 14600 Jungfrauen.
Das koennte dann passen, 58400 Menschen leben heute in einer groeszeren
Ortschaft.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Re: Tonga (Har,  9. Apr 1997, 16:53:20):
~#! rn=Cauno rt=860592341 rg=puiz
~#! tid=860592265
Die Antwort waere Alaun, das wirk adistringierend - und schon sind se wieder
etwas "zuer"

Har

-----------------------------------------------------------------------------



Re^3: Tonga (Rumata,  9. Apr 1997, 22:44:08):
~#! rn=Har rt=860597600 rg=puiz
~#! tid=860592265
Nochwas, das mit dem "Recht der ersten Nacht" ist eigentlich auch
ein Ammenmaerchen.

Rumata

-----------------------------------------------------------------------------



Re^3: Sokoban (Li, 10. Apr 1997, 10:27:06):
~#! rn=Highlander rt=860404371 rg=puiz
~#! tid=860178963
Und was ist dein Bierkreiszeichen?
Li (ebenfalls Uli Stein Comic-Fan)

-----------------------------------------------------------------------------



Brockhaus 15-4 (Cauno, 10. Apr 1997, 10:53:22):
09.04. Diaeten sind keine Erfindung unserer Tage.
       Welche Diaet bevorzugten z.B. die Schriftsteller Shaw und Hemingway?

*Ernest Hemingway* hielt nur Diaet, wenn er schrieb. Dann mied er 
jegliche Suessigkeiten und ernaehrte sich von Brot mit Erdnussbutter, 
rohem Gemuese und Roggencrispies. Seinen Zuckerbedarf stillte er - 
natuerlich - mit Alkohol.
*George Bernard Shaw* war da um einiges: Er mied stets Alkohol, Fleisch, 
Tee und Kaffee. Zum Fruehstueck gab es Koestlichkeiten wie Porridge, 
Weizenschrot und eine Grapefruit. Eines seiner Leiblingsgerichte war Brot 
mit Gemuese und Joghurt.
Exklusiv fuer Sie ein vielleicht verlockenderes Diaetgericht: Eine dicke 
Kartoffel behaeufele man mit Kaviar und geniesse das ganze mit einem Glas 
Champagner. Dabei nimmt man nicht mehr als 500 Kalorien zu sich.


10.04. Was empfahl der Philosoph Locke als einzig geeignetes Getraenk 
       fuer Kinder?


-----------------------------------------------------------------------------



Re^4: Tonga (Yendi, 10. Apr 1997, 11:32:09):
~#! rn=Rumata rt=860618648 rg=puiz
~#! tid=860592265

Im Mittelalter gab es kein ius primae noctis, das wurde wohl erst in der
Renaissance erfunden, damit man sich besser vom finsteren Mittelalter
abheben konnte. Aber was schert das einen Insulanerkoenig, Rumata?


-----------------------------------------------------------------------------



Re^3: Tonga (Ancalagon, 10. Apr 1997, 17:30:07):
~#! rn=Hobo rt=860593405 rg=puiz
~#! tid=860592265
Knuddles vorweg!
Hmmm, wahrscheinlich wars einfach ein Verstaendigungs- bzw.
Uebersetzungsfehler.... :)
Knuddels hinterher.:)
heute mal als grosser desillusionator,
                                                  Ancalagon
                                            Draco knuddellensis major

-----------------------------------------------------------------------------



Re^6: Sokoban (Hardil, 14. Apr 1997, 11:45:09):
~#! rn=Acrimon rt=860419765 rg=puiz
~#! tid=860178963
Acrimon schrieb:

>Ich bin dafonkr; wem farschllt noch Arschhnliches ein?


War das jetzt Ironie? lernt der Gute?


-----------------------------------------------------------------------------



Re: Brockhaus 15-2 (Raffi, 14. Apr 1997, 15:55:59):
~#! rn=Cauno rt=860500778 rg=puiz
~#! tid=860500778
So ein schmarrn, wo doch jeder weiss das der Geist von Tricky Dick ungebrochen
durchs Weisse Haus schwebt.

Gruss
H.

-----------------------------------------------------------------------------



Brockhaus 16-2 (Cauno, 15. Apr 1997, 12:45:52):
10.04. Was empfahl der Philosoph Locke als einzig geeignetes Getraenk 
       fuer Kinder?

*Bier!* So abwegig, wie es uns heute erchseint, war die Empfehlung John 
Lockes (*1634, +1704) nicht. Das in den meisten englischen Haushalten 
selbst gebraute Duennbier enthielt nur wenig Alkohol. Und Wasser war 
wegen der unhygienischen Brunnen nicht besonders gesund.


11.04. Man nehme ...:
       Wie lautet das erste europaeische Rezept fuer Schiesspulver?

12./13.04. Welche Blume erzielte im 17. Jahrhundert die exorbitantesten 
           Preise: - die Rose
                   - die Tulpe
                   - das Veilchen?

14.04. Sie ist uns aus englischen und amerikanischen Gerichtsfilmen 
       wohlbekannt: die Habeas-Corpus-Akte. Gibt es sie auch bei uns?

15.04. Schaufelrad oder Schraube?
       Wie fiel die Entscheidung zwischen den Schiffsantriebsarten?

-----------------------------------------------------------------------------



Re: Brockhaus 16-2 (Hardil, 15. Apr 1997, 12:48:23):
~#! rn=Cauno rt=861101152 rg=puiz
~#! tid=861101152

Klasse - das ** kann untergehen, aber standhaft veroeffentlich CauNo tag fuer
Tag seinen puiz-Artikel und postet nicht zum "Skandal".
Das ist der einzige Artikel, den ich heute gelesen habe, in dem nicht 7mal das
Idiom "Ich fordere" oder das Wort "Sabotage" oder die Beschimpfung "Arsch"
vorkam.
Danke, CauNo - auch wenn ich den Kalender selber habe, war Dein Artikel gerade
richtig wohltuend. :-)

-Hardil.

-----------------------------------------------------------------------------



Re: Re: Brockhaus 16-2 (Cauno, 15. Apr 1997, 12:58:43):
~#! rn=Hardil rt=861101303 rg=puiz
~#! tid=861101152
Danke fuer das Lob, das hab ich schon von vielen Stellen bekommen.
Da hab ich ja nochmal Schwein gehabt, dass besagte Worte nicht auch noch auf
dem Kalender auftauchten. Zwar koennte ich jetzt auch noch was sagen, aber ich
lass es, sonst enttaeusche ich noch jemanden.

C. No

-----------------------------------------------------------------------------



Re: SF-Quiz Nummer sechs (Cauno, 15. Apr 1997, 13:02:32):
~#! rn=Cauno rt=859457150 rg=puiz
~#! tid=859457150
53. Woher stammen folgende Zitate?

    a) 2 + 2 = 5
    b) "Ein Kreis hat kein Ende."  
    c) "Ich finde Ihren Mangel an Glauben beklagenswert."
    d) "Keine Panik!"
    e) "Es gibt moeglicherweise keine schrecklichere Entdeckung,
        als die, dass auch dein Vater nur ein Mensch ist -
        und menschliche Empfindungen hat."
    f) "Triumphierend werde ich meinen Scheiterhaufen besteigen und
        inmitten der sengenden Flammen frohlocken! Wenn die Feuersbrunst
        erloschen ist, wird der Wind meine Asche ins Meer wehen. Mein Geist
        wird in Frieden ruhen; aber sollte er weiterhin denken koennen,
        so werden es andere Gedanken sein."
    g) "Es war eine Lust, Feuer zu legen."
    h) "Das Wohl von Vielen wiegt schwerer als das Wohl eines Einzelnen."
    i) "Das ist das schwierige daren, wenn man an ein uebernatuerliches
        Wesen glaubt: Immer zu erraten, was das Wesen wuenscht."
    j) "Ich glaube, Sie sind ein Roboter." - "Sie haben recht."

    Antworten:

    a) 1984
       - nach seiner Gehirnwaesche schreibt Winston Smith es auf den Tisch.
    b) Second Foundation (Der Tausendjahresplan)
       - Arkadias Hinweis auf die Lage der Zweiten Stiftung.
    c) Star Wars
       - ein Zitat von Darth Vader
    d) Per Anhalter durch die Galaxis
       - die freundlichen Worte auf dem Einband.
    e) Dune   
       - Memoiren vom Muad'ib Paul Atreides (niedergeschrieben von Irulan)
    f) Frankenstein
       - Abschiedsworte des Geschoepfes.
         (Ich weiss, der ist schwer, dafuer war es auch was laenger.)
    g) Fahrenheit 451
       - Erste Zeile des Buches.
    h) Star Trek II - Der Zorn des Khan
       - Spocks letzte Worte
    i) Star Trek: TNG, Who watches the Watchers? (Der Gott der Mintakaner)
       - Troi zu einem Eingeborenen, der an "den Picard" glaubt.
    j) Die Stahlhoehlen
       - Baleys Frau erkennt Daneel Olivaws tatsaechliche Identitaet.
       
Auch wenn es diesmal extrem schwer war, habe ich wieder einige Zuschriften
erhalten. Folgende richtige Antworten gab es diesmal:
         
Atoz: 5 (a, c, g, h, i)
Gloin: 4 (c, d, h, j)
Marcus: 3 (c, d, h)
Highlander: 2 (c, h)
Caradhras: 2 (d, h)
Anatol: 1 (d)

Interessante Antworten gab es noch zu g: Nein, das war nicht Kaiser Nero!
Das war vorerst mein letztes Quiz. Wenn jemandem neue Themen oder Fragen
einfallen, soll er es mir schreiben, oder selbst weitermachen. Ich wuerd ja
auch gerne mal was raten.
Im moment muss ich meine neue Wohnung einrichten, deswegen werde ich wohl
etwas seltener hier zu sehen sein.

Keine Angst, mein Brockhaus Puiz laeuft weiter!

C. No

-----------------------------------------------------------------------------



Re: Brockhaus 16-2 (Ancalagon, 15. Apr 1997, 15:27:55):
~#! rn=Cauno rt=861101152 rg=puiz
~#! tid=861101152
Knuddels!
Ha, die letzte frage weiss ich! Da gabs mal in Amiland ein tauziehen zwischen
einem Schaufelrad- und einem Schraubendampfer. letztrer hat gewonnen.... :)
Nochn Knuddel,
                                       Ancalagon
                               Draco knuddellensis major

-----------------------------------------------------------------------------



Re: Re: Brockhaus 16-2 (Methedras, 16. Apr 1997, 20:01:37):
~#! rn=Ancalagon rt=861110875 rg=puiz
~#! tid=861101152
               Huhu

Apropos Tauziehen: Passt zwar jetzt nicht hierher, aber faellt mir grade
als Frage ein (auf die ich KEINE Antwort weiss, vielleicht aber ihr):

Wurde wirklich im US-Amerikanischen Parlament (oder wars noch vorher?)
mal gewaehlt, welches die Amtssprache sein soll und wobei Deutschland
aeh deutsch ganz knapp gegen englisch verlor? Es hiess mal, nur mit
einer Stimme Unterschied durch den Praesidenten.

   Na? Meinungen? Stimmen? Berichte?

             Bergchen Methedras

-----------------------------------------------------------------------------



Re^3: Brockhaus 16-2 (Maso, 16. Apr 1997, 23:52:34):
~#! rn=Methedras rt=861213697 rg=puiz
~#! tid=861101152
Urban legend.

        Maso.


-----------------------------------------------------------------------------



Re^3: Brockhaus 16-2 (Babs, 16. Apr 1997, 23:57:49):
~#! rn=Methedras rt=861213697 rg=puiz
~#! tid=861101152
Ja.
Die amerikanische Unabhaengigkeitserklaerung durch die "Gruendervaeter"
wurde in Deutsch abgefasst, und erst dann ins Englische uebersetzt. Die
existiert sogar noch irgendwo im Museum. 
Auch die Abstimmung ist tatsaechlich sehr knapp ausgegangen.
Ich erinnere mich allerdings nicht, dass das nur durch die Stimme des
Praesidenten entscheiden worden ist... kann aber trotzdem sein.

-----------------------------------------------------------------------------



Re^4: Brockhaus 16-2 (Fyt, 17. Apr 1997, 00:10:14):
~#! rn=Babs rt=861227869 rg=puiz
~#! tid=861101152

Naja, waere auch 'n Wunder, wenn Du Dich daran noch erinnern koenntest...

Fyt.

-----------------------------------------------------------------------------



Brockhaus 16-4 (Cauno, 17. Apr 1997, 10:08:53):
11.04. Man nehme ...:
       Wie lautet das erste europaeische Rezept fuer Schiesspulver?

Also, unternehmungslustige Kinder, alle mal herhoeren: Man nehme sieben 
Teile Salpeter, fuenf Teile Schwefel und fuenf Teile Holzkohle. Der 
Erfinder dieser *brisanten Mischung* ist umstritten. Einige vermuten, 
dass es der englische Theologe und Naturphilosoph Roger Bacon (*um 1214, 
+1294) war, andere schreiben die Rezeptur dem deutschen Alchimisten 
Bertold Schwarz zu, der im 14. Jahrhundert an der Universitaet zu Koeln 
lehrte.
Jedenfalls bestellte der Rat der Stadt Florenz das "Schwarz"pulver schon 
1325, zusammen mit einer Ladung Eisenkugeln.


12./13.04. Welche Blume erzielte im 17. Jahrhundert die exorbitantesten 
           Preise: - die Rose
                   - die Tulpe
                   - das Veilchen?

Die *Tulpe.* Fuer die damals seltene Blume flossen astronomische Summen 
nach Holland, und Tulpensammeln war die grosse Mode der Reichen Europas. 
Der Hoehepunkt des "Tulpenwahns" wurde zwischen 1634 und 1637 erreicht. 
Ein unbekannter Kauefer bezahlte fuer eine einzige Zwiebel der Sorte 
"Viceroy": 4 Tonnen Weizen, 8 Tonnen Roggen, 4 Ochsen, 8 Schweine, 12 
Schafe, 500 Liter Wein, 250 Liter Bier, 100 Kilo Butter, 500 Kilo Kaese, 
ein Bett, ein Gewand und einen silbernen Trinkbecher. Bald danach brach 
der uebersaettigte Markt zusammen, und die hollaendischen Zuechter 
machten Riesenverluste.


14.04. Sie ist uns aus englischen und amerikanischen Gerichtsfilmen 
       wohlbekannt: die Habeas-Corpus-Akte. Gibt es sie auch bei uns?

Im Grundsatz schon. Die *Habeas-Corpus-Akte* von 1679 ist eine 
Rechtsformel zum Schutz persoenlicher Freiheit und gegen staatliche 
Willkuer insbesondere bei Verhaftung staatlicher Macht in der "Magna 
Charta Liberatorum" (1215) und der "Petition of Rights" (1628) 
entwickelt. Bei uns ist der Gedanke der Habeas-Corpus-Akte in den 
Grundgesetz-Artikel 104, Absatz 2 und 3 eingegangen. Demzufolge darf nur 
ein Richter ueber einen Freiheitsentzug entscheiden, und jeder 
Festgenommene "ist spaetestens einen Tag nach der Festnahme dem Richter 
vorzufuehren".


15.04. Schaufelrad oder Schraube?
       Wie fiel die Entscheidung zwischen den Schiffsantriebsarten?

Die Auseinandersetzung zwischen den Befuerwortern der Schiffsschraube und 
denen des Schaufelradantriebs wurde in Form eines *Wettkampfs* 
herbeigefuehrt. Mitten in der Nordsee wurden im April 1845 die "Rattler", 
erstes schraubengetriebenes Schiff der Royal Navy, und die 
schaufelradgetriebene "Alecto" am Heck mit Tauen aneinandergebunden. Auf 
das Startsignal hin fuhren beide mit ihren 200 PS-Dampfmaschinen in 
entgegengesetzter Richtung. Die Sache war rasch entschieden: Die 
"Rattler" zog die "Alecto" mit sage und schreibe 2,8 Knoten (5,2 km/h) 
hinter sich her.


16.04. Die Inka beherrschten ein grosses Reich, kannten aber keine Schrift.
       Wie behalfen sie sich?

17.04. Keine Schrift, keine Pferde. Wie uebermittelten die Inka Nachtrichten?

-----------------------------------------------------------------------------



Re: Brockhaus 16-4 (Nirdavo, 17. Apr 1997, 13:53:04):
~#! rn=Cauno rt=861264533 rg=puiz
~#! tid=861264533
  Na endlich mal ein Brockhaus-Puiz, das ich weiss: Die Inka behalfen sich
mit einer Art 'Knotenschrift', das waren kleine buendelchen von geknoteten
Schnueren, auf denen eine Art 'Morsezeichen' eingeknotet waren. Versandt
wurden diese Nachrichten mit Laeuferstaffeln, die das gesamte Reich
durchzogen. Auf diese Weise wurden auch Vorraete quer durch das Land
geschafft: Ein reicher Mann konnte sich weit von der Kueste entfernt Seefische
beschaffen, die nicht einmal einen Tag alt waren.

    Nirdavo, heute mal mit der Lehrerbrille.

-----------------------------------------------------------------------------



Noch mal Brockhaus (Nirdavo, 17. Apr 1997, 13:55:23):
  Noch ein kleiner Nachtrag: Die Knotenschuere hiessen Quipu.
 
   Nirdav, war vergesslich

-----------------------------------------------------------------------------



Re^3: Brockhaus 16-2 (Wurzel, 17. Apr 1997, 19:45:40):
~#! rn=Methedras rt=861213697 rg=puiz
~#! tid=861101152
es ist ein arg verfaelschtes geruecht... es war wohl in der tat so, dass es
eine abstimmung gab, nur eben nicht im us-kongress, sondern im philadelphia-
congress 1794. es ging auch nicht darum, deutsch als amtssprache an stelle
von englisch einzufuehren, sondern gesetzestexte zusaetzlich in deutsch zu
veroeffentlichen, damit die deutschen einwanderer, die des englischen noch
nicht maechtig waren, damit besser klarkaemen. die abstimmung ist sehr knapp
gescheitert (man sagt an der gegenstimme eines deutschstaemmigen).

wurzel

-----------------------------------------------------------------------------



Re^3: Brockhaus 16-2 (Murkes, 18. Apr 1997, 10:17:49):
~#! rn=Methedras rt=861213697 rg=puiz
~#! tid=861101152
Ich dachte, dass mit der einen Stimme Unterschied, ob Deutsch oder Englisch,
waere so in Australien passiert?
Murkes

-----------------------------------------------------------------------------



Brockhaus 16-5 (Cauno, 18. Apr 1997, 11:35:21):
16.04. Die Inka beherrschten ein grosses Reich, kannten aber keine Schrift.
       Wie behalfen sie sich?

Sie benutzten den "Quipu". Ein *Quipu* bestand aus mehreren, an einer 
etwa 55 cm langen Querschnur oder einem an Stock befestigten 
Knotenschnueren. Mit unterschiedlichen Farben und Knoten konnte man damit 
Ereignisse, Steuern, Volkszaehlungen, Waren u.a. registrieren. Sogar ihre 
Geschichte hielten die Inka auf diese Weise fest. Das Wissen, wie 
vielfaeltig der Quipu zu gebrauchen ist, ging nach dem Untergang des 
Inkareiches verloren. Heutzutage wird er von den Bauern nur noch als 
Rechenhilfe verwendet.


17.04. Keine Schrift, keine Pferde. Wie uebermittelten die Inka Nachrichten?

Nun, sie hatten eine Art Pony-Express-System zu Fuss. Verteilt ueber ihr 
exzellentes Strassennetz standen ueberall Postenhaeuschen, die mit 
jeweils zwei *Stafettenlaeufern* bemannt waren. Kam ein Laeufer zu solch 
einem Posten, erzaehlte er schnell, was zu uebermitteln war, und schon 
startete der naechste, waehrend der erste Laeufer sich ausruhen konnte. 
Auf diese Weise konnte eine Nachricht ueber Entfernungen von mehr als 
zweihundert Kilometern am Tag uebermittelt werden. Ob es nach mehrmaliger 
muendlicher Weitergabe am Ziel immer noch die gleiche Nachricht war, ist 
nicht bezeugt.


18.04. Toooooooooooor! Wann wurde in Deutschland das erste Fussball- 
                       Laenderspiel im Rundfunk uebertragen?

-----------------------------------------------------------------------------



Brockhaus 17-1 (Cauno, 21. Apr 1997, 12:49:39):
18.04. Toooooooooooor! Wann wurde in Deutschland das erste Fussball- 
                       Laenderspiel im Rundfunk uebertragen?

Am *18. April 1926*.
Dr. Bernhard Ernst berichtete im Deutschen Rundfunk live aus Duesseldorf 
vom 4:2-Sieg Deutschlands ueber die Niederlande. Fuer diese Ehre zahlte 
der DFB dem Sender einen Unkostenbeitrag von 100 Mark.


19./20.04. Manche sagen, es verderbe den Charakter.
           Wer erfand das Spiel "Monopoly"?

21.04. Kaempferische Voegel gegen Soldaten:
       Welchen Krieg gewannen die Emus?

-----------------------------------------------------------------------------



Brockhaus 17-2 (Cauno, 22. Apr 1997, 12:27:27):
19./20.04. Manche sagen, es verderbe den Charakter.
           Wer erfand das Spiel "Monopoly"?

*Monopoly* wurde zu Beginn der dreissiger Jahre von dem Klempner Charles 
Darrow aus Philadelphia erfunden. Dass Darrow Millionaer wurde, versteht 
sich von selbst. Bis heute wurden mehr als hundert Millionen Spiele 
verkauft, und es wird jaehrlich mehr Monopoly-Spielgeld gedruckt als 
entsprechendes Papiergeld.
Jedenfalls hat Monopoly ueber die Jahre hinweg dafuer gesorgt, dass heute 
viele das Immobilienmakeln als vergnuegliches, eintraegliches Geschaeft 
zu betrachten scheinen. Sie kommen nur nicht so oft ueber "Los".


21.04. Kaempferische Voegel gegen Soldaten:
       Welchen Krieg gewannen die Emus?

Sie gewannen 1932 den sogenannten *"Emu-Krieg"* gegen die australische 
Armee. Eine australische Elite-Einheit hatte den Auftrag, Tausende von 
Emus zu toeten, doch nach acht MOnaten musste man sich eine demuetigende 
Niederlage eingestehen: Man hatte gerade zwoelf Emus erwischt. Die 
australischen Strausse hatten die Soldaten mit ihren bis zu 60 
Stundenkilometern schnellen Sprints immer wieder abgehaengt.


22.04. Wer ist nur auf die zeit- und geldraubende Idee mit dem 
       Kartenspielen gekommen?

-----------------------------------------------------------------------------



Brockhaus 17-3 (Cauno, 23. Apr 1997, 12:10:47):
22.04. Wer ist nur auf die zeit- und geldraubende Idee mit dem 
       Kartenspielen gekommen?

Wie so oft: *die Chinesen*.
Erstmals literarisch bezeugt sind Spielkarten aus der ersten 
T'ang-Dynastie (618-907). Nach Europa kamen sie wahrscheinlich durch die 
Sarazenen, und ihr Vorhandensein im 14. Jahrhundert ist durch Dokumente 
von Verboten belegt. Alle europaeischen Spielkarten haben vier durch 
unterschiedliche Symbole dargestellte Farben. Die Figurenkarten Koenig, 
Ober, Unter bzw. Koenig, Dame, Bube entsprechen der Hierarchie des 
Mittelalters. Der Joker entstammt dem italienisch-spanischen Tarotspiel, 
wo er den Narren abgab.


23.04. Viele Legenden ranken sich um den "Pony-Express".
       Wie lange existierte er?


-----------------------------------------------------------------------------



Fantastisches Quiz (Highlander, 24. Apr 1997, 11:26:09):
Hier geht's um Filme mit fantastischen Szenen - SF, Fantasy und aehnliches.
Antworten bitte bis 2. Mai als mail schicken. Preise weiss ich noch nicht,
ob's welche gibt - aber reizt euch nicht schon die Herausforderung? :>
 
1. In einem Film verursacht eine Kreuzung aus einem ueberdimensionierten
   Wasserball und einer Killertomate einen folgenschweren Systemfehler,
   wenn auch nicht unbedingt direkt.
   Wie ist die Nummer des Decks, wo sich dieser Fehler auswirkt?
 
2. Wo man den eigenen Finger waehlen sollte und Kohlebecken (oder so was
   aehnliches) ab und an mal laufen, da gibt es eine boese Koenigin. Wie
   heisst sie?
 
3. Ein galaxisweit bekannter Boesewicht in Schwarz hat Atemprobleme. Wie
   kam er dazu?
 
4. Zu seiner Tochter - der Traegerin der Kopfhoerer: Ein Film heisst so
   wie die Schauspielerin mit Vornamen. Die Hauptfigur dieses Film hat eine
   spezielle Abneigung/Panik. Auf was reagiert sie so heftig?
 
5. Hier geht es um ein bekanntes magisches Duell. Jedoch irrt, wer meint, dass
   Drachen den Sieg bedeuten. Was schafft auch einen Drachen und hat was mit
   der Farbe rosa zu tun?
 
6. "Seid ihr Marsmenschen?" "So was aehnliches." Wie heisst in diesem Film
   der, dessen Beruf das Reden ist (wenn nicht grade nur ein Band laeuft)?
 
7. So weit unter dem Meer - wenn das ginge, waere unsere Erde etwa 6 mal so
   dick. Wie heisst das Schiff, das das kann?
 
8. Eine fortlaufende deutsche Serie naehert sich langsam aber sicher der
   Nummer 2000. Es gab auch einmal einen Film dazu - er ist geradezu
   beruehmt, so schlecht soll er sein. Wie hiess der Film?
 
9. Im Original zum Film sorgt etwas ziemlich grosses fuer eine lunare
   Ueberraschung. Wie gross schaetzt unser Held das Ding? (Ich weiss nicht,
   ob es im Film gesagt wird, ich beziehe mich auf das Original)
 
10.Anderer Schauplatz. Wo Mario der Scotty war, hiessen die Beiboote fuer mich
   immer wie irgendwas, dessen Eltern eine Waffe und ein medizinisches
Werkzeug
   waren. Wie hiessen die Dinger?
 
11.Wo wir schon in der Gegend sind - welchen Posten hatte die Frau an Bord?
 
12.Ein beruehmtes Fussballspiel wird durch ein laessiges Pusten entschieden.
   was ist das etwas ungewoehnliche Fortbewegungsmittel, mit dem einige der
   Zuschauer ankamen?
 
13.Wenn der Kopf einer beruehmten "Person" am Strand liegt, dann ist etwas
   total im Arsch. Wie heisst die Person, und was ist im Arsch?
 
14.Wenn Raumkugeln Schloesser knacken, haben sie's schwer. Helft ihnen mit der
   Kombination.
 
15."Die 5 scheidet von vornherein aus."  Wie heisst der Zauberer?
 
16.Die alten Griechen - auf welchem Schiff dienten gleich zwei ihrer Goetter?
 
17.Es gruent so gruen - aber erst, als er draufkommt, was den Pflanzen fehlt.
   Was muss der Rennen fahrende Raumfahrer ihnen zukommen lassen?
 
18.Knuddelig. Wuschelig. Aber ein Huehnchen zur falschen Zeit, und es geht
   echt ab. Was ist gemeint?
 
19.Hier faellt nach ueber einer halben Stunde das erste Wort. Ganz einfach.
   Wie heisst der Film?
 
20.In welchem Film muss der tote Kommandant aushelfen, als sein Nachfolger
   nicht mehr weiterweiss?
 
21.NCC 1701 - wohl eine der bekanntesten Kombinationen. Wofuer steht das NCC?
 
22.Markenzeichen: Lederjacke, Peitsche, Hut. Wonach aber ist er benannt?
 
23.Er ist DER Barbar. Einmal will ihm eine Frau ans Leder, die zu Werbezwecken
   schon mal ihren Mund WEIT aufgemacht hat. Wer?
 
24.Eine Kollegin von ihm hat sogar ihren eigenen Film, in dem der Schauspieler
   auch dabei ist. Wie heissen sie und der Film?
 
25.Wieder was anderes: Wo Vampire und Raumschiffe in einem Film vorkommen und
   sich alles um Big Ben abspielt (im weiteren Sinne), da hat ein bestimmtes
   Klingenmaterial besondere Bedeutung. Welches?
 
26.Sie sind klein und sie beissen. Manchmal allerdings verschlucken sie sich
   an explosiven Sachen. Von wem ist die Rede?
 
27.Und zum Thema Essen gleich die naechste Frage: "Feed me!" Wer sagt es?
 
28.Noch ein Kurzzitat: "He slimed me." Der Film?
 
29.And now for something completely different. Ab und an wird auch ein Cop mal
   ein Superheld. Nur hat er mit der Farbe rot so seine Schwierigkeiten.
Wieso?
 
30.Die Idee zu diesem Film soll angeblich von dem Killertomatenwasserball von
   oben kommen. Welchen Film meine ich?
 

Das war's.
Viel Spass,

   HrT

-----------------------------------------------------------------------------



Re: Fantastisches Quiz (Highlander, 24. Apr 1997, 11:27:46):
~#! rn=Highlander rt=861873969 rg=puiz
~#! tid=861873969
PS: Zur Frage 1 - wenn ich was verwechselt habt - da, wo sich die Fehl-
funktion auswirkt, ist eine Nummer dabei. Die meine ich.
  HrT

-----------------------------------------------------------------------------



Brockhaus 17-4 (Cauno, 24. Apr 1997, 13:14:30):
23.04. Viele Legenden ranken sich um den "Pony-Express".
       Wie lange existierte er?

Seine Beruehmtheit steht in keinem Verhaeltnis zu der aktiven Zeit des 
Unternehmens: Von April 1860 an existierte der Postdienst von St. Joseph 
in Missouri nach Sacramento in Kalifornien nur ganze anderthalb Jahre 
lang. Fuer die mehr als 3000 Kilometer durch das wilde Land wurden nur 
zehn Tage benoetigt. Aber die Sache hatte einen Haken: Der *Pony-Express* 
war zuteuer. Neben den Haltestationen mussten mehr als 500 Pferde und 
ueber 80 Reiter finanziert werden. Trotz seiner perfekten Logistik musste 
das Unternehmen im Oktober 1861 seinen Betrieb einstellen.


24.04. Wir kennen die Fabeltiere Zentaur, Sphinx und Greif.
       Was fuer ein Tier aber war der Muschusch?


-----------------------------------------------------------------------------



Brockhaus 18-1 (Cauno, 28. Apr 1997, 13:24:27):
24.04. Wir kennen die Fabeltiere Zentaur, Sphinx und Greif.
       Was fuer ein Tier aber war der Muschusch?

Der *Muschusch* war das Symbol Marduks, des babylonischen Stadtgottes. Er 
ist ein Drache, vorne mit Loewenpfoten, hinten mit Raubvogelkrallen. Der 
Koerper ist schuppenbewehrt, und er traegt einen gehoernten Schlangenkopf 
mit gespaltener Zunge. Marduk wurde unter Hammurapi (*1728, +1686 v.Chr.) 
zum obersten Gott Babylons. Das Weltschoepfungsepos "Enuma elisch" nennt 
ihn als Schoepfergott. Sein Heiligtum Esaglia koennte das Vorbild des 
biblischen Turms zu Babel gewesen sein. Sein Gestirn war standesgemaess 
der Jupiter.


25.04. Die praechtige Palette der Frucht- und Pflanzenfarben -
       was sorgt dafuer?

26./27.04. Von nun an geht's Faelschern von antikem Goldschmuck an den 
           Kragen. Wieso?

28.04. Sie kommen hoffentlich nicht in die Lage. Trotzdem:
       Wie koennen Sie einen Luegendetektor beluegen?

-----------------------------------------------------------------------------



Re: Brockhaus 18-1 (Boing, 28. Apr 1997, 13:27:23):
~#! rn=Cauno rt=862226667 rg=puiz
~#! tid=862226667
Luegendetektor: Vielleicht indem ich etwas sage, was weder wahr noch
falsch ist (oder auch beides). Bekanntestes Beispiel: Dieser Satz ist falsch.
  Boing

-----------------------------------------------------------------------------



Re: Brockhaus 18-1 (Highlander, 28. Apr 1997, 15:27:14):
~#! rn=Cauno rt=862226667 rg=puiz
~#! tid=862226667
Sorry fuer die Unterbrechung, aber: EINWAND!
Ich bin kein Fabeltier!
    Highlander ryn Tahar. Greif.

-----------------------------------------------------------------------------



Re: Re: Brockhaus 18-1 (Raffi, 28. Apr 1997, 16:33:52):
~#! rn=Boing rt=862226843 rg=puiz
~#! tid=862226667
Wenn ich mich nicht teusche, dann stellt ja ein Luegendetektor nicht fest ob
du luegst, sondern ob sich bestimmte (Haut)Parameter veraendern. Diese
gilt es 'im Zaum zu halten'. Ich geh mal davon aus, das man, wenn man jemandem
so eine Formulierung unterschiebt, sich insgeheim darueber freut, und damit
dem Luegendetektor wiederum gelegenheit zum ausschlag gibt.

Also, einfach cooooool bleiben (was immer das ist).

Gruss
H.
P.S.: Bei den Goldfaelschern tipp ich auf irgendwelche Isotopenmessungen - ich
hab mal sowas gelesen das man silber aufgrund der Isotopenmischung einem
Bergbaugebiet zuordnen kann.

-----------------------------------------------------------------------------



Re^3: Brockhaus 18-1 (Grimmborn, 28. Apr 1997, 17:02:34):
~#! rn=Raffi rt=862238032 rg=puiz
~#! tid=862226667
Angeblich bekommt ein Luegendetektor schon Probleme, wenn man sich nur fest
auf die Zunge beisst...

GdA

-----------------------------------------------------------------------------



Re: Brockhaus 18-1 (Acrimon, 29. Apr 1997, 00:26:55):
~#! rn=Cauno rt=862226667 rg=puiz
~#! tid=862226667
24. 4. Esaglia kann unmoeglich das Vorbild zum Turm zu Babel sein, da
       der Turm zu Babel *LANGE* vor dem Heiligtum Esaglia existiert hat.
       Eher koennte beim Bau von Esaglia an den Turm zu Babel gedacht
       worden sein.

25. 4. Hmmm ... die Natur? Da spielen viele Faktoren zusammen.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Brockhaus 18-2 (Cauno, 29. Apr 1997, 12:10:17):
25.04. Die praechtige Palette der Frucht- und Pflanzenfarben -
       was sorgt dafuer?

Die sogenannten *Flavonoide*. Diese Pflanzenmolekuele bestimmen sowohl 
das Violett von Weintrauben wie auch das Gelb von Primeln. Wnn z.B. eine 
Biene Blumen zum Nektarsammeln ansteuert, nimmt sie vor allem Farbeffekte 
des UV-Lichts wahr. Ihre Augen koennen die Farbnuancen wesentlich 
differenzierter wahrnehmen, als wir es tun. Aber die UV-Effekte der 
Flavonoide dienen nicht nur dem Anlocken von Insekten, sondern auch dem 
Zurueckwerfen der UV-Strahlung. Auf diese Weise koennen sich Pflanzen vor 
Schaedigung des Erbguts und der Proteine schuetzen. Die Flavonoide 
verwendet die Pflanze auch als Botenstoff zu erwuenschten 
Bodenorganismen, mit denen sie Symbiosen eingeht.


26./27.04. Von nun an geht's Faelschern von antikem Goldschmuck an den 
           Kragen. Wieso?

Das australische Department of Minerals und Energy in Perth hat 
herausgefunden, dass jedes Gold Informationen ueber seinen Ursprungsort 
in sich traegt. Diese Erkenntnis ist quasi ein Abfallprodukt der 
mineralogischen Analysetechnik. Um naemlich in Gesteinen an der 
Erdoberflaeche Spuren von noch tiefer lagernden Edelmetallen zu finden, 
sind hochempfindliche Untersuchungsmethoden vonnoeten. Im Zuge der 
Forschung fand man heraus, dass jede Goldlagerstaette eine fuer sie 
charakteristische Kombination von Spurenelementen enthaelt, die sich auch 
im Gold selbst wiederfindet: ein unverwechselbarer *chemischer 
"Fingerabdruck"*.


28.04. Sie kommen hoffentlich nicht in die Lage. Trotzdem:
       Wie koennen Sie einen Luegendetektor beluegen?

Wie ein *Luegendetektor* arbeitet, wissen Sie aus Spielfilmen. Also, erst 
gibt's unverfaengliche Kontrollfragen, und dann geht's los, und die 
Antworten, bei denen ein staerkerer Ausschlag als bei den Kontrollfragen 
verzeichnet wird, sind Luegen. Am besten manipulieren Sie also die 
Kontrollfragen, so dass das Geraet ausschlaegt. Dazu kommt in Frage: ein 
versteckter Reissnagel im Schuh; Atem kurz anhalten, tief einatmen, 
seufzen; auf die Zunge beissen, schnell durch die Nase atmen, 
Gesaessmuskeln verkrampfen.
Sollten Sie im Verhoer dann schwindeln muessen, brauchen Sie Uebung in 
Entspannungstechniken, sonst registriert das Geraet Ihre Aufregung.


29.04. Mit was fuer einem Auto wurde erstmals eine Geschwindigkeit von 
       ueber 100 km/h erreicht:
       - mit einem Dampfwagen
       - mit einem Benzinfahrzeug
       - mit einem Elektromobil?


-----------------------------------------------------------------------------



Re: Brockhaus 18-2 (Raffi, 29. Apr 1997, 18:43:06):
~#! rn=Cauno rt=862308617 rg=puiz
~#! tid=862308617
2904 Elektro.

Gruss
H.

-----------------------------------------------------------------------------



Brockhaus 18-5 (Cauno,  2. Mai 1997, 10:22:09):
29.04. Mit was fuer einem Auto wurde erstmals eine Geschwindigkeit von 
       ueber 100 km/h erreicht:
       - mit einem Dampfwagen
       - mit einem Benzinfahrzeug
       - mit einem Elektromobil?

Mit einem *Elektromobil*. Der Belgier Camille Jenatzy erreichte damit am 
29. April 1899 eine Geschwindigkeit von 105,882 km/h. Zwei Jahre spaeter 
versuchte die Firma Carl Benz & Cie. diesen Rekord zu brechen. Der Benz 
scheiterte mit klaeglichen 86,1 km/h. Aber irgendwie scheint es mit der 
Entwicklung der Elektromobile nicht entsprechend weitergegangen zu sein ...


30.04. Mit welchem Auto endete die "Karriere" von Bonnie und Clyde?

01.05. Heut nacht war Walpurgisnacht. Nach wem ist sie benannt?

02.05. Eine Frage, die Sie vor der Urlaubsplanung klaeren sollten:
       Welcher Ort haelt den Weltrekord im Niederschlag?

-----------------------------------------------------------------------------



Re: Brockhaus 18-5 (Grimmborn,  2. Mai 1997, 11:17:54):
~#! rn=Cauno rt=862561329 rg=puiz
~#! tid=862561329
30.04. Mit einem kaputten. Das war ziemlich von Kugeln durchsiebt...
01.05. Heilige Walburge. Die Knochen sind in Eichstaett, bis auf die 
       Schaedeldecke. Die ist in Walberberg, zwischen Koeln und Bonn.
02.05. Auf jeden Fall ein Boxring, aber frag mich nicht welcher.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Brockhaus 18-5 (Grimmborn,  2. Mai 1997, 11:26:34):
~#! rn=Grimmborn rt=862564674 rg=puiz
~#! tid=862561329
Weil ich angemeckert werde und ausserdem sich heute scheinbar alle Welt
verschworen hat, mich aufgrund eines typos zum Deppen zu erklaeren:
Ja, ich weiss, die Dame heisst WalburgA.
Immerhin bin ich in Walberberg aufgewachsen...

GdA

-----------------------------------------------------------------------------



Fantastisches Quiz - Aufloesung (Highlander,  2. Mai 1997, 14:43:22):
1. In einem Film verursacht eine Kreuzung aus einem ueberdimensionierten
   Wasserball und einer Killertomate einen folgenschweren Systemfehler,
   wenn auch nicht unbedingt direkt.
   Wie ist die Nummer des Decks, wo sich dieser Fehler auswirkt?
 
Hier hab ich mich wohl etwas in die Nesseln gesetzt. Was ich meinte, war
die Nummer der Bombe. Aua. Der Film war Dark Star, das Bombendeck (!) war
der Ort, wo es sich dann ausgewirkt hat, Bombe 20 hatte ihren eigenen
Willen, und die Decknummer weiss ich selber nicht *erroet*. Cauno kriegt
einen fuer genaue Fehlerbeschreibung, Mars einen fuer wo der Laser war.
Hoffentlich war er da :>
 
 
2. Wo man den eigenen Finger waehlen sollte und Kohlebecken (oder so was
   aehnliches) ab und an mal laufen, da gibt es eine boese Koenigin. Wie
   heisst sie?
 
Nein, Cauno, nicht die Queen of Hearts aus dem Wunderland.
Der Film war Willow, und die Koenigin hiess Bavmorda. Sorry. Keiner wusste
es, jedenfalls nicht den Namen der Koenigin.
 
 
3. Ein galaxisweit bekannter Boesewicht in Schwarz hat Atemprobleme. Wie
   kam er dazu?
 
Der Boesewicht ist Darth Vader, das war auch wohl jedem klar. Zu seinen
Atemproblemen kam er durch einen Sturz in einen Lavapool (bei einem Kampf
mit Obi Wan). Treffer, Mars.
 
 
4. Zu seiner Tochter - der Traegerin der Kopfhoerer: Ein Film heisst so
   wie die Schauspielerin mit Vornamen. Die Hauptfigur dieses Film hat
   eine spezielle Abneigung/Panik. Auf was reagiert sie so heftig?
 
Ja, Blut. Mars, Marcus, Methedras. Nein, es muss nicht Schweineblut sein,
Berg, und auch ihre Mutter war in dem Zusammenhang nicht gefragt ;>
Und Cauno erzaehlt den halben Film ;>, laesst aber das kleine Detail der
Antwort leider aus.
 
 
5. Hier geht es um ein bekanntes magisches Duell. Jedoch irrt, wer meint,
   dass Drachen den Sieg bedeuten. Was schafft auch einen Drachen und hat
   was mit der Farbe rosa zu tun?
 
Die Hexe und der Zauberer - als Mim als riesiger rosa Drache denkt, sie hat
Merlin im Sack, verwandelt der sich in einen Virus. Der gruene Flecken auf
dem Drachen verursacht.
 
 
6. "Seid ihr Marsmenschen?" "So was aehnliches." Wie heisst in diesem Film
   der, dessen Beruf das Reden ist (wenn nicht grade nur ein Band laeuft)?
 
OK, so ein Detail ist etwas unfair - es ging um Kampfstern Galactica 3.
Da sind Apollo und Starbuck auf der Erde. Der Labertyp ist Wolfman Jack,
Radiosprecher. Auf seinen Sender sind der Zylone und sein Chef scharf.
Germany - no point.
 
 
7. So weit unter dem Meer - wenn das ginge, waere unsere Erde etwa 6 mal
   so dick. Wie heisst das Schiff, das das kann?
 
Nautilus. Wussten fast alle.
 
 
8. Eine fortlaufende deutsche Serie naehert sich langsam aber sicher der
   Nummer 2000. Es gab auch einmal einen Film dazu - er ist geradezu
   beruehmt, so schlecht soll er sein. Wie hiess der Film?
 
Nein, ich meine ausnahmsweise KEINE TV-Serie. Ich meine die Heftserie
Perry Rhodan. Verfilmt wurde Band 1 (hauptsaechlich) als SOS im Weltall.
Cauno der Experte fuer tiefes Wissen hat zugeschlagen.
 
 
9. Im Original zum Film sorgt etwas ziemlich grosses fuer eine lunare
   Ueberraschung. Wie gross schaetzt unser Held das Ding? (Ich weiss
   nicht, ob es im Film gesagt wird, ich beziehe mich auf das Original)
 
Oy Wey. Nein, nicht doch, keine 160km, Berg. Nur 500 Meter schaetzt er.
Ja, schon, Cauno, es war der Arkonidenkreuzer. Dumm das, dass das Heft im
Umzugskarton ist, was? Wie gross wollte ich halt wissen.
 
 
10.Anderer Schauplatz. Wo Mario der Scotty war, hiessen die Beiboote fuer
   mich immer wie irgendwas, dessen Eltern eine Waffe und ein medizi-
   nisches Werkzeug waren. Wie hiessen die Dinger?
 
Lanzett (Lancet) 1 bis (4?). Mars und Tenno wussten es.
 
 
11.Wo wir schon in der Gegend sind - welchen Posten hatte die Frau an Bord?
 
Hier hab ich natuerlich einen Fehler gemacht. Wie allerdings nur 2 Leuten
auffiel, gab es selbstverfreilich ZWEI Frauen an Bord der Orion (die
Serie hiess Raumpatrouille). Eine war Tamara Jagellowsk, Sicherheitsoffi-
zier und Aufpasser auf den Captain (die meinte ich an sich), die andere
Helga Legrelle, Funkerin vom Dienst. Marcus hat einen Treffer, Cauno
kriegt 2 plus einen fuer meinen Fehler, den er gemerkt hat, Mars einen
fuer die Funkerin, Methedras einen fuer "da gibt's zwei". Ich hatte nach
dem Posten gefragt, nicht nach dem Namen :> Tenno kannte auch die
Aufpasserin.
 
 
12.Ein beruehmtes Fussballspiel wird durch ein laessiges Pusten entschieden.
   was ist das etwas ungewoehnliche Fortbewegungsmittel, mit dem einige der
   Zuschauer ankamen?
 
Acrimon hat zwar nur zwei Antworten, aber eine davon ist die - und richtig,
es ist ein Bett. Das Fussballspiel ist das Fussballspiel der Tiere, das
der Koenig, laessig am Pfosten lehnend, dadurch entscheidet, dass er den
nach Landung auf einem Nas-Horn und folgendem Flug schlaffen Ball mit einem
Pfffft ins Tor befoerdert. Nein, Cauno, beim Anhalter spielen sie Cricket!
Der Film heisst irgendwas mit fliegendes Bett, oder? Tollkuehne Hexe in
ihrem ..., glaub ich.
 
 
13.Wenn der Kopf einer beruehmten "Person" am Strand liegt, dann ist etwas
   total im Arsch. Wie heisst die Person, und was ist im Arsch?
 
Ups, ich hab keine Fernsehzeitschrift - gestern kam auf Pro 7 die Loesung.
Die "Person" heisst Lady Liberty, und im Arsch ist der ganze Planet der
Affen. Freiheitsstatue hab ich gelten lassen, obwohl ich eigentlich den
Namen wollte. Cauno, JimDiGriz, Marcus, Mars. Methedras kriegt einen, weil
nicht Spaceball im Arsch ist, sondern eben der Planet der Affen. Laut
Zitat. Tenno hat's auch gewusst. Film? Spaceballs.
 
 
14.Wenn Raumkugeln Schloesser knacken, haben sie's schwer. Helft ihnen mit
   der Kombination.
 
Die Kombination ist 1-2-3-4-5. Nein, Cauno, da kommt KEINE -6 dazu. Aber
ich kann Dich beruhigen, ich dachte auch, dass da noch 'ne 6 kommt. Den
Punkt hast Du trotzdem. Jim: "Raumkugeln" sind natuerlich Spaceballs!
Marcus weiss es, Mars weiss es auch.
 
 
15."Die 5 scheidet von vornherein aus."  Wie heisst der Zauberer?
 
Ja, Cauno, ich hab nicht gesagt, dass der Zauberer die Anleitung vorliest,
ich hab nur das Zitat genommen. Und ja, der Zauberer heisst Tim. Stammt
aus den Rittern der Kokosnuss, wie Marcus wusste, aber ich wollte den
Zauberer. Nur kann ich ja schlecht direkt sagen, wie der Film heisst.
Mars hat's auch gewusst.
 
 
16.Die alten Griechen - auf welchem Schiff dienten gleich zwei ihrer
   Goetter?
 
Das wusste keiner. Und es war missverstaendlich. Tut mir leid. Ich meinte
nur dem Namen nach. Apollo und Athena. Damit war die Galactica gemeint,
nicht die Argo. Da ich nicht weiss, ob da zwei Goetter draufwaren, kann
ich auf die Argo mal keine Punkte geben (hatte die beiden viel-Beantworter
eh beide, die Argo).
 
 
17.Es gruent so gruen - aber erst, als er draufkommt, was den Pflanzen
   fehlt.  Was muss der Rennen fahrende Raumfahrer ihnen zukommen lassen?
 
Wow! Mars und Cauno kennen wirklich seltsame Filme! "Silent Running" hiess
der Film, und den Pflanzen fehlte Licht. Mars: Gut geraten, was? :>
Bei Cauno ist sicher, dass er den Film kennt.
 
 
18.Knuddelig. Wuschelig. Aber ein Huehnchen zur falschen Zeit, und es geht
   echt ab. Was ist gemeint?
 
Cauno: Nicht alles, was seltsam klingt, ist Monty Python. Jim wusste es,
Marcus war sich ziemlich sicher, Mars war's klar. Nein, Methedras, zu den
Critters kommen wir nachher. Es waren die Gremlins. Beziehungsweise ein
Mogwai. Nachdem der Film Gremlins heisst, und es ja eigentlich auf's
gleiche rauskommt, zaehlt auch Gremlins.
 
 
19.Hier faellt nach ueber einer halben Stunde das erste Wort. Ganz einfach.
   Wie heisst der Film?
 
Cauno, Jim, Mars. Sie kannten 2001. Aeh, Metropolis zaehlt hier nicht,
Marcus, es ist ein Stummfilm. Und Solaris kenne ich nicht, sorry, Tenno.
 
 
20.In welchem Film muss der tote Kommandant aushelfen, als sein Nachfolger
   nicht mehr weiterweiss?
 
Cauno, Jim, Mars, Tenno. Fast immer die gleichen, wenn man die ersten drei
ansieht. Es war auch Dark Star.
 
 
21.NCC 1701 - wohl eine der bekanntesten Kombinationen. Wofuer steht das
   NCC?
 
Marcus meint Naval Construction Class. Mars weist mich auf eine echte
registry eines TOS-designer's-Flugzeugs hin. Beide kriegen mal einen Punkt,
obwohl ich dachte, es waere Naval Construction Contract. Class leuchtet mir
aber ein, und ich hab grad keinen browser, um das andere zu ueberpruefen.
 
 
22.Markenzeichen: Lederjacke, Peitsche, Hut. Wonach aber ist er benannt?
 
Indiana Jones haben die meisten erkannt. Dass er nach dem Hund benannt ist,
haben mir Cauno, Marcus, Tenno und Mars geschrieben. Nein, Berg, nicht nach
den 500 Meilen :>
 
 
23.Er ist DER Barbar. Einmal will ihm eine Frau ans Leder, die zu Werbe-
   zwecken schon mal ihren Mund WEIT aufgemacht hat. Wer?
 
Ich sollte klar formulieren. Gefragt war an sich Conan selber, aber Grace
Jones ist auch richtig bei der konfusen Formulierung. Cauno, Jim: 2 Punkte.
Mars auch. Marcus, wie kommst Du auf Helga? Achso - nein, nicht Haegar!
Cara: Ich meinte den Barbaren, nicht den Schauspieler.
 
 
24.Eine Kollegin von ihm hat sogar ihren eigenen Film, in dem der Schau-
   spieler auch dabei ist. Wie heissen sie und der Film?
 
Ich meinte auch hier nur den Charakter. Red Sonja ist richtig, Cauno.
 
 
25.Wieder was anderes: Wo Vampire und Raumschiffe in einem Film vorkommen
   und sich alles um Big Ben abspielt (im weiteren Sinne), da hat ein
   bestimmtes Klingenmaterial besondere Bedeutung. Welches?
 
Lifeforce hiess der Film, aber Silber ist diesmal verkehrt, Cauno. Es war
Blei. Jim: Holz waer doch langweilig, und fuer Klingen auch ein bisschen
ungewoehnlich. OK, das ist Blei auch ;>
 
 
26.Sie sind klein und sie beissen. Manchmal allerdings verschlucken sie sich
   an explosiven Sachen. Von wem ist die Rede?
 
Das hier sind die oben schon erwaehnten Critters. Bis auf Methedras und
Acrimon alle. Ach ja, Acrimons zweite Antwort war zu 22, aber nur Indiana
Jones, nicht, wonach er benannt ist.
 
 
27.Und zum Thema Essen gleich die naechste Frage: "Feed me!" Wer sagt es?
 
Entschuldigung an alle nicht der englischen Sprache maechtigen. Der Text
stammt von Audrey II aus dem Kleinen Horrorladen/Little Shop of Horrors.
Netter Soundtrack IMO.
Cauno kann wieder mal fast den Film erzaehlen, Jim weiss es, Marcus raet
richtig, Mars antwortet kurz, praegnant und richtig.
 
 
28.Noch ein Kurzzitat: "He slimed me." Der Film?
 
Auf Deutsch hiess das "Er schleimte mich voll." Ghostbusters.
Cauno, Jim, Marcus, Mars
 
 
29.And now for something completely different. Ab und an wird auch ein Cop
   mal ein Superheld. Nur hat er mit der Farbe rot so seine Schwierigkeiten.
   Wieso?
 
Ja, OK, durch eine Explosion mit dieser Farbe bekam er seine Superkraefte.
Das Dumme ist, dass er sie verliert, wenn er die Farbe sieht. Jim war
einer, der das erwaehnte. Der Film hiess "Der Supercop", und ja, er war
schlecht :> Aber was will man von Terence Hill schon erwarten? Halt, Mars
hat's auch gesagt. Und Tenno auch.
 
 
30.Die Idee zu diesem Film soll angeblich von dem Killertomatenwasserball
   von oben kommen. Welchen Film meine ich?
 
Nein, NICHT Angriff der Killertomaten. Das waere ja auch zu einfach. Wer
wusste es mal wieder? Cauno. Lasst mich mal zitieren, es ist zu schoen, was
der alles weiss:
Dan O'Bannon, der den Ball gejagt hat, schrieb am Drehbuch von Alien mit
Aber Mars wusste es auch.
 
 
Zu Caunos Zusatzfrage an mich, der meinte, ich wuerde auf Quatschfilme
stehen (wie kommt der drauf? Bin ich Informatiker?) - ZAZ sind Zucker/
Abrahams/Zucker, und frag mich nicht sowas wie
"welche Filme werden alleine in Airplane und Airplane II [...]
verscheissert?",
wenn ich nicht ein videotape in Reichweite hab. Ganz bestimmt natuerlich
Airport, Flug in Gefahr und so.
 
 
Ach ja, der Punktestand:
 
Acrimon  :  1.
Methedras:  5. An sich. Na gut, fuer den Kampf mit Obi Wan kriegst Du noch
               einen, macht 6. Dafuer erkannstest Du als einziger Mim
               und Merlin.
Tenno    : 11.
Marcus   : 11. Mehr Selbstvertrauen und weniger ? nach der Antwort, Marcus.
JimDiGriz: 12.
Cauno    : 21. Fast. Nur manchmal halt knapp daneben :>
Mars     : 24. Nur auf 6 Fragen keine / eine falsche Antwort gehabt.
 
Kommentar von Mars:
Das Puiz hat mir gut gefallen, war aber maechtig schwer :)
 
Dafuer hat er sich ziemlich gut angestellt und bravouroes den ersten Platz
gemacht :> Ich hoffe, es hat euch Spass gemacht. Wenn Du einen Wunsch hast,
Mars, ruehr Dich. Ich mach dann mal Spielerhilfe.
 
Highlander ryn Tahar

-----------------------------------------------------------------------------



Re: Fantastisches Quiz - Aufloesung (Methedras,  2. Mai 1997, 18:34:19):
~#! rn=Highlander rt=862577002 rg=puiz
~#! tid=862577002
Jo, danke fuer das Puiz, Greif. :)
War luschdig.
             Bergchen Caradingens aeh Methedras

-----------------------------------------------------------------------------



Linguisten aufgepasst ! (Flinx,  4. Mai 1997, 15:37:17):
Tja, ich haett da ma ne Frage...

Was ist an dem folgenden Satz aus Goethes Feder so auerordentlich
bemerkenswert,
dass W.E. Sueskind ihn sogar als "Weltwunder" bezeichnet hat:
"Wie ich denn immer bemerkt habe, da mit
 Geschsefts- und Weltleuten, die sich gar vielerlei aus dem Stegreife muessen
 vortragen lassen und deshalb immer auf ihrer Hut sind, um nicht hintergangen
 zu werden, viel besser auch in wissenschaftlichen Dingen zu handeln ist,
weil
 sie den Geist frei halten und dem Referenten aufpassen, ohne weiteres
 Interesse als eigene Aufklaerungen; da Gelehrte hingegen gewoehnlich nichts
 hoeren, als was sie gelernt und gelehrt haben und worueber sie mit
ihresgleichen
 uebereingekommen sind." 

  Kleiner Hinweis: Ein Satz ist das, den es "eigentlich" nicht geben duerfte.
Und
  da er von Goethe ist, tut nichts zur Sache!


Flinx. Weiss es nicht.



-----------------------------------------------------------------------------



Re: Linguisten aufgepasst ! (Jimdigriz,  4. Mai 1997, 18:21:56):
~#! rn=Flinx rt=862753037 rg=puiz
~#! tid=862753037
Hoi, 
bin zwar kein Linguist, vermute aber dass der Satz kein Praedikat enthaelt
habs nicht ueberprueft, hoert sich halt so an.


Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Re: Fantastisches Quiz - Aufloesung (Quengistu,  4. Mai 1997, 21:54:26):
~#! rn=Highlander rt=862577002 rg=puiz
~#! tid=862577002
Tja, leider habe ich verpasst mitzumachen, aber vielleicht kann ich ein
Missverstaendnis zu Frage 7 ausraeumen:
Mit 20000 Meilen unter dem Meer meinte Jules Verne wahrscheinlich nicht "20000
Meilen tief", sondern "20000 Meilen weit".
Will meinen: Die Nautilus taucht unter, bewegt sich 20000 Meilen im getauchten
Zustand vorwaerts und taucht dann wieder auf.

Gruss, Queng

PS: Ich habe das auch erst vor 2 Monaten erklaert bekommen, bei einer
Marionettentheatervorfuehrung von "20000 Meilen unter dem Meer".

-----------------------------------------------------------------------------



Re: Re: Fantastisches Quiz - Aufloesung (Methedras,  4. Mai 1997, 22:02:12):
~#! rn=Quengistu rt=862775666 rg=puiz
~#! tid=862577002
Jou, richtig, damit ist 20.000 Meilen weit unter dem Meer gemeint,
und zwar bezieht sich das natuerlich nicht nur auf die Nautilus von
Kapitaen Nemo selbst, sondern nur speziell auf die Reise, die im Buch
vorgenommen wird. Die Nautilus selbst schwamm natuerlich insgesamt
viel weiter als 20.000 Meilen.

      tschuessle      Bergchen Methedras - frueher J. Verne-Fan

-----------------------------------------------------------------------------



Re: Re: Fantastisches Quiz - Aufloesung (Li,  5. Mai 1997, 10:14:17):
~#! rn=Quengistu rt=862775666 rg=puiz
~#! tid=862577002
Richtig!
SChliesslich heisst das buch auch nicht 20000 Meilen unter dem Meer, sondern
20000 Meilen unter den Meeren.
Fragt mich nicht, warum sich die erste Version so hartnaeckig haelt...
Li (zuckt mit den SChultern)

-----------------------------------------------------------------------------



Re^3: Fantastisches Quiz - Aufloesung (Cauno,  5. Mai 1997, 12:26:22):
~#! rn=Li rt=862820057 rg=puiz
~#! tid=862577002
Uebersetzungsfehler der Dolmetscher.
Oder sie dachten mal wieder, so klaenge es besser ...

C. No

Uebersetzerhasser (manchmal)

-----------------------------------------------------------------------------



Brockhaus 19-1 (Cauno,  5. Mai 1997, 12:28:33):
30.04. Mit welchem Auto endete die "Karriere" von Bonnie und Clyde?

Mit einem nagelnauen *Ford V-8* mit eingebautem Heisswasserboiler und 
Bar. Jesse Warren, ein Unternehmer aus Topeka (Kansas), hatte sich den 
Wagen im Maerz 1934 gekauft. Das beruehmt-beruechtigte Gangsterpaerchen 
Bonnie Parker und Clyde Barrow (im Film von 1967 dargestellt von Faye 
Dunaway und Warren Beatty) klaute den Wagen am 29. April und fuhr mit ihm 
in 23 Tagen problemlos 12 000 km bis Louisiana, wo sie von Texas Rangers 
gestellt und erschossen wurden. Bonnie wurde von 50 Kugeln durchsiebt, 
Clyde nur von 27.


01.05. Heut nacht war Walpurgisnacht. Nach wem ist sie benannt?

Nach der *heiligen Walburga* oder *Walpurgis* (*um 710, +779), deren Tag 
heute gefeiert wird. Sie wurde in England geboren und folgte ihren 
Bruedern nach Deutschland, wo sie un Heidenheim ein Doppelkloster 
stiftete. Sie war eine der beliebtesten Volksheiligen und sollte in der 
Walpurgisnacht Mensch und Vieh vor den Umtrieben der Hexen schuetzen, die 
im Volksglauben in dieser Nach auf dem Brocken zum Teufelstanz 
zusammentrafen.
Der Berg heisst uebrigens Brocken oder Blocksberg wegen der grossen 
Gesteinsbrocken oberhalb der Baumgrenze. In seiner "Harzreise" meint 
Heinrich Heine, "das moegen wohl die Spielbaelle sein, die die boesen 
Geister einander zuwerfen in der Walpurgisnacht, wenn hier die Hexen auf 
Besenstielen und Mistgabeln einhergeritten kommen".


02.05. Eine Frage, die Sie vor der Urlaubsplanung klaeren sollten:
       Welcher Ort haelt den Weltrekord im Niederschlag?

Entgegen allen Vorurteilen: kein Ort auf den Britischen Inseln, obwohl 
ihren Bewohnern ja oft ein besonders herzliches Verhaeltnis zu schlechtem 
Wetter unterstellt wird ... Nein, der Ort, der den Rekord haelt, liegt in 
tropischen Breiten, wo die Monsune oft sintflutartige Wassermengen 
bescheren koennen und von den Bauern erwartet, im Uebermass aber auch 
gefuerchtet werden. So fielen in der Ortschaft Cherrapunji in *Indien* 
vom 1.8.1860 bis zum 31.7.1861 insgesamt 26461 Millimeter Regen! Und auch 
den feuchtesten Jahresdurchschnitt hat ein indischer Ort namens Mawsynram 
mit 11873 Millimeter pro Jahr aufzuweisen.
Zum Vergleich: Der Jahresdurchschnitt in London betraegt 593 Millimeter!


03./04.05. Wer war der wohl beste Schwimmer der Literaturgeschichte?

05.05. Welchem Pflanzenschaedling errichteten die Farmer Alabamas ein 
       Denkmal?

-----------------------------------------------------------------------------



Re^4: Fantastisches Quiz - Aufloesung (Nirdavo,  5. Mai 1997, 12:29:58):
~#! rn=Cauno rt=862827982 rg=puiz
~#! tid=862577002
  Wenn wir schon bei Uebersetzungsfehlern sind, es gibt da einen klassischen,
den jeder zitiert:
    "Es geht eher ein Kamel durch ein Nadeloehr, als ein reicher Mann in den
Himmel."
  Jetzt die Quizfrage: Wie muesste das Zitat korrekterweise lauten, und woher
kommt der Uebersetzungsfehler?
  Erster Preis: Ein rknuddler von mir :-)

         Nirdavo, hat auch mal ein kleines Puiz

-----------------------------------------------------------------------------



Re^5: Fantastisches Quiz - Aufloesung (Cauno,  5. Mai 1997, 12:33:41):
~#! rn=Nirdavo rt=862828198 rg=puiz
~#! tid=862577002
Da kenne ich zwei noch klassischere Ue-fehler. Und die stehen im Buch der
Buecher, naemlich der Bibel.
Wer weiss, welche beiden Fehler ich meine, und welche Missinterpretation des
Buches daraus folgt?

C. No

Preis ueberleg ich mir auch noch. Vielleicht die Loesung zum Vorpuiz ... ;-)

-----------------------------------------------------------------------------



Re: Linguisten aufgepasst ! (Augra,  5. Mai 1997, 12:50:00):
~#! rn=Flinx rt=862753037 rg=puiz
~#! tid=862753037
Klingt wie eine Menge Relativsaetze ohne Hauptsatz.

Ohne naehere Analyse,
Augra (keine Linguistin)

-----------------------------------------------------------------------------



Re^5: Fantastisches Quiz - Aufloesung (Astar,  5. Mai 1997, 13:15:35):
~#! rn=Nirdavo rt=862828198 rg=puiz
~#! tid=862577002
Eigentlich heisst es:
Eher geht ein Strick durch ein Nadeloehr.
Strick un Kamel werden nur gleich geschrieben, war glaub die schrift ohne
Vokale.

Zweite Variate:
Es ist ein bestimmtes Stadttor gemeint, das auch Nadeloehr genannt wurde.
Hab leider vergessen wo das war.

Astar hatte lang schon kein Reli mehr...

-----------------------------------------------------------------------------



Re: Brockhaus 19-1 (Anatol,  5. Mai 1997, 13:18:37):
~#! rn=Cauno rt=862828113 rg=puiz
~#! tid=862828113
Irgendwo gibt es angeblich ein Kartoffelkaefer-Denkmal. Aber ob das dort ist?

Anatol


-----------------------------------------------------------------------------



Re: Linguisten aufgepasst ! (Sklave,  5. Mai 1997, 16:46:02):
~#! rn=Flinx rt=862753037 rg=puiz
~#! tid=862753037
Hmmm... An den vielen Typos liegt der Ruhm aber nicht, oder? ;-)

KreteK, Linguist, planlos

-----------------------------------------------------------------------------



Re^5: Fantastisches Quiz - Aufloesung (Li,  6. Mai 1997, 09:20:49):
~#! rn=Nirdavo rt=862828198 rg=puiz
~#! tid=862577002
Hmm, ich glaube, das lag daran, dass die bibel nicht aus den Hebraeischen,
sondern aus dem Griechischem Uebersetzt wurde. Und im altgrischisch sind die
Woerter fuer Kamel und Tau (dickes Seil) sehr aehnlich, so dass es eigentlich
heissen muesste:
Es geht eher ein Tau durch ein Nadeloehr,...

-----------------------------------------------------------------------------



Re^7: Fantastisches Quiz - Aufloesung (Grimmborn,  6. Mai 1997, 10:45:54):
~#! rn=Acrimon rt=862908262 rg=puiz
~#! tid=862577002
Vergiss nicht die Uebersetzungen aus dem Lateinischen.
Ansonsten haette ich gerne ein Beispiel fuer die Uebersetzung des Neuen
Testamentes aus dem Hebraeischen, das scheint doch sehr weit hergeholt zu
sein...

Grimmborn der (A)theist

-----------------------------------------------------------------------------



Re^6: Fantastisches Quiz - Aufloesung (Acrimon,  6. Mai 1997, 10:46:49):
~#! rn=Li rt=862903249 rg=puiz
~#! tid=862577002
Das stimmt nicht.
Die Bibel wurde sowohl aus dem Hebraeischen als auch dem Griechischen
uebersetzt (teilweise auch aus dem Aramaeischen).
Das Neue Testament (woraus die Stelle mit dem Nadeloehr entnommen ist) ist
komplett aus dem Griechischen uebersetzt.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^7: Fantastisches Quiz - Aufloesung (Yantro,  6. Mai 1997, 11:04:01):
~#! rn=Acrimon rt=862908409 rg=puiz
~#! tid=862577002

Ich muss Acrimon mal recht geben... die Bibel ist eigentlich aus dem
griechischen uebersetzt worden. Die griechische Version ist aber, so wie ich
das weiss, aus dem hebraeischen, denn die Evangelisten konnten wohl kein
griechisch.... Diesem Mentalitaets und Sprachunterschied haben wir es ja auch
zu verdanken, dass die doofen Christen heutzutage meinen, dass Jesus Gottes
Sohn (leiblich) gewesen sei, dabei handelt es sich im urspruenglichsten
zugaenglichen Text (Markusevangelium) um sowas wie eine geistige Adoption, die
waehrend der Taufe stattfand.

Alle anderen Vorstellung einer echten Vaterschaft zwischen den beiden
entspringt der perversen Phantasie der Griechen, die es halt gewoehnt waren,
dass sich ihre Goetter zwecks Kopulation hier und da mal verkoerperlichten.
:-) Man koennte auch sagen, dass die Griechen schon damals besser wussten, was
Spass macht. :-)))

Yantro.

-----------------------------------------------------------------------------



Re^5: Fantastisches Quiz - Aufloesung (Hardil,  6. Mai 1997, 12:35:12):
~#! rn=Nirdavo rt=862828198 rg=puiz
~#! tid=862577002

Das Komma ist falsch, Nirdavo.
Ich weiss zwar nicht, ob das ein Uebersetzungsfehler ist, aber dahin gehoert
es trotzdem nicht.

-Hardil Duden. Bruder von Konrad.

-----------------------------------------------------------------------------



Brockhaus 19-2 (Cauno,  6. Mai 1997, 12:49:57):
03./04.05. Wer war der wohl beste Schwimmer der Literaturgeschichte?

*Lord Byron* (*1788, +1824).
Obwohl er mit einem Klumpfuss zur Welt kam, war er ein aeusserst 
durchtrainierter Schwimmer. So durchschwamm er am 3. Mai 1810 die vier 
Kilometer breten Dardanellen von Abydos nach Sestos.
Er tat das natuerlich aus romantischen Motiven. Nach der griechischen 
Sage war Hero, Priesterin der Aphrodite in Sestos, die Geliebte des 
Leander aus Abylos, der, geleitet von Heros Lampe, jede Nacht ueber die 
damals noch Hellespont genannte Meeresenge schwamm. In einer Sturmnacht 
verlosch die Lampe, Leander ertrank, und Hero stuerzte sich aus Kummer 
vom Turm.
Byron aber kam heil in Sestos an.


05.05. Welchem Pflanzenschaedling errichteten die Farmer Alabamas ein 
       Denkmal?

Dem *Baumwollkapselkaefer*, einem Ruesselkaefer aus der Gruppe der 
Bluetenstecher. Er vernichtete um die Jahrhundertwende quasi die gesamte 
Baumwollernte Alabamas und damit praktisch die Wirtschaft des Staates. 
Gezwungenermassen bauten die Farmer andere Nutzpflanzen an, wobei sich 
vor allem der Erdnussanbau als sicher und erfolgreich erwies.
Aus Dankbarkeit errichteten die zu neuem Wohlstand gelangten Bauern ihrem 
ehemaligen Feind in der Stadt Enterprise (deutsch: Unternehmung) ein 
Denkmal in Form eines Brunnens.


06.05. Bis zum Jahre 1800 war Champagner truebe und hatte einen Bodensatz.
       Wer klaerte die Angelegenheit:
       - Dom Perignon
       - Jean Pommery
       - die Witwe Clicquot?


-----------------------------------------------------------------------------



Re^8: Fantastisches Quiz - Aufloesung (Cauno,  6. Mai 1997, 12:57:16):
~#! rn=Yantro rt=862909441 rg=puiz
~#! tid=862577002
Hm, was die Vaterschaft von Jesus angeht, beruht das waohl auch noch auf einem
der beiden Uebersetzungsfehler, die ich angesprochen habe.
In der lateinischen Fassung steht Maria als 'alma mater' beschrieben, was
soviel heisst wie 'junge Mutter' und wohl meinen soll, dass sie selbst fuer
damalige Zeiten noch ein bisschen frueh dran war mit dem Zeugen von
Nachkommen. In irgendeiner Uebersetzung aus dem Lateinischen wurde dann aus
der 'Jungmutter' die 'Jungfrau' Maria - und der Mythos von der
Jungfrauengeburt fand neue Nahrung.
Alles Quatsch, wie sich bei naeherem Hinsehen zeigt.

Und jetzt verleg einer den Thread nach Kultur, Diskussion, Religion oder
sonstwas. Grimmborn ...!

C. No, macht seinen naechsten Urlaub in Qumran.

P.S.: Fehler Nummer zwei steht gleich am Anfang in der Bibel. (diesmal das
alte Testament, Buch Genesis): 'Apfel' heisst auf lateinisch 'malum' (m). Das
gleiche wort malum (n) bedeutet aber auch "Uebel". Das ganze war also eine
Metapher.
Jetzt wissen wir auch, warum Schneewittchen einen Apfel essen musste ...

-----------------------------------------------------------------------------



Re^9: Fantastisches Quiz - Aufloesung (Grimmborn,  6. Mai 1997, 13:11:32):
~#! rn=Cauno rt=862916236 rg=puiz
~#! tid=862577002
Bitte, versuch doch Deine Unwissenheit nicht ganz zu offen unters Volk zu
bringen. Deine Beispiele aus dem Lateinischen sind ja schoen und ehrenvoll,
scheitern allerdings an ein paar Details:
- Das Alte Testament wurde in Hebraeisch verfasst. Auch dort geht es um
  Aepfel (auch wenn ich das haebraeische Wort dafuer nicht kenne). Sicher
  ist Gott allwissend, aber ob er deswegen einen Apfel gewaehlt hat, damit
  in einer Uebersetzung zweieinhalb Tausend Jahre spaeter eine Methapher
  draus wird? Fraglich.
- Auch das Neue Testament wurde nicht auf Latein verfasst. Die ursprueng-
  liche Sprache ist hier das Griechische. Und die jungfraeuliche Empfaengnis
  ist keineswegs eine Erfindung des NT, jeder in Griechenland, der was auf
  sich hielt, war jungfraeulich gezeugt worden (kein Wunder bei den
  damaligen Vorlieben...), so der eine oder andere Philosoph. Der "Sinn"
  ist einfach, auf das Besondere, die Andersartigkeit hinzuweisen.

Grimmborn der Exeget

-----------------------------------------------------------------------------



Re^10: Fantastisches Quiz - Aufloesung (Cauno,  6. Mai 1997, 14:17:56):
~#! rn=Grimmborn rt=862917092 rg=puiz
~#! tid=862577002
Und warum ist der Thread noch nicht verlegt?

C. No, liest auch Shakespeare im klingonischen Original ..l.

-----------------------------------------------------------------------------



Re^11: Fantastisches Quiz - Aufloesung (Nirdavo,  6. Mai 1997, 17:33:12):
~#! rn=Cauno rt=862921076 rg=puiz
~#! tid=862577002
   Also einen herzlichen Knuddler an alle, die auf das Quiz geantwortet
haben. Ich hatte zwar auch in Erinnerung, dass es ein Uebersetzungsfehler aus
dem hebraeischen war, aber ich fange da lieber nicht an, mich mit Acrimn zu
streiten, der da sicher ein groesseres Wissen hatte. Tatsache ist jedenfalls,
dass dieses falsche Zitat durch die Aehnlichkeit der Worte 'Tau' und 'Kamel'
hervorgerufen wurde, sei es jetzt nun in altgriechisch oder in hebraeisch.

          Nirdavo freut sich ueber die grosse Resonanz

-----------------------------------------------------------------------------



Re^12: Fantastisches Quiz - Aufloesung (Methedras,  6. Mai 1997, 19:52:23):
~#! rn=Nirdavo rt=862932792 rg=puiz
~#! tid=862577002
Aeh, hab ichs jetzt ueberlesen oder hat auf das Nadeloehr wirklich noch
keiner geantwortet. Ich hoerte einmal, dass es ein Tor in Ost-Jerusalem
sein soll und dass es so eng gewesen sein soll, dass Kamele ihre
Schwierigkeiten gehabt hatten, dort durchzukommen.

           Bergchen Caradhras *winke wedel*

-----------------------------------------------------------------------------



Re^13: Fantastisches Quiz - Aufloesung (Grimmborn,  6. Mai 1997, 19:53:44):
~#! rn=Methedras rt=862941143 rg=puiz
~#! tid=862577002
Du hast das ueberlesen.

Ausserdem, der Legenden sind viele...

GdA

-----------------------------------------------------------------------------



Re^14: Fantastisches Quiz - Aufloesung (Asmodis,  6. Mai 1997, 19:54:55):
~#! rn=Grimmborn rt=862941224 rg=puiz
~#! tid=862577002
Ja, hab ich auch mal gelesen oder gehoert, da soll es ein Engpass
gegeben haben, durch den keine Kamele passten und den sie Nadeloehr
nannten :)

-----------------------------------------------------------------------------



Re^7: Fantastisches Quiz - Aufloesung (Li,  7. Mai 1997, 09:55:54):
~#! rn=Acrimon rt=862908409 rg=puiz
~#! tid=862577002
Na das meine ich doch! Es ging doch nur um die Stelle mit dem Nadeloehr. Es
sit doch voellig wurst, ob der Rest direkt aus dem Hebraischem uebersetzt ist.
Acrimon, sind wir heute etwas penibel?
Li
*+

-----------------------------------------------------------------------------



Re: Brockhaus 19-2 (Li,  7. Mai 1997, 09:59:14):
~#! rn=Cauno rt=862915797 rg=puiz
~#! tid=862915797
Es war die Witwe Clicquot. Sie stellte die Flaschen auf den Kopf, so dass sich
die Truebung am korken absetzten konnte. 
(Kam letztens im Radio. Ob die auch im Brockhaus gestoebert haben?)
Li

-----------------------------------------------------------------------------



Brockhaus 19-3 (Cauno,  7. Mai 1997, 12:33:20):
06.05. Bis zum Jahre 1800 war Champagner truebe und hatte einen Bodensatz.
       Wer klaerte die Angelegenheit:
       - Dom Perignon
       - Jean Pommery
       - die Witwe Clicquot?

Es war *Mmme. Nicole-Barbe Clicquot* (*1777, +1867), die nach 
zweijaehriger Ehe mit Monsieur Clicquot mit zwanzig Jahren Witwe wurde. 
Die Champagner-Weinkellerei ging schlecht, immer weniger Leute wollten 
das Gesoeff, das aussah wie Spuelwasser. Aber La Veuve ("Die Witwe") 
Clicquot kam gluecklickerweise auf die "Remuage"-Methode, bei der die 
Champagnerflaschen mit dem Hals nach unten gelagert und ueber Monate 
hinweg geruettelt und gedreht werden. So lagert sich das Sediment 
allmaehlich am Korken ab. Zur rechten Zeit werden die Flaschen kurz 
geoffnet, der Druck presst den Satz hinaus und, voila, ein klarer, 
perlender Champagner. Auf Ihr Wohl, Madame!


07.05. Griechen und Roemer waren die ersten Luftverpester.
       Woher weiss man das?


-----------------------------------------------------------------------------



Das verspielte Quiz (Highlander,  7. Mai 1997, 13:32:39):
Heute mal ein Quiz der anderen Art - es richtet sich an alte Spieler und
Suchtis. Ich habe mich bemueht, moeglichst bekannte Spiele zu nehmen, weil
es nun wirklich kein Problem ist, obskure Vertreter dieser Art zu finden :>
Nachdem ich letztes Mal, wie Cauno meinte, den Film-Schmarrn brachte,
demonstriere ich hiermit wieder mal mein furchtbar niedriges Niveau.
 
 
1. In welcher Stadt findet sich Roscoe's Energy Emporium?
 
2. Nicht ganz einfach war 001 gegen 999. Welche Waffe hatte 711?
 
3. Die Levels hiessen metallisch, und es galt als eines der schnellsten
   seiner Art auf dem 64er - bis die aufgemotzte Version davon kam, die
   noch schneller war. Wie hiess es?
 
4. Welcher Spiele der Allgemeinheit verfuegbar machende Mensch hatte bei
   seinem Logo das Thema von Axel F. dabei?
 
5. Will man vermeiden, dass 4 Geister einen Marshmallow-Man bauen, muss
   man schnell auf eine Taste hauen. Welche oder auch wofuer steht sie?
 
6. Wo macht man sich mit Saeureeimern, Bomben, Federn und zur Not auch
   Schlagstoecken das Leben kuerzer?
 
7. The Way of the Exploding Fist - am schoensten war der Bein-Rundum-
   Schlag. Wie wurden die Punkte angezeigt?
 
8. Bis Elite habe ich es nie geschafft, Toedlich war meine beste
   Einstufung. Ab und an konnte man Alien Goods einsammeln. Von wem?
 
9. Das koennen auch juengere Spieler beantworten, da es das hier auch in
   einer PC-Version gibt. Welcher Rang kommt unter Koenig, wenn das Ziel
   der Rang ueber Koenig ist?
 
10. Bei mancher Olympiade startete eine ungewoehnliche Nation. Und sie
    hatte auch noch eine der ekligsten und laengsten Hymnen. Welche Nation?
 
11. Gelbe Reifen? Hoechste Zeit fuer eine Pause. Welches Spiel?
 
12. Wo fragte der 64er kraechzend nach dem Passport und meinte nicht
    weniger kraechzend, er sei ein Freund?
 
13. Mit einer SRU Dokumentenschnipsel jagen - etwas, was ich nie zu
    Ende gebracht habe. Wie hiess die Firma, deren Schnipsel man jagt?
 
14. Diese Firma war beruehmt fuer schoene Bilder und einen starken Parser.
    Ich meine nicht Infocom, die meines Wissens reine Textadventures
    produzierte. Ein Schachbauer mag euch auf die Spur fuehren.
 
15. An diesen Strand sollte man nicht gehen, wenn es einen stoert, dass
    scharf geschossen wird, und das so lange, bis einer mit einem weissen
    Faehnchen winkt. Wie heisst das Spiel?
 
16. Landete ziemlich schnell auf dem Index. Hiess ein bisschen aehnlich
    so, wie von Richthofen genannt wurde. Ein bisschen. Man flog auch
    ein Fliegzeug.
 
17. Vier mal am Joystick ziehen, dann ein paar mal langsam links-rechts,
    dann eine Runde hektisch links-rechts. Woher kommt die Folge?
 
18. Koennten auch juengere kennen. Wo verfolgt ein Troll am Ende der
    Titelmelodie einen Ritter?
 
19. Rio de la Hacha, Tortuga, Bermuda - all das konnte man besuchen.
    Meistens mochten einen die Spanier nicht (jedenfalls bei mir).
    Welches Spiel meine ich?
 
20. Ein Klassiker - Vicious Two Headed Squirrel Attacks Reporter!
    Auch Chainsaw Fuel findet man hier. Wovon ist die Rede?
 
21. Sammle die Diamanten. Aber pass auf dass Dir nicht ein Fels auf den
    Kopf faellt. Das Spiel hiess?
 
22. Radarwarner und Rueckspiegel haben geholfen, der Polizei zu entkommen.
    Unangenehm wurde es, wenn das ganze auf einer kurvigen Bergstrasse
    war, wo auch oefter mal ein Laster entgegenkam. Den Autohaendler
    allerdings haette es nicht gefreut. Wovon ist die Rede?
 
23. Gehen wir zu moderneren Zeiten. Leute vermehren, Flaechen einebnen,
    Felsen versenken, Ritter bauen - wo musste man all das?
 
24. Hornissenstiche sind unangenehm, die Bisse des Raeubers noch viel mehr.
    Auch Krummsaebelhiebe und Rapierstiche waren unangenehm. Wovon ging all
    das aus?
 
25. Ganz leichte Frage: Ihnen wurde im MG auch ein Denkmal gesetzt.
    Besonderes Merkmal: Sie laufen und laufen und laufen....    Wer?
 
26. Moderne Klassik. Moeglichst grosse Hochhaeuser sind erwuenscht. Nur
    unschoen, wenn ein Dinosaurier durchlaeuft. Wo bin ich sozusagen?
 
27. Ein bestimmter Stein kann sehr dabei helfen, in eine andere Welt zu
    reisen. Welcher Stein? Zusatztip: Blau und Rot sind in diesem
    Zusammenhang wichtige Farben.
 
28. Um im eigenen hintbook nachzusehen, kann man Instantspiele nehmen
    (kleine Anleihe bei Spaceballs...), oder in die Zukunft reisen. Hier
    wurde die letztere Moeglichkeit gewaehlt. Worauf bezieht sich das
    hintbook?
 
29. Nein, man stirbt auch hier nicht. Zitat: "Unten stand ein
    Gummibaum." Wie heisst dieser Klassiker?
 
30. Letzte Frage: Hier macht man Rommel Konkurrenz. Man muss sich aber
    nicht dem Titel gemaess einschraenken. Im Gegenteil, tut man es,
    geht man unter.
 
 
Einsendungen bis 16.5. an mich per mail. Wer seine private Bewertung
so schnell wie moeglich haben will, moege dies vermerken.
 
Highlander ryn Tahar. Alter Spieler.

-----------------------------------------------------------------------------



Brockhaus 20-1 (Cauno, 12. Mai 1997, 12:46:20):
07.05. Griechen und Roemer waren die ersten Luftverpester.
       Woher weiss man das?

Aus dem *arktischen Eis*. Bei einer Tiefenbohrung im groenlaendischen Eis 
erhioelten franzoesische Forscher Hinweise auf einen vierfach erhoehten 
Bleianteil in der antiken Atmosphaere. Das Schwermetall wurde beim 
Silberbergbau und bei der Muenzherstellung verwendet. (Dass die Roemer 
Blei als Gewuerz schaetzten, faellt hier nicht ins Gewicht.) Ueber die 
Toposphaere wurde die Dreckluft bis in die Arktis getrieben. Nach dem 
Untergang des Roemischen Reiches gab es wieder saubere Luft bis zum 
Beginn der industriellen Revolution.


08.05. Sie haben in der deutschen Sprache sogar ein Verb fuer schlechte 
       Zeiten inspiriert: die Goldhamster.
       Seit wann werden sie als Haustiere gehalten?

09.05. Warum hatten die Etruskerinnen bei Griechen und Roemern einen 
       solch schlechten Ruf?

10./11.05. Der magnetische Nordpol wandert im Laufe der Zeit.
           Woraus kann man das schliessen?

12.05. Warum aehnelt das Ballwerfen der meisten Maedchen eher dem 
       Kugelstossen?



-----------------------------------------------------------------------------



Re: Brockhaus 20-1 (Grimmborn, 12. Mai 1997, 12:55:55):
~#! rn=Cauno rt=863433980 rg=puiz
~#! tid=863433980
08.05.: Das ist erstaunlich kurz her, sagen wir Beginn dieses Jahrhunderts.
        Genaue Jahreszahl? OK, ich tipp auf 1932.
09.05.: Wenn Frauen andere Frauen nicht moegen gibts nur einen Grund: Die 
        Etruskerinnen waren huebscher und haben die Griechen und Roemer 
        reihenweise abgeschleppt.
10.05.: Aus magnetischen Partikeln in Lava. Daher hat man auch das Wissen, 
        dass sich die magnetischen Pole gelegentlich umkehren. Die Wanderung
        des magnetischen Pols laesst sich auch direkt beobachten: Die sog.
        "Missweisung" der Kompanden wechselt nicht nur mit dem Ort, sondern
        eben auch mit den Jahren (und nicht nur Jahrhunderten).
12.05.: Maedchen scheinen allgemein nicht in der Lage zu sein, beim Werfen mit
        rechts das _linke_ Bein vorzustellen, sie versuchens immer mit dem 
        rechten. Da hilft auch gut Zureden nichts. Was das mit Kugelstossen
        zu tun haben soll weiss ich nicht, da wird auch das andere Bein nach
        vorne gestellt.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Brockhaus 20-2 (Cauno, 13. Mai 1997, 12:09:08):
08.05. Sie haben in der deutschen Sprache sogar ein Verb fuer schlechte 
       Zeiten inspiriert: die Goldhamster.
       Seit wann werden sie als Haustiere gehalten?

Noch gar nicht so lange. Erst *1938* wurde in Syrien ein weibliches 
Exemplar des Nagetiers mit einem Wurf von 12 Jungen entdeckt.
Nur einmal, 100 Jahre vorher war nahe der Stadt Aleppo ein Exemplar der 
Gattung gefunden worden. Alle heutzutage weltweit so emsig im Laufrad 
tippelnden Hamster stammen von dem 1938 gefundenen Goldhamsterweibchen ab.


09.05. Warum hatten die Etruskerinnen bei Griechen und Roemern einen 
       solch schlechten Ruf?

Zunaechst einmal fanden Griechen und Roemer unmoeglich, dass die 
*Etruskerinnen* an den Trinkgelagen ihrer Maenner teilnahmen und dabei 
sogar die Liege ihrer Gatten teilten. Zudem fanden sie absolut degoutant, 
dass die Etruskerdamen bei sportlichen Wettkaempfen zuschauten und sich 
frei und unabhaengig in der Oeffentlichkeit bewegen durften. Ein 
gleichberechtigtes Leben an der Seite des Gatten war fuer Roemerinnen und 
Griechinnen unvorstellbar.


10./11.05. Der magnetische Nordpol wandert im Laufe der Zeit.
           Woraus kann man das schliessen?

Aus den Magnetitkristallen abgekuehlter Lava. *Magnetit*, auch 
Megneteisenstein genannt, richtet sich beim Erkalten der Lava auf das 
Magnetfeld der Erde aus. Bei der Untersuchung unterschiedlich alter 
Lavadecken stellte man fest, dass die Ausrichtung des Magnetits stark 
divergierte. Man konnte u.a. daraus ableiten, dass sich der magnetische 
Nordpol sogar schon einmal in der Naehe des Suedpols befand und das 
Erdmagnetfeld sich scho mehrmals umgepolt hat. Seine heutige Ausrichtung 
hat es erst seit etwa 30 000 Jahren.


12.05. Warum aehnelt das Ballwerfen der meisten Maedchen eher dem 
       Kugelstossen?

Amerikanische Untersuchungen haben ergeben, dass es wahrscheinlich 
schlicht an *mangelnder Uebung* liegt; also daran, dass Maedchen - im 
Gegensatz zu Jungen - nicht kontinuierlich dazu ermutigt werden, einen 
Ball zu werfen und zu fangen. Man fand heraus, dass Jungen und Maedchen 
bis zum Alter von zwoelf Jahren dann gleich weit werfen, wenn sie es mit 
dem "schwaecheren" Arm (also im allgemeinen mit dem linken) tun. 
Ausserdem fiel den Physiologen auf, dass rechtshaendige Maedchen beim 
Werfen meist den rechten Fuss vorstellen, was natuerlich die 
Shwungbewegung behindert. Aber das ist ja leicht zu beheben. Abgesehen 
vom Werfen sind die motorischen und athletischen Faehigkeiten bei 
Maedchen und Jungen bis zum Alter von etwa 10-12 Jahren nahezu gleichwertig.


13.05. Hier waltet nicht der Geist, der stets verneint:
       Was ist Negativarchitektur?


-----------------------------------------------------------------------------



Re: Brockhaus 20-2 (Grimmborn, 13. Mai 1997, 12:18:05):
~#! rn=Cauno rt=863518148 rg=puiz
~#! tid=863518148
13.05.: Dabei kann es sich nur um die wunderschoene Architektur der 70er
        Jahre handeln sowie verwandte Gebiete. Mir wird immer noch schlecht
        wenn ich da ein Paradebeispiel von sehe.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Brockhaus 20-2 (Rumata, 13. Mai 1997, 17:41:32):
~#! rn=Grimmborn rt=863518685 rg=puiz
~#! tid=863518148
Jo, in manchen Orten ertraegt man die Baukunst nur mit Hilfe der
Braukunst. (Frei nach Rodgau Monotones)
-->schmarrn
Rumata

-----------------------------------------------------------------------------



Brockhaus 20-4 (Cauno, 15. Mai 1997, 10:21:22):
Zwerge aufgepasst!

13.05. Hier waltet nicht der Geist, der stets verneint:
       Was ist Negativarchitektur?

Sie ist besonders leicht in *Tuff* zu realisieren.
Tuff ist ein Gestein, das hauptsaechlch aus Ascheteilchen vulkanischer 
Auswurfmassen besteht. Es ist feinkoernig, schon mit einem Taschenmesser 
zu bearbeiten und sehr standfest.
Bei der negativarchitektur werden Waende nicht errichtet sondern aus dem 
Gestein herausmodelliert. Besonders schoene Beispiele, bei denen alle 
Moeglichkeiten von Hoehlenarchitektur verwirklicht wurden, finden sich im 
Tal von Goereme in Mittelanatolien. Hier haben Moenche vom 7. bis zum 13. 
Jahrhundert drei Kloester und siebzehn Kirchen in den Tuff gemeisselt. 
Saeulen, Hallen, Kuppel, Altar, Chorgestuehl, Kruzifix: alles wurde aus 
dem Stein herausgehoehl bzw. beim Bearbeiten ausgespart.


14.05. Gibt es Kugelblitze wirklich?


15.05. Wer behauptete, dass es mitunter Froesche regnet?


-----------------------------------------------------------------------------



Entzug-Quiz (Hardil, 15. Mai 1997, 13:40:33):

Wer kennt noch Leute von ganz ganz frueher, damals, als noch alles gut war?
:-)
Ich mach ein Quiz.

Und zwar geht es darum, Leute zu finden, die moeglichst lange nicht mehr
eingeloggt waren, aber noch nicht geloescht sind.

Am besten Loesungen per mud-mail, und wenns geht, copy+paste des
'finger'-Befehls. :)
Einsendeschluss.... hmmm, mal sehen. Sobald ich genuegend Antworten habe,
spaetestens naechste Woche Mittwoch.

Preise: denk ich mir aus. Vielleicht findet sich ja ein Magier, der eine
portable 'entgifte'-Moeglichkeit autoload programmiert "Erste-Hilfe-Koffer"
oder so. (just kidding)

-Hardil.

-----------------------------------------------------------------------------



Re: Brockhaus 20-4 (Anatol, 15. Mai 1997, 14:44:44):
~#! rn=Cauno rt=863684482 rg=puiz
~#! tid=863684482
> 14.05. Gibt es Kugelblitze wirklich?
Ich behaupte einfach 'ja'. Meinem Grossvater ist so einer durchs Haus getigert
und einer aehnlichen Erscheinung durfte ich auch schon beiwohnen (alle kamen
mit dem Schrecken davon :)).

Anatol


-----------------------------------------------------------------------------



Re: Re: Brockhaus 20-4 (Grimmborn, 15. Mai 1997, 14:47:32):
~#! rn=Anatol rt=863700284 rg=puiz
~#! tid=863684482
Alle Erscheinungen? Was habt ihr denn versucht, denen zu tun?

GdA

-----------------------------------------------------------------------------



Brockhaus 20-5 (Cauno, 16. Mai 1997, 11:28:43):
14.05. Gibt es Kugelblitze wirklich?

Vielleicht eine chemische Reaktion, oder es handelt sich um optische 
Taeuschung, manche sagen: Anitmaterie-Meteoriten. Meistens taucht in den 
Berichten der *Kugelblitz* als feuriger Ball auf, der haeufig mit einem 
lauten Knall wieder verschwindet.
Uebrigens soll auch Diane de Poitiers (*1499, +1566), Maetresse des 
franzoesischen Koenigs Heinrich II. (*1519, +1559), in ihrer 
Hochzeitsnacht 1557 von einem Kugelblitz angesengt worden sein.


15.05. Wer behauptete, dass es mitunter Froesche regnet?

Der amerikanische Wissenschaftler *Charles Fort* (*1874, +1932). Fort 
durchforstete saemtliche wissenschaftlichen Publikationen nach Meldungen 
ueber seltsame und aussergewoehnliche Vorfaelle. In vier Buechern stellte 
er Erstaunliches vor: Es gab Zeugnisse, denen zufolge es schon 
Regenfaelle mit Froeschen, Fischen, Protoplasma, Salz, Steinen, 
Kanonenkugeln, Salpetersaeure, Ameisen und Wuermern gegeben hat. Nach 
Fort gibt es einige Kilometer ueber der Erde eine Art "Super- 
Sargassosee", in der sich Weltraumtreibgut sammelt, das ab und zu 
abgeregnet wird. Dass es schon Fische geregnet hat, wurde von einem 
renommierten Biologen 1947 in der Zeitschrift "Science" bezeugt.


16.05. Wann war das erste Mal von einem Bermuda-Dreieck die Rede?


-----------------------------------------------------------------------------



Brockhaus 21-2 (Cauno, 20. Mai 1997, 13:03:41):
16.05. Wann war das erste Mal von einem Bermuda-Dreieck die Rede?

Auch hier koennen wir *Charles Fort* fuer seine Lese- und Forschungswut 
danken. In seinen Notizen fand sich ein Bericht ueber seltsame Dreiecke, 
die sich 1885 am Himmel ueber den Bermuda-INseln gezeigt haetten. Und 
auch ueber "UFOs" sammelte Fort Augenzeugenberichte, die schon Jahrzehnte 
vor der Entstehung des Begriffs aufgezeichnet wurden. So z.B. die 
Nachricht ueber ein hellerleuchtetes Flugobjekt, das 1912 ueber der 
englischen Ortschaft schwebte.
Die Fort-Anhaenger geben noch heute Zeitschriften heraus, in denen nach 
dem Vorbild ihres Namengebers Meldungen ueber seltsame Vorfaelle 
zusammengetragen sind.


17./18.05. Heute eine Frage an Sie: Warum strecken Kinder die Zunge heraus, 
                                    wenn sie sich konzentrieren?

19.05. Hat Nero nun wirklich Rom angezuendet?

20.05. Warum sollte man bei einem Tornado Fenster und Tueren oeffnen?

-----------------------------------------------------------------------------



Re: Brockhaus 21-2 (Methedras, 20. Mai 1997, 15:02:24):
~#! rn=Cauno rt=864126221 rg=puiz
~#! tid=864126221
20.05.: Zum Druckausgleich zwischen dem Inneren des Hauses
und dem Tornado IMHO.

          Bergchen Caradingens, grad erst Twister gesehen habend

-----------------------------------------------------------------------------



Re: Re: Brockhaus 21-2 (Asmodis, 20. Mai 1997, 15:32:11):
~#! rn=Methedras rt=864133344 rg=puiz
~#! tid=864126221
Damit der Tornado den Weg durchs Haus findet :)

-----------------------------------------------------------------------------



Re^3: Brockhaus 21-2 (Grimmborn, 20. Mai 1997, 15:37:58):
~#! rn=Asmodis rt=864135131 rg=puiz
~#! tid=864126221
Ach was, das Oeffnen der Fenster ist bei Tornados voellig unnoetig.
Wichtig wird das erst beim Starfighter, damit man einen Fluchtweg hat, wenn
der aufs Haus faellt...

GdA

-----------------------------------------------------------------------------



Brockhaus 21-4 (Cauno, 22. Mai 1997, 11:53:07):
17./18.05. Heute eine Frage an Sie: Warum strecken Kinder die Zunge heraus, 
                                    wenn sie sich konzentrieren?

Stimmt, manche Erwachsene tun das auch. Aber wozu? Regt das die linke 
Hirnhaelfte an? Bedeutet es Abwehr, Unlust oder Ekel? Oder das Gegenteil? 
Einer von Ihnen weiss es bestimmt!
Bitte schicken Sie *Ihre Theorie* an die BROCKHAUS-Lexikonredaktion, 
Kennwort Kalender, Dudenstr. 6, 68167 Mannheim.


19.05. Hat Nero nun wirklich Rom angezuendet?

*Alles boese Verleumdung!*
Der roemische Keiser weilte bei Ausbruch des Brandes in Antiom (heute 
Anzio), 70 km von Rom entfernt. Er eilte auch gleich, nachdem er die 
Nachricht von der Feuersbrunst erhalten hatte, zurueck in die Hauptstadt, 
um die Brandbekaempfung zu leiten. Es nuetzte wenig, auch sein neuer 
Palast, auf den er so stolz war, wurde Opfer der Flammen.
Aber was auch immer noch an falschen Geruechten ueber Nero im Umlauf ist: 
Peter Ustinovs Darstellung des exaltierten Leienmusikers und -dichters 
wird unvergessen bleiben.


20.05. Warum sollte man bei einem Tornado Fenster und Tueren oeffnen?

Nicht alle, sondern nur diejenigen an der Hausseite, die dem 
herannahenden rotierenden *Wolkentrichter* abgewandt ist. Die hohen 
Windgeschwindigkeiten eines Tornados saugen aus dem Innern seines 
Trichters die Luft heraus, wodurch dort der Druck erheblich faellt. Das 
fuehrt dazu, dass der Innendruck eines Hauses, ueber das ein Tornado 
wirbelt, ploetzlich groesser ist als der Aussendruck. Dadurch kann das 
Haus schlichtweg explodieren. Also sollte man dem Druck die Gelegenheit 
geben zu entweichen.


21.05. Um die Jahrhundertwende wurden Kosmetika als Heilmittel verkauft.
       Warum wohl?

22.05. Ein merkwuerdiger Name fuer merkwuerdige Mixturen: Cocktail.
       Wer praegte dieses Wort?


-----------------------------------------------------------------------------



Verspieltes Quiz - Aufloesung (Highlander, 26. Mai 1997, 13:51:45):
So, etwas verspaetet durch Erkaeltung und Arbeit hier die Aufloesung zum
verspielten Quiz. Die Beteiligung war ziemlich rege, 12 Leute haben
ihre Loesungen geschickt.
 
Zum Quiz:
 
1. In welcher Stadt findet sich Roscoe's Energy Emporium?
 
Dass das aus Bard's Tale kommt, haben noch einige erkannt, aber Skara
Brae fiel wohl mehreren nicht mehr ein. 5 richtige Antworten.
 
 
2. Nicht ganz einfach war 001 gegen 999. Welche Waffe hatte 711?
 
Auch hier: Das Spiel wurde von einigen erkannt, es war Paradroid. Welche
Waffe aber der 711 Battle Droid hatte, wussten nur noch 2. Es war der
Disruptor - das Teil, mit dem man zappend durch die Hangardecks rannte.
Den Doppellaser, den jemand erwaehnte, hatte (ausser in der Heimwerker-
version das 001 Influence Device) der 821 Security Droid und der 999
Command Cyborg. Die Hewstromo war hier uebrigens mein weitester Punkt, das
war das dritte Schiff. Da hat mich dann ein 883er erledigt, der wohl eine
Maschinen-Laserkanone eingebaut hatte. Auf der Bruecke, obwohl ich einen
821 hatte, der ja einiges aushielt.
 
 
3. Die Levels hiessen metallisch, und es galt als eines der schnellsten
   seiner Art auf dem 64er - bis die aufgemotzte Version davon kam, die
   noch schneller war. Wie hiess es?
 
Uridium. 4 haben es gewusst.
 
 
4. Welcher Spiele der Allgemeinheit verfuegbar machende Mensch hatte bei
   seinem Logo das Thema von Axel F. dabei?
 
Also, der Mensch, der sich ab und an Crackernamen merkt, bin ich. Der
war mir halt aufgefallen, weil ich Axel F. (die Musik) mochte und immer
noch mag. Es war CRM aka Crackman. Beispiel ist Way of the Exploding Fist.
Das hat keiner gewusst.
 
 
5. Will man vermeiden, dass 4 Geister einen Marshmallow-Man bauen, muss
   man schnell auf eine Taste hauen. Welche oder auch wofuer steht sie?
 
Ghost (B)ait. If there's something strange...  In the neighbourhood...
Who you're gonna call?     Ghostbusters!   Immerhin 2 Richtige.
 
 
6. Wo macht man sich mit Saeureeimern, Bomben, Federn und zur Not auch
   Schlagstoecken das Leben kuerzer?
 
Das war Spy vs. Spy.   Am Ende startete der Jet aus dem Fenster raus.
Der weiteste Flug, den ich erlebt habe, war drei Raeume nach Ausloesen
einer Sprungfeder. 5 Treffer.
 
 
7. The Way of the Exploding Fist - am schoensten war der Bein-Rundum-
   Schlag. Wie wurden die Punkte angezeigt?
 
Die Punkte wurden durch Ying-Yang's angezeigt. Ein ganzes war ein Punkt,
zwei brauchte man. 4 haben das gewusst.
 
 
8. Bis Elite habe ich es nie geschafft, Toedlich war meine beste
   Einstufung. Ab und an konnte man Alien Goods einsammeln. Von wem?
 
Die Thargoiden wurden ziemlich oft erkannt - 6 mal. Elite war wohl doch
ziemlich populaer.
 
 
9. Das koennen auch juengere Spieler beantworten, da es das hier auch in
   einer PC-Version gibt. Welcher Rang kommt unter Koenig, wenn das Ziel
   der Rang ueber Koenig ist?
 
Hier gab's ein paar falsche Antworten. Richtig war Kurfuerst, was immerhin
dreimal genannt wurde.
 
 
10. Bei mancher Olympiade startete eine ungewoehnliche Nation. Und sie
    hatte auch noch eine der ekligsten und laengsten Hymnen. Welche Nation?
 
Die schreckliche Hymne scheint einpraegsam gewesen zu sein :> Immerhin
7 mal wurde Epyx oder Epic genannt. Ich habe Epic mal gelten lassen,
obwohl das natuerlich eine andere Firma ist, aber es klingt auch zu
aehnlich und ist schon ein bisschen her. Damals gab's Epic glaub ich noch
gar nicht. Die Olympiaden waren die Summergames I/II und die Wintergames.
 
 
11. Gelbe Reifen? Hoechste Zeit fuer eine Pause. Welches Spiel?
 
Nein, nicht Pole Position, jedenfalls nicht, dass ich wuesste. Ich rede
von Pit Stop (ich hatte PS II). Wenn PP stimmen sollte, waeren es 7,
normalerweise sind's aber "nur" 6 richtige Antworten.
 
 
12. Wo fragte der 64er kraechzend nach dem Passport und meinte nicht
    weniger kraechzend, er sei ein Freund?
 
Das wusste kein einziger. Ich rede von Castle Wolfenstein. "Passport."
"Freund." "Schutzstaffel."
 
 
13. Mit einer SRU Dokumentenschnipsel jagen - etwas, was ich nie zu
    Ende gebracht habe. Wie hiess die Firma, deren Schnipsel man jagt?
 
Hacker, den Namen des Spiels, haben auch hier noch ein paar gewusst. Aber
Magma, Ltd. (genau diese Schreibweise - erinnert ihr euch noch an den
Pseudo-login, der das Spiel begann?) ist keinem mehr eingefallen.
 
 
14. Diese Firma war beruehmt fuer schoene Bilder und einen starken Parser.
    Ich meine nicht Infocom, die meines Wissens reine Textadventures
    produzierte. Ein Schachbauer mag euch auf die Spur fuehren.
 
*grins* Magnetic Scrolls hiess die Firma, die mit "The Pawn" damals
relativ bekannt wurde. Kein Treffer.
 
 
15. An diesen Strand sollte man nicht gehen, wenn es einen stoert, dass
    scharf geschossen wird, und das so lange, bis einer mit einem weissen
    Faehnchen winkt. Wie heisst das Spiel?
 
Beach Head. Nein, nicht Commando, da winkte keiner mehr, da ratterte es
nur noch hinter der Fassade. Drei Richtige.
 
 
16. Landete ziemlich schnell auf dem Index. Hiess ein bisschen aehnlich
    so, wie von Richthofen genannt wurde. Ein bisschen. Man flog auch
    ein Fliegzeug.
 
v.R. wurde Red Baron (auf E) genannt, und was ich meine, hiess Blue Max.
Ja, ist ein bisschen an den Haaren herbeigezogen, der Vergleich. Aber das
meinte ich. Immerhin 4 Treffer. Jim: Eben DOCH Blue Max. Also hab ich Dir
den Punkt gegeben, macht 5 Treffer.
 
 
17. Vier mal am Joystick ziehen, dann ein paar mal langsam links-rechts,
    dann eine Runde hektisch links-rechts. Woher kommt die Folge?
 
Hm, sie war ja nicht vollstaendig, aber so wie beschrieben kommt sie aus
dem Biathlon der Wintergames, was 4 Leuten absolut klar war.
 
 
18. Koennten auch juengere kennen. Wo verfolgt ein Troll am Ende der
    Titelmelodie einen Ritter?
 
Archon. Neuaufgelegt als Archon Gold, WIMNI (<-IIRC auf D). Wie? KEINER
konnte sich daran erinnern?
 
 
19. Rio de la Hacha, Tortuga, Bermuda - all das konnte man besuchen.
    Meistens mochten einen die Spanier nicht (jedenfalls bei mir).
    Welches Spiel meine ich?
 
OK, die Frage WAR an sich zu einfach, aber wieso immer so schwer machen?
Pirates (Gold) wurde auf jeden Fall 8mal erkannt.
 
 
20. Ein Klassiker - Vicious Two Headed Squirrel Attacks Reporter!
    Auch Chainsaw Fuel findet man hier. Wovon ist die Rede?
 
Marcus: Die erste Antwort war richtig, Maniac Mansion ist leider falsch.
Gerade in MM findet man doch nur die chainsaw, aber keinen Sprit.
Voller Name: Zak McCracken (lege mich jetzt keiner auf Mc oder Mac fest)
and the Alien Mindbenders. Richtige Antworten: 5.
 
 
21. Sammle die Diamanten. Aber pass auf dass Dir nicht ein Fels auf den
    Kopf faellt. Das Spiel hiess?
 
Boulderdash. Wohl recht bekannt - 10 (!) Treffer. Dazu muss man sagen,
dass {Methe,Cara}dras keine einzige richtige Antwort hatte ;>
 
 
22. Radarwarner und Rueckspiegel haben geholfen, der Polizei zu entkommen.
    Unangenehm wurde es, wenn das ganze auf einer kurvigen Bergstrasse
    war, wo auch oefter mal ein Laster entgegenkam. Den Autohaendler
    allerdings haette es nicht gefreut. Wovon ist die Rede?
 
Dass 9 Leute Test Drive erkennen, haette ich nie und nimmer gedacht.
Ja, das "Accolade presents" war gar nicht schlecht fuer nen 64er, gell?
 
 
23. Gehen wir zu moderneren Zeiten. Leute vermehren, Flaechen einebnen,
    Felsen versenken, Ritter bauen - wo musste man all das?
 
Populous - mein erstes PC Spiel. Gleich mit dem Rechner gekauft :> Zum
Glueck hatte ich damals doch schon eine VGA-Karte genommen (ja, EGA war
damals grad noch so in der Auswahl :> Es war ein SX16). Immerhin 8 haben
es erkannt.
 
 
24. Hornissenstiche sind unangenehm, die Bisse des Raeubers noch viel mehr.
    Auch Krummsaebelhiebe und Rapierstiche waren unangenehm. Wovon ging all
    das aus?
 
Ich hab vielleicht zu umstaendlich formuliert ;> Aber sagt mal, kennt denn
keiner Hornets, Raptors, Scimitars und Rapiers? Aus ging das ganze von
der Tiger's Claw, und die Rede ist, obwohl das nicht gefragt war, von
Wing Commander (no bloody II, III or IV).
 
 
25. Ganz leichte Frage: Ihnen wurde im MG auch ein Denkmal gesetzt.
    Besonderes Merkmal: Sie laufen und laufen und laufen....    Wer?
 
Lemmings. 8 Treffer.
 
 
26. Moderne Klassik. Moeglichst grosse Hochhaeuser sind erwuenscht. Nur
    unschoen, wenn ein Dinosaurier durchlaeuft. Wo bin ich sozusagen?
 
Nix Monster Rampage, sorry. Ich bin in einer Simulierten Stadt - Sim City.
Das haben 7 als solches erkannt.
 
 
27. Ein bestimmter Stein kann sehr dabei helfen, in eine andere Welt zu
    reisen. Welcher Stein? Zusatztip: Blau und Rot sind in diesem
    Zusammenhang wichtige Farben.
 
Auch hier staune ich. Gerade mal 2 mal kam die richtige Antwort Moonstone
bzw. Mondstein. Ich mein, ich bin ja nicht unbedingt Ultima Fan, aber das
haette ja sogar ich erkannt.
 
 
28. Um im eigenen hintbook nachzusehen, kann man Instantspiele nehmen
    (kleine Anleihe bei Spaceballs...), oder in die Zukunft reisen. Hier
    wurde die letztere Moeglichkeit gewaehlt. Worauf bezieht sich das
    hintbook?
 
Ein Treffer. Anatol hat Space Quest IV ge- und erkannt.
 
 
29. Nein, man stirbt auch hier nicht. Zitat: "Unten stand ein
    Gummibaum." Wie heisst dieser Klassiker?
 
Ob das nu SMI I oder II war, war mir egal, aber Secret of Monkey Island
wollte ich hoeren, und es kam 5 mal. Einmal davon gut geraten - wo man
nicht stirbt, kann das adventure nicht von Sierra sein ;> Und das
sonst bekannteste duerfte in der Klasse halt Lucas Arts sein, das mit SMI
bekannt wurde (was adventures auf dem PC angeht - Maniac Mansion ist fuer
mich halt ein 64er Spiel).
 
 
30. Letzte Frage: Hier macht man Rommel Konkurrenz. Man muss sich aber
    nicht dem Titel gemaess einschraenken. Im Gegenteil, tut man es,
    geht man unter.
 
Muede Krieger - gerade 2 kannten Panzer General.
 
So wie's aussieht, ist das mit (Cara abgezogen) 10 von 11 Mal erkannt
wordene Boulderdash der Klassiker dieses Quizzes schlechthin. Und ich war
echt erstaunt, wie viele der alten Spiele doch noch bekannt sind. Bin ich
wohl doch nicht der einzige Oldie in dem Haufen hier.
 
Punkteverteilung nach Spielern (Cara 0, aber das wisst ihr schon ;>):
{Cara,Methe}dras:      0     Ordnungshalber
Quengistu       :      4
Kretek,
Marcus          :      6
Boing,
Snuggle         :      7
Pampers,
Tasha           :     13     Netter Sprung hier :>
Anatol,
Lycar,
Felagund        :     15     Drei zweite Plaetze
 
Und der Sieger mit 17 Treffern ist
 
*TUSCH*
 
JimdiGriz.
 
Herzlichen Glueckwunsch!  Danke fuer's Mitmachen, ich hoffe, es hat Spass
gemacht.
 
 
Highlander ryn Tahar.

-----------------------------------------------------------------------------



Re^10: Fantastisches Quiz - Aufloesung (Flavia, 26. Mai 1997, 17:10:55):
~#! rn=Grimmborn rt=862917092 rg=puiz
~#! tid=862577002
BTW: ist im AT ueberhaupt von Aepfeln die Rede?
Meiner Meinung nach steht da nur was von Fruechten vom Baum der Erkenntnis.

Flavia (sucht mal eben ihr AT)

-----------------------------------------------------------------------------



Verspieltes Quiz II (Dhojakt, 26. Mai 1997, 22:47:22):
So, da ich leider (*seufz*) das letzte gamequiz verpasst hab, stell ich halt
selber mal eins auf:
Leute, die den amiga/8-bit-atari kennen, sind definitiv im Vorteil, auch
wenn ich versucht hab, moeglichst wenig zeug zu nehmen, was nur auf diesen
Rechnern existiert.
1. Hier rollt man mit einem kleinen Baellchen zu Musik von Chris Huelsbeck 
durch die Gegend. Die PC-Version ist durch ein einziges 'Feature' versaut.
Wie war der Name, und was war das Feature?
2. Dieses revolutionaere Autorennen (Name?), von dem dann der 3. Teil sogar 
auf den PC umgesetzt wurde, hatte 3 Kurse, in denen Kurven falsch 
angezeigt wurden. Welche?
3. Dieses Ballergame von den Bitmap Bros. gilt auch heut noch als State of
the Art. Wer erinnert sich noch an den Knaller von 1988? Was passierte
ganz am Schluss?
4. Auch von diesem Grafikknaller gibts 2 Nachfolger. Man zog im Wald herum, 
dann einen Baum hintunter, dann einen Brunnen wieder rauf und dann gings
durchs Schloss zum Fuss des Oberboesewichts. Wie hiess es und das
Programmiererteam?
5. Hier konnte man sich schon mal anschauen, wie Flugsimulatoren 10 Jahre
spaeter aussehen (koennen) (Name?). Wodurch konnte man einen 'Schreck fuers 
Leben' davontragen? Uebrigens ist die ganze Landschaft fraktal generiert.
6. Diese Firma machte eine Adventure-Trilogie, bei der in jedem Teilname das
Wort 'Adventure' vorkam. Wie hiess die Firma und die Trilogie? Uebrigens
gibts noch mehr gute Adventures von denen, zB die Silicon Dreams Trilogie.
7. Je nach Schwierigkeitsstufe mehr oder weniger geformte Kloetzchen in
einen tiefen Schacht einsortieren kann eine hektische Beschaeftigung sein.
Wie hiess das 3D-Game und was passierte im Pausenmodus?
8. Dies Game gilt als der Vater einer neuen Generation grafischer Hack&Slay-
Rollenspiele. Die Firma wurde ihrem Namen (faster than light-software) mehr
als gerecht, schliesslich erschien nach nicht mal 10 jahren schon der
Nachfolger. Wie hiess das Spiel und wofuer kaempft man eigentlich?
9. Hier zog man Kraeutlein sammelnd durch die Gegend und braute
anschliessend in der Kueche mehr oder minder wirksame Sachen zusammen. Im
amerikanischen Fernsehen hatte die Gute sogar eine eigene Sendung, die RTL
mit der Wilden Hilde zu kopieren versuchte. Wie hiess die werte Dame?
10. Hier wird ein Fernsehspiel nach Art von Running Man mit operierten
Patienten aufgezogen. Aber Vorsicht, das 'Gehaeuse' der Patienten ist nicht
saeureunempfindlich... Wie hiess es und was war der besondere Spielmodus?
11. Eine Bruchlandung auf einem unbekannten Planeten macht keinen Spass,
zumal sich 2 Gruppen heftig bekriegen. War eines der ersten
Vektorgrafikspiele, damals noch nicht mit ausgefuellter Grafik. Wie hiess
es? Nenne Moeglichkeiten, von dort wieder zu verschwinden!
12. Hier konnte man sich mit Munition verschiedenster Sorte eindecken und
hektisch ballernd durch die Gegend ziehen (Ein Autofirejoystick ist eine
WIRKLICHE Hilfe!). Der Nachfolger (auch auf dem PC zu bewundern) ist noch 
besser, nur der 3. Teil faellt etwas ab. Wie hiess das Game und gegen wen
kaempft man eigentlich? Die Songs von Chris Huelsbeck sind wieder mal super
gelungen.
13. Warum macht es keinen Spass, dieses Trickfilmgame (Name?) zu spielen? 
Los gehts, indem man vor den Schuessen eines Boesewichts Deckung hinter 
einem grossen Stein sucht...
14. Hier zog man mit Schwert aus, durch 3 Welten hindurch Thanatos das
Fuerchten zu lehren. Vor jedem Level verkuendete eine gut(aussehend)e Seele
einige Hinweise. Wie hiess das Game und welche Endmonster tauchten doppelt
auf?
15. Hier konnten sich auch chemisch Unbegabte an der Verbindungssynthese
versuchen. Aber Ueberlegung ist vonnoeten, weil es keine Bremse gibt...
Was war es und wer war im Titelbild zu sehen?
16. Bomben legen macht Spass, sofern man fix genug um die Ecke verschwinden
kann. Wie hiess das Game fuer 5 (PC 4) Spieler? Was erhielt der Sieger am
Schluss?
17. In dieser 1:1-Arcadekonversion zieht man besser gleich zu viert los, um 
mit Axt/Schwert/Pfeil/Feuerball (je nach Figur) und Magischen Flaschen
(Zauberer haben hier den durchschlagendsten Erfolg) Monster und Generatoren
zu beseitigen. Was war es und was war das Levelziel? Hatte uebrigens auf dem
Amiga als eines der ersten Sprachausgabe.
18. Mal ein Griff nach ganz unten in die Kiste: Wo duelliert man sich auf
Voegeln reitend und was war das besondere an den hoeheren
Schwierigkeitsstufen?
19. In diesen 'Drehverrueckten Welten' soll man Edelsteine sammeln, soviel
man kriegen kann (Name?). Was war die besondere Moeglichkeit an der
Bildschirmdarstellung? Die Amigaversion war wesentlich einfacher.
20. Mal was Schweres: Selbst in Windoof kann man von Monstern bewachte 
Flchen teilen. Wie hiess denn der Urahn von Atari Games?
21. Nach was Schwerem mal was Neueres: Hier zieht man mit 2 aus 6 Figuren in
schraeger Draufsicht ballernd durch 4 Welten und aktiviert diverse 'Nodes'. 
Welche Maschine bekaempft man eigentlich? Hat auch Sprachausgabe.
22. Noch was mit Schwert: Durch Dungeons zu Jaffar... Was machte dieses Game
(Name?) so beruehmt? Ich meine nicht das 1-h-Zeitlimit. :)
23. Ballspielen mit Metallkugeln ist nicht so gesund. Lustig war immer der
'Ice cream'-Ruf. Was ist es?
24. Ein Warenhausangestellter hat es in 50 Leveln nicht leicht. Wurde
etliche Male kopiert und auch als Freeware nachgeschrieben.
25. Wer sich an die City of Xebecs Demise erinnert, weiss auch, wo er
eigentlich ist. Was war das besondere an dem Game?
So, ich denk, das reicht eigentlich, um euch etwas gruebeln zu lassen...
Und ich hoffe, Highlander sieht den Titelklau nicht :).
Khidar.
Antworten bitte bis 15. 6. per Mail an Dhojakt.

-----------------------------------------------------------------------------



Brockhaus 22-2 (Cauno, 27. Mai 1997, 12:26:58):
21.05. Um die Jahrhundertwende wurden Kosmetika als Heilmittel verkauft.
       Warum wohl?

Um die Jahrhundertwende galt Make-up als Attribut fuer Freudenmaedchen, 
und keine Frau, die auf ihre Ehrbarkeit hielt, hatte daran gedacht, es 
aufzutragen. Sa machte man *Kosmetika* dadurch salonfaehig, dass man sie 
zunaechst als Heilmittel tarnte und als Gesichtscremes gegen 
Hautunreinheiten, Sommersprossen und Sonneneinwirkung verkaufte. Mit der 
Zeit nahmen sie immer ansprechendere Toenungen an, und nach und nach 
kamen dann Wimperntusche und all das andere Gedoens hinzu.


22.05. Ein merkwuerdiger Name fuer merkwuerdige Mixturen: Cocktail.
       Wer praegte dieses Wort?

Ein franzoesischer Offizier im Amerikanischen Unabhaengigkeitskrieg. Und 
hier eine Version der Sage: Betsy Flanagan, eine Kneipenbesitzerin 
irgendwo in Neuengland, bewirtete bevorzugt Soldaten der Rebellen. Eines 
Abends komponierte sie ein Getraenk aus Rum und Fruchtsaft und dekorierte 
es mit einer Feder, die sie dem Sterz (engl. tail) des Hahns (frz. coq) 
eines reichen Anhaengers der englischen Krone entrupft hatte. Ein junger 
franzoesischer Rebellenoffizier rief dazu aus *"Vive le coqs tail!"* 
Stimmt, eine Mischung aus Rum und Fruchtsaft ergibt einen perfekten Drink!


23.05. Der Katalavox wurde von einer jungen Frau erfunden.
       Was aber kann man damit machen?

24./25.05. Er gilt als "Tag der Tage" der Leichtathletik. Welcher wars?

26.05. Welche war die bisher groesste Expedition, die in die Antarktis 
       unternommen wurde?

27.05. An Butzenscheiben scheiden sich die Geschmaecker.
       Was sind denn Butzen?


-----------------------------------------------------------------------------



Re: Brockhaus 22-2 (Dauergast, 27. Mai 1997, 15:28:35):
~#! rn=Cauno rt=864728818 rg=puiz
~#! tid=864728818

"Tag der Tage" in der leichtathletik:

mh, schon lange her, damals, als ...aehm... war wohl Jesse Owens
Anafng der Dreissiger 4 Weltrekorde innerhalb von ner dreiviertel Stunde 
aufgestellt hat ... incl. dem ersten 8 Meter Weitsprung ..

DG

-----------------------------------------------------------------------------



Re: Verspieltes Quiz - Aufloesung (Methedras, 27. Mai 1997, 19:07:35):
~#! rn=Highlander rt=864647505 rg=puiz
~#! tid=864647505
Ich mach doch immer gerne mit, wenn ich nur die Chance auf 1/2
Punkt ingesamt sehe. :) Na, die Chance war zwar gering, aber trotzdem
da, haette ja sein koennen, dass mir bd alias boulderdash noch
einfaellt. 

Ausserdem, Huehnchen!! Man schreibt mich nicht Caradras!
(siehe dein {methe,cara}dras) *knurr*

   Bergchen Caradhras - wollte auch, dass die 'schlechteren' bei
    seinen Tolkien-Quizzes mitmachen, haben leider nur wenige

-----------------------------------------------------------------------------



Re: Re: Verspieltes Quiz - Aufloesung (Highlander, 28. Mai 1997, 11:16:10):
~#! rn=Methedras rt=864752855 rg=puiz
~#! tid=864647505
Sorry, das h muss unter den Tisch gefallen sein. Ich weiss an sich
schon, dass es da hingehoert :>
  HrT

-----------------------------------------------------------------------------



Re^3: Verspieltes Quiz - Aufloesung (Anatol, 28. Mai 1997, 11:17:19):
~#! rn=Highlander rt=864810970 rg=puiz
~#! tid=864647505
Unter den Tisch? Jau. :)

stelle tisch auf berg
Anatol


-----------------------------------------------------------------------------



Brockhaus 22-3 (Cauno, 28. Mai 1997, 12:15:19):
23.05. Der Katalavox wurde von einer jungen Frau erfunden.
       Was aber kann man damit machen?

Der Name *Katalavox* setzt sich aus dem griechichen Wort "katal" 
("verstehen") und dem lateinischen Wort "vox" fuer "Stimme" zusammen.
Er bezeichnet ein computergesteuertes Geraet, das mit Hilfe der 
menschlichen Stimme Rollstuehle bewegen kann. Martine Kempff (*1959) hat 
es im Alter von 23 Jahren erfunden. Das Programm dazu schrieb sie auf 
einem Computer daheim. Die ersten, die den Stimmaktivator benutzten, 
waren Conterganopfer, denen die Gliedmassen zum Bedienen eines Rollstuhls 
fehlten. Inzwischen ist aber das Hauptanwendungsgebiet des Katalavox die 
Mikrochirurgie, wo mit seiner Hilfe Mikroskope justiert werden.


24./25.05. Er gilt als "Tag der Tage" der Leichtathletik. Welcher wars?

Der *25.Mai 1935*.
An diesem Tag stellte der Amerikaner Jesse Owens (*1913, +1980) bei 
Regionalmeisterschaften in Ann Arbor im US-Bundesstaat Michigan 4 
Weltrekorde auf: ueber 100 Yards (9,4 Sekunden), im Hochsprung (wobei er 
als erster Mensch die Acht-Meter-Marke uebersprang: 8,13 m), ueber 220 
Yards (10,3 Sekunden) und ueber die 220-Yards-Huerdenstrecke (22,6 Sekunden).
Owens gelangen diese vier Weltrekorde innerhalb von 45 Minuten!


26.05. Welche war die bisher groesste Expedition, die in die Antarktis 
       unternommen wurde?

Die von den USA organisierte *Operation "High Jump"*, die im suedlichen 
Sommer 1946-47 unternommen wurde. An ihr waren 23 Schiffe beteiligt, 
darunter Flugzeugtraeger, Eisbrecher und ein U-Boot. 4000 Menschen, 
darunter auch Journalisten, besetzten voruebergehend Antarctica.
Bei dieser Operation wurden 900 000 Quadratkilometer Land entdeckt und 60 
Prozent der Kuestenlinie fotografiert. Zweck der Uebung war u.a., fuer 
die Vereinigten Staaten eine Grundlage fuer territoriale Ansprueche zu 
schaffen. Zum Glueck wurden die politischen Auseinandersetzungen um den 
"siebten Kontinent" durch die Unterzeichnung des internationalen 
Antarktisvertrages 1961 beendet.


27.05. An Butzenscheiben scheiden sich die Geschmaecker.
       Was sind denn Butzen?

Frueher wurde Fensterglas hergestellt, indem man eine *geblasene Glaskugel* 
flachdrueckte, sie an einer Stange befestigte und dann so schnell wie 
moeglich drehte, bis man schliesslich eine runde Scheibe mit ein bis zwei 
Metern Durchmesser erhielt. Daraus wurden kleine Fensterscheiben 
geschnitten. Der am wenigsten durchsichtige Teil der Scheibe lag in der 
Mitte: der Butzen. Das Verfahren, duennes Fensterglas, auch Kronglas 
genannt, herzustellen, wurde im 14. Jahrhundert in Frankreich entwickelt.


28.05. Das roemische Publikum liebte sie: die Naumachien.
       Was gab es da zu sehen?


-----------------------------------------------------------------------------



Re: Brockhaus 22-3 (Hobo, 28. Mai 1997, 12:55:16):
~#! rn=Cauno rt=864814519 rg=puiz
~#! tid=864814519
Soso, 8 Meter im HOCHSPRUNG....
Gab's zu der Zeit ]schon Phantomias? ;)

   Hobo - macht ihrer Tochter langsam Konkurrenz bei den
     Lustigen Taschenbuechern

-----------------------------------------------------------------------------



Re: Re: Brockhaus 22-3 (Methedras, 28. Mai 1997, 19:44:24):
~#! rn=Hobo rt=864816916 rg=puiz
~#! tid=864814519
Jou, Hexschen Hobo, ganz schoen hoch...
Und 10.3 Sekunden ueber 220 Yards is auch nich schlecht, da waere
jeder gedopte Ben und Florence neidisch drum.

  Bergchen Caradhras - laeuft die 100 Meter nicht, er tritt sie platt

-----------------------------------------------------------------------------



Aufloesung vom Abstinenzler-Puiz (Hardil,  2. Jun 1997, 10:26:26):

Lange hats gedauert, aber hier die Aufloesung des Abstinenzler-Quizzes:

Die Top Ten der nicht anwesenden Mudder:

#	Name			zuletzt eingeloggt	gefunden von
1)	Trest			22 Nov '94 17:55:25	Hobo,Anakin,Yantro
2)	Raven			22 Nov '94 17:56:17	Njala
3)	Osterhasi		22 Nov '94 17:56:54	Pampers,Hobo
4)	Momo			22 Nov '94	Rantanplan
5)	Julia			22 Nov '94 17:58:37	Rantanplan
6)	Herrdas			22 Nov '94 17:58:50	Quengistu
7)	Hobbes			22 Nov '94 17:59:00	Hobo
8)	Hubbit                  22 Nov '94 17:59:04     Quillian
9)	Huibuh                  22 Nov '94 17:59:06     Kobayashi
10)	Garion			22 Nov '94 17:59:12	Hobo

Auf den weiteren Plaetzen: Black, Baldur und Andreas (alle 22 Nov '94)

Insgesamt haben sich 16 Leute am Puiz beteiligt - gewaltig, gewaltig.

Argl, bei Momo fehlt ja die Uhrzeit. Die Zeile muss richtig heissen:

4)	Momo			22 Nov '94 17:57:36	Rantanplan

Achja, falls sich einige ueber den 22. November '94 wundern - an dem Tag
wurden irgendwie die Save-Files ge-back-upt, oder so aehnlich. Deswegen ist
nicht mehr festzustellen, wer vor diesem Termin wie lange nciht eingeloggt
war. :-)

Zur Siegerin erklaere ich jetzt ganz einfach mal Hobo.Falls wir uns jemals RL
auf eienr Mud-Fete treffen, habe ich eine gute Flasche Wein fuer Dich im
Gepaeck.

Hat Spass gemacht!

-Hardil. Altertumsforscher.

-----------------------------------------------------------------------------



Re: Aufloesung vom Abstinenzler-Puiz (Key,  2. Jun 1997, 12:46:31):
~#! rn=Hardil rt=865239986 rg=puiz
~#! tid=865239986
Huhu,
Hmm gehoert zwar nicht in diese Rubrik, aber da wir gerade beim Thema sind:
Koennen so alte Charakteren die solange nimmer da waren nicht mal geloescht
werden? Ausser Speicher verbrauchen tun die doch eh nix mehr, oder?

Key

-----------------------------------------------------------------------------



Re: Re: Aufloesung vom Abstinenzler-Puiz (Highlander,  2. Jun 1997, 12:47:01):
~#! rn=Key rt=865248391 rg=puiz
~#! tid=865239986
Wenn jemand Trest loescht, kriegt er Aerger mit mir! :>
   HrT

-----------------------------------------------------------------------------



Re^3: Aufloesung vom Abstinenzler-Puiz (Key,  2. Jun 1997, 12:48:03):
~#! rn=Highlander rt=865248421 rg=puiz
~#! tid=865239986

Hmm wie ist der befehl zum loeschen? :)

Key

->schmarrn ;)

-----------------------------------------------------------------------------



Re: Re: Aufloesung vom Abstinenzler-Puiz (Grimmborn,  2. Jun 1997, 13:02:26):
~#! rn=Key rt=865248391 rg=puiz
~#! tid=865239986
Sie verbrauchen nichtmal Speicher. Sie verbrauchen lediglich Plattenplatz. Und
mit dem sind wir sooo eng nun auch wieder nicht, dass man da den
Uraltcharakteren die paar Kilobyte missgoennen muesste.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Aufloesung vom Abstinenzler-Puiz (Boing,  2. Jun 1997, 13:06:22):
~#! rn=Grimmborn rt=865249346 rg=puiz
~#! tid=865239986
Ausserdem weiss man nie, ob sie nicht doch mal wiederkommen und sich
dann freuen, dass ihr Charakter noch da ist (siehe Wurzel, z.B.).
  Boing

-----------------------------------------------------------------------------



Re^4: Aufloesung vom Abstinenzler-Puiz (Fyt,  2. Jun 1997, 14:17:12):
~#! rn=Boing rt=865249582 rg=puiz
~#! tid=865239986

Ganz schlechtes Beispiel, Boing ;-)

Fyt.

-----------------------------------------------------------------------------



Re^5: Aufloesung vom Abstinenzler-Puiz (Boing,  2. Jun 1997, 14:17:57):
~#! rn=Fyt rt=865253832 rg=puiz
~#! tid=865239986
Das ist Auffassungssache.
  Boing

-----------------------------------------------------------------------------



Re^6: Aufloesung vom Abstinenzler-Puiz (Hardil,  2. Jun 1997, 14:18:47):
~#! rn=Boing rt=865253877 rg=puiz
~#! tid=865239986

Haette Boing denn lieber "Troy" schreiben sollen, Fyt?
-Hardil.

-----------------------------------------------------------------------------



Re^7: Aufloesung vom Abstinenzler-Puiz (Kobayashi,  2. Jun 1997, 14:25:18):
~#! rn=Hardil rt=865253927 rg=puiz
~#! tid=865239986
Vielleicht kann man das vom Spielerlevel abhaengig machen. 2 Jahre nicht da
und weniger als level 10, 3 Jahre Level 12 ... etc 

Koba

-----------------------------------------------------------------------------



Re^7: Aufloesung vom Abstinenzler-Puiz (Fyt,  2. Jun 1997, 14:49:19):
~#! rn=Hardil rt=865253927 rg=puiz
~#! tid=865239986

Hm... die Troyquests hab ich schon und werde da nicht wieder reingehen...

Fyt.

-----------------------------------------------------------------------------



Re^8: Aufloesung vom Abstinenzler-Puiz (Asmodis,  2. Jun 1997, 15:38:25):
~#! rn=Fyt rt=865255759 rg=puiz
~#! tid=865239986
Sosos, und was machst du, wenn Troy wiederkommt, und ein neues Quest 
proggt ? :)

-----------------------------------------------------------------------------



Re^7: Aufloesung vom Abstinenzler-Puiz (Dhojakt,  2. Jun 1997, 16:10:59):
~#! rn=Hardil rt=865253927 rg=puiz
~#! tid=865239986
Troy macht doch in der Konzeption ueberwiegend nette quests, also nix gegen
troy!
Khidar.

-----------------------------------------------------------------------------



Re^9: Aufloesung vom Abstinenzler-Puiz (Fyt,  2. Jun 1997, 16:11:46):
~#! rn=Asmodis rt=865258705 rg=puiz
~#! tid=865239986

Dann kommt er auf die Liste hinter Wurzel.

Fyt.

-----------------------------------------------------------------------------



Re^4: Aufloesung vom Abstinenzler-Puiz (Kretek,  2. Jun 1997, 16:35:27):
~#! rn=Key rt=865248483 rg=puiz
~#! tid=865239986
rm -f 

-----------------------------------------------------------------------------



Re: Aufloesung vom Abstinenzler-Puiz (Hobo,  3. Jun 1997, 13:18:43):
~#! rn=Hardil rt=865239986 rg=puiz
~#! tid=865239986
JAU!!!!! Sieger!

Hat sich also doch gelohnt, die laten Files durchzuwuehlen nach Namen, die man
nicht kennt :))

Bis dann in Muenster, Hardil!

    Hobo

-----------------------------------------------------------------------------



Re: Re: Aufloesung vom Abstinenzler-Puiz (Rantanplan,  3. Jun 1997, 13:19:42):
~#! rn=Hobo rt=865336723 rg=puiz
~#! tid=865239986
Das ist einen Jammerartikel wert.

MAgier sollten aus der Wertung genommen werden, weil sie ehh alles Files
durchgreppen koennen...

Oe* (Spielverderber)

-----------------------------------------------------------------------------



Re: Re: Aufloesung vom Abstinenzler-Puiz (Hobo,  3. Jun 1997, 13:19:50):
~#! rn=Hobo rt=865336723 rg=puiz
~#! tid=865239986
laten=alten

muss wohl das alters-zittern sein!


nochmal Hobo

-----------------------------------------------------------------------------



Re^3: Aufloesung vom Abstinenzler-Puiz (Anakyn,  4. Jun 1997, 15:27:06):
~#! rn=Hobo rt=865336790 rg=puiz
~#! tid=865239986
Jupp genau, Magier raus, da kann man sich schnell
nen Prograemmchen schreiben und fertig.
Also bin ich Sieger.

Anakin.

-----------------------------------------------------------------------------



Brockhaus 23-4 (Cauno,  5. Jun 1997, 14:45:18):
28.05. Das roemische Publikum liebte sie: die Naumachien.
       Was gab es da zu sehen?

*Veritable Seeschlachten!* Beim Beu das Kolosseums wurde gleich eine
unterirdische Pumpenanlage mitinstalliert, um kuenstliche Seeschlachten
inszenieren zu koennen. Aber schon vorher wurden sie veranstaltet.
Augustus zum Beispiel liess eine historische Seeschlacht zwischen
Griechen und Persern auffuehren, und eigens dafuer baute man am Tiberufer
ein Becken mit den Massen 500 x 360 Meter.
Im Jahre 52 n. Chr. lud Kaiser Claudius zu einer Naumachia auf dem
Fuciner See in den Abruzzen, dem einst groessten See Italiens. 19 000
Mann traten zu diesem Schauspiel an.


29.05. Oft die Frage im Kino: Fiktion oder Wirklichkeit.
       Welchen Spielfilm liess Hitler aus Sicherheitsgruenden beschlagnahmen?

30.05. Wo ist es heisser: - im Erdinnern
                          - auf der Sonne?

31.05./01.06. Vielleicht koennen Sies mal brauchen:
              Wie kann man auf einfache Art eine Ellipse zeichnen?

02.06. Das Steinewerfen hat eine lange Tradition, auch als Sportart.
       Wer war der erste bekannte Meister dieser Disziplin?

03.06. Jules Brillant?
       Wer kam auf die Idee, Diamanten als Brillanten zu schleifen?

04.06. Wo leben die aeltesten Menschen der Welt?

05.06. Warum sind die Wellen am Mittelmeer niedriger als auf Hawaii?


-----------------------------------------------------------------------------



Re: Brockhaus 23-4 (Pampers,  5. Jun 1997, 14:50:08):
~#! rn=Cauno rt=865514718 rg=puiz
~#! tid=865514718
29.05. "D-Day" mit Gregory Peck 
30.05. In meiner Stammkneipe "Rote Marlene" in Dortmund-Mitte... Da ist was
los...
31.05. Man nehme ein Ei und benutze es als Schablone
02.06. David.
03.06. Karl-Heinz Kaluppke, Vorsitzender des Rot-Weiss-Essen Fan-Clubs 'Crazy
Boys'
04.06. im Neandertal.
05.06. weil sonst die ganzen Leute am Strand von Mallorca nass wuerden.

-----------------------------------------------------------------------------



Re: Brockhaus 23-4 (Ratz,  5. Jun 1997, 15:24:14):
~#! rn=Cauno rt=865514718 rg=puiz
~#! tid=865514718
hi,
zum 30.5. auf der sonnenoberflche sollen es nur ca. 6000 grad C sein . es ist
also durch aus moeglich das es unter uns heisser ist. Vorallem wenn es nicht
so waere, wuerden sie die frage nicht bringen!
zum 3.6 ( Diamanten) Die frage muesste eher heissen wer kam auf die idee wie
man diamnten schleift!!. Das ist naehmlich garnicht einfach, da es bis zu dem
Zeitpunkt keine geeigneten Scheifmittel gab. Bekanntlich ist Diamant seehr
hart.



-----------------------------------------------------------------------------



Re: Brockhaus 23-4 (Acrimon,  5. Jun 1997, 21:27:26):
~#! rn=Cauno rt=865514718 rg=puiz
~#! tid=865514718
30.5. Im Erdinnern
31.5. Man stecke in jeden Brennpunkt der Ellipse eine Nadel und lege einen zu
einem Kreis zusammengebundenen Faden drumherum. Mit einem Stift zieht man die
Schnur stramm und faehrt bei gespannter Schnur einmal um die beiden Nadeln
herum. Das gibt eine sehr saubere Ellipse.
Es gibt uebrigens auch eine einfache Stangekonstruktion zum Ellipsenzeichnen,
die man mit etwas Muehe und Geschick selbst anfertigen kann.
Wenn R den groszen Ellipsenradius und r den kleinen Ellipsenradius bezeichnet,
dann sollten die beiden Nadeln 2 * sqrt(R^2 - r^2) voneinander entfernt stehen
und die Schnur einen Gesamtumfang von 2 * (R + sqrt(R^2 - r^2)) haben.

2.6. David
4.6. Im Altersheim
5.6. Weil Hawaii im groszen Ozean liegt, Mittelmeer ist nur eine Bucht :-)))

-----------------------------------------------------------------------------



Brockhaus 23-5 (Cauno,  6. Jun 1997, 11:46:28):
29.05. Oft die Frage im Kino: Fiktion oder Wirklichkeit.
       Welchen Spielfilm liess Hitler aus Sicherheitsgruenden beschlagnahmen?

Den Film "Die Frau im Mond" (1928) des Regisseurs Fritz Lang (*1890,
+1976). Als Fachberater hatte Lang den jungen Physiker Hermann Oberth
verpflichtet, der 1923 das bahnbrechende Buch "Die Rakete zu den
Planetenraeumen" veroeffentlicht hatte. Die nach seinen Entwuerfen
gebaute Filmrakete glich so sehr den spaeter von Oberth mitentwickelten
Waffen V1 und V2, dass im Dritten Reich alle Kopien des Films
beschlagnahmt wurden.
Oberth (*1894, +1989) gilt heute als "Vater der Raumfahrt".


30.05. Wo ist es heisser: - im Erdinnern
                          - auf der Sonne?

Es wird allgemein angenommen, dass die *Temperaturen* im inneren Erdkern
wie auf der Sonne bei 5000 0C liegen. Im Kern der Sonne ist es ca. 15
Millionen Grad Celsius warm. Der aeussere Erdkern beginnt etwa 3000 km
unter der Erdoberflaeche und ist eine 2100 km dicke, schmelzfluessige
Schicht. Etwa 5100 km unter der Erdoberflaeche beginnt der innere
Erdkern, von dem man annimmt, dass er fest ist und hauptsaechlich Eisen
und etwas Nickel enthaelt.


31.05./01.06. Vielleicht koennen Sie's mal brauchen:
              Wie kann man auf einfache Art eine Ellipse zeichnen?

Um einen Kreis zu erhalten, brauchen Sie ja nur eine Nadel in eine
Unterlage zu stecken und einen Bleistift mit einem Stueck Faden daran
festzubinden. Um eine perfekte *Ellipse* zu zeichnen, brauchen Sie zwei
NAdeln, die in beliebigem Abstand in die Unterlage gesteckt werden. Dann
verbinden SIe die beiden Nadeln locker mit einem Faden, straffen den
Faden mit einem Bleistift und fahren dann mit dem gestrafften Faden um
die beiden Nadeln herum.


02.06. Das Steinewerfen hat eine lange Tradition, auch als Sportart.
       Wer war der erste bekannte Meister dieser Disziplin?

Um 550 v. Chr. war ein Grieche namens *Bybon* offensichtlich ein Meister
seines Fachs.
Man fand bei Olympia einen 150 kg schweren roten Sandsteinbrocken, der
die Inschrift traegt: "Bybon hat mich mit einer Hand ueber den Kopf
geworfen." Und was hat er mit der anderen Hand gemacht?"


03.06. Jules Brillant?
       Wer kam auf die Idee, Diamanten als Brillanten zu schleifen?

*Kardinal Jules Mazarin* (*1602, +1661), der maechtige Staatsmann der
franzoesischen Koenige Ludwig XIII. und Ludwig XIV. Dadurch, dass er eine
Spitze des Edelsteinoktaeders abschleifen liess, konnten nun die Steine
ihr "Feuer" voll entfalten, das Lich gleichermassen reflektieren und
brechen - glaenzend und leuchtend (frz. "brillant"). Beim heute
verwendeten Brillanschliff erhalten Diamanten und andere Edelsteine 56
mit absoluter geometrischer Genauigkeit verteilte Facetten. Hinzu kommen
die obenliegende "Tafel" und die "Kalette", eine Begradigung der unteren
Spitze, die mit blossem Auge nicht erkennbar ist.
Und wer war Jules Brillant? Keine Ahnung. Den haben wir nur erfunden, um
Sie an der Nase herumzufuehren.


04.06. Wo leben die aeltesten Menschen der Welt?

Angeblich im Tal von Vilcabamba im *Suedosten Ecuadors*. David Davies,
Professor fuer Gerontologie (Altersforschung) in London, untersuchte zwei
Jahre lang die Lebensweise der dort lebenden, ueberdurchschnittlich alten
Menschen, von denen einige 130 Jahre und mehr auf dem Buckel haben
sollen. So auch der ruestige Gabriel Sanchez, der noch jeden Tag, genauso
wie in den letzten 120 Jahren, seiner Arbeit als Bauer nachgeht. Dr.
Davies berichtet darueber in seinem Buch "The Centenarians of the Andes"
("Die Hundertjaehrigen der Anden").
Leider ist es inzwischen veraltet: Es erschien Mitte der siebziger Jahre.


05.06. Warum sind die Wellen am Mittelmeer niedriger als auf Hawaii?

Neben vielen anderen Faktoren - Windverhaeltnisse, Gezeiten und Seebeben -
ist es hauptsaechlich der unvergleichlich *weite Raum*, der es den Wellen
im Pazifik ermoeglicht, sich zu Hoehen von 10 Metern und mehr
aufzuschwingen. Am Mittelmeer oder an der Atlantikkueste sind es
bestenfalls zwei bis drei Meter.
Ihre endgueltige Form erhalten die Wellen durch die Art des zur Kueste
ansteigenden Seebodens: Felsenformationen formen den Wellenberg steil,
Sandbaenke eher flacher. In jedem Falle koennen die Wellen Tausende von
Kilometern durchlaufen, bevor sie die Surfer-Paradiese am Stillen Ozean
erreichen.


06.06. Welches Abenteuer begann heute vor 100 Jahren?


-----------------------------------------------------------------------------



Re: Re: Aufloesung vom Abstinenzler-Puiz (Hardil,  6. Jun 1997, 13:38:40):
~#! rn=Hobo rt=865336723 rg=puiz
~#! tid=865239986

Tja, mit Muenster wirds nix, Hobo. Mein Flieger landet zwar am 24. August
wieder auf deutschem Boden, aber in Frankfurt/Main, und ich glaub nicht, dass
ich dann noch nach Muenster fahren werde... Aber irgendwann kommt schon mal
noch 'ne Party. :)

-Hardil.

-----------------------------------------------------------------------------



Re^3: Aufloesung vom Abstinenzler-Puiz (Hobo,  6. Jun 1997, 14:04:20):
~#! rn=Hardil rt=865597120 rg=puiz
~#! tid=865239986
Und wann bekomm ich meinen Wein????

Hobo -durstig

-----------------------------------------------------------------------------



Neues Musikpuiz (Florentine, 10. Jun 1997, 09:19:19):

Okay, Leute, es ist wieder Zeit fuer ein Musikpuiz. Diesmal mach ich mir
allerdings so wenig Aufwand wie moeglich und lass Euch einfach Sachen
aufzaehlen. Los gehts:

 1. William Shakedbee^H^H^H^Hspeare hat viele Komponisten inspiriert. Nenne
moeglichst viele Musikstuecke, die nach Werken Shakespeares entstanden sind.

 2. Walzer stehen fuer gewoehnlich im 3/4-Takt. Welche bekannten Walzer
stehen im 4/4-Takt bzw. im 5/4-Takt?

 3. Apropos 5/4-Takt: Zaehle moeglichst viele Stuecke auf, die im 5/4-Takt
stehen.

 4. Und wie sieht's aus mit Stuecken im 7/4-Takt?

 5. Mehrere Komponisten haben Stuecke geschrieben, in denen das Motiv B-A-C-H
vorkommt. Nenne moeglichst viele von ihnen (Komponisten und Stuecke).

 6. Welche Komponisten gibt es noch, deren Namen sich "musikalisch
buchstabieren" lassen? Gibt es auch hier Musikstuecke, die auf diesen
"Namens-Motiven" aufbauen?

So, mehr faellt mir im Moment nicht ein; auch ueber Preise hab ich mir noch
keine Gedanken gemacht. Lasst Euch halt ueberraschen. Als Einsendeschluss
setzen wir mal den ehemaligen Tag der deutschen Einheit fest.

Ach ja, Loesungen bitte per MGmail an meine Erstie. Viel Spass,
Flo.

-----------------------------------------------------------------------------



Brockhaus 24-2 (Cauno, 10. Jun 1997, 12:53:49):
06.06. Welches Abenteuer begann heute vor 100 Jahren?

Am 6. Juni 1897 machten sich zwei Maenner von New York aus auf, in einem
Ruderboot den *Atlantik zu ueberqueren*.
Der Norweger Georg Harvo und der US-Amerikaner Frank Samuelson benutzten
ein Boot von 5,50 m Laenge und 1,70 m Breite; es besass weder in Segel
noch einen Mast. In 55 Tagen legten sie 3000 Seemeilen (etwa 5500
Kilometer) zurueck und landeten auf den Scillies, einer Inselgruppe
unmittelbar vor dem britischen Cornwall.


07.08./06. Ein Gl|ckskind!
           Was hat hat Ronald Biggs seinem Sohn alles zu verdanken?

09.06. Fachleute wollen "intelligente Haeuser" herstellen!
       Was soll man sich darunter vorstellen?

10.06. Wie nehmen Fledermaeuse in ihren Hoehlen wahr, dass es Zeit fuer
       die Jagd ist?

-----------------------------------------------------------------------------



Re: Neues Musikpuiz (Pra, 10. Jun 1997, 16:05:31):
~#! rn=Florentine rt=865927159 rg=puiz
~#! tid=865927159
Wer ist Deine Erstie?

Pra. 

-----------------------------------------------------------------------------



Musikpuiz (Pampers, 10. Jun 1997, 16:25:26):
Okay, Leute, es ist wieder Zeit fuer ein Musikpuiz. Aber fuer eins, wo man
auch ne Frage beantworten kann.

1. Wie hiess die Band, die auf dem MG-Treffen in Karlsruhe auftrat?
2. Wie hiessen die Kuenstlernamen der Saenger?
3. Wie hiessen die Saenger mit Mud-Namen?
4. Welches Lied sangen sie?
5. Wer schrieb dieses Lied?

Preis: ein illegal geclonter Joint oder wahlweise eine illegal geclonte
Flasche Flepi.

Pampers. Einsendeschluss: Samstach in acht Tagen... *KNUTSCH*

-----------------------------------------------------------------------------



Re: Musikpuiz (Morgar, 10. Jun 1997, 16:27:03):
~#! rn=Pampers rt=865952726 rg=puiz
~#! tid=865952726
Flepi kann man doch nich trinken. ;-)

Morgar (immer noch etwas mulmig von der Bierprobe am Sonntag)

-----------------------------------------------------------------------------



Re: Brockhaus 24-2 (Jimdigriz, 10. Jun 1997, 23:33:03):
~#! rn=Cauno rt=865940029 rg=puiz
~#! tid=865940029

Zu 7-8. 6.
 Also Ronald Biggs war doch eine dieser Postraeuber,
 die sie nie geschnappt haben, und der ziemlich lange in 
 Brasilien gelebt hat.
 Er hat sogar ein Lied mit den Toten Hosen aufgenommen
 (Carnival in Rio).

Ich vermute mal sein Sohn hat ihm die Flucht ermoeglicht ?

Geruechteweise wurde er ja mittlerweile an GB 
 ausgeliefert...

JdG

-----------------------------------------------------------------------------



Re: Re: Neues Musikpuiz (Florentine, 11. Jun 1997, 10:33:00):
~#! rn=Pra rt=865951531 rg=puiz
~#! tid=865927159
Hab ich das vergessen? Meine Erstie ist Flora. Antworten kann ich aber auch
forwarden.
Flo.

-----------------------------------------------------------------------------



Re^3: Neues Musikpuiz (Pra, 11. Jun 1997, 11:23:18):
~#! rn=Florentine rt=866017980 rg=puiz
~#! tid=865927159
Danke fuer die Auskunft! Inzwischen hat mich aber auch eine hilfreiche
Windel aufgeklaert. Jetzt muss ich wohl auch teilnehmen an diesem Puiz...

Pra.

-----------------------------------------------------------------------------



Re: Verspieltes Quiz II (Dhojakt, 12. Jun 1997, 09:58:06):
~#! rn=Dhojakt rt=864679642 rg=puiz
~#! tid=864679642
Hallo Leute,
nur 3 antworten bisher auf das Quiz? Meine auswahl war wohl net so interessant
wie ich dachte. Wie dem auch sei, ich wollte nur dran erinnern, dass in 3
tagen einsendeschluss ist (weil ich selber das erste verpasst hab).
Also: Fast letzte gelegenheit, die bisherigen einsender haben auch nur (alle
zusammen) die haelfte gewusst...
Tschau dann,
Khidar.

-----------------------------------------------------------------------------



Brockhaus 24-4 (Cauno, 12. Jun 1997, 10:28:23):
07.08./06. Ein Glueckskind!
           Was hat hat Ronald Biggs seinem Sohn alles zu verdanken?

Zunaechst konnte der englische Postraeuber Ronald Biggs (*1930) nach
seiner FLucht nach Brasilien lauf Gesetz nicht ausgeliefert werden, weil
eine Einheimische ein Kind von ihm erwartete. Als zwielichtige Personen
(im britischen Auftrag) Biggs dann 1981 nach Barbados entfuehrten, war es
wiederum sein *Sohn Mike* (*1974), der bei einem Auftritt im
brasilianischen Farnsehen vehement seinen Vater zurueckforderte und einen
empoerten Aufschrei der Oeffentlichkeit ausloeste. Ronald Biggs konnte
zurueckkehren und miterleben, wie Mike eine Art Heintje-Karriere machte
und mehrere goldene Schallplatten ersang. Er ermoeglichte dem inzwischen
mittellosen Vater endlich ein sorgenfreies Leben.



09.06. Fachleute wollen "intelligente Haeuser" herstellen!
       Was soll man sich darunter vorstellen?

Das *"intelligente Haus"* soll, z.B. im Oberstuebchen, einen zentralen
Rechner besitzen, der Heizung, Telefon, Herd, Kuehlschrank, Computer,
Fernseher usw. usw. miteinander verknuepft. Alle irgendwo
eingestoepselten Geraete sollen Rueckmeldungen an die Zentralstelle
geben. So wuerde beim Anstellen des Herdes automatisch die Heizung in der
Kueche niedriger eingestellt, weil der Herd ja Waerme abgibt. Durch das
morgendliche Klingeln des Weckers stellt sich dann die Kaffemaschine an,
fahren die Jalousien nach oben und oeffnet sich das Garagentor. Klingt
praktisch, aber kostet und kostet ...


10.06. Wie nehmen Fledermaeuse in ihren Hoehlen wahr, dass es Zeit fuer
       die Jagd ist?

*Fledermaeuse* verfuegen ueber einen aeusserst sensiblen Drucksensor, der
sehr empfindlich auf Luftdruckschwankungen reagiert. Wissenschaftlern der
Universitaet von Illinois (USA) war aufgefallen, dass desto mehr Insekten
in der Luft waren, je mehr Fledermaeuse ihre Hoehlen tief unter der Erde
verliessen, in denen aber eigentlich konstante Temperatur-, Feuchtigkeits-
und Luftstroemungsbedingungen herrschten. Nur der atmosphaerische Druck
war aussen wie innen gesunken, und die Insekten schwaermen bei niedrigerem
Druck zahlreicher aus. Dafuer haben die Fledermaeuse ein "Naeschen" im
Mittelohr.


11.06. Die gute Butter ...
       Doch was ist am Cholesterin eigentlich so gefaehrlich?


12.06. In welcher Grossstadt ist es fuer alleinreisende Frauen am
       angenehmsten: - in New York
                     - in Rom
                     - in London
                     - in Paris?

-----------------------------------------------------------------------------



Re: Brockhaus 24-4 (Grimmborn, 12. Jun 1997, 11:39:45):
~#! rn=Cauno rt=866104103 rg=puiz
~#! tid=866104103
Zum intelligenten Haus: Lustig wirds erst, wenn das System unter Win95 oder so
laeuft und beim Klingeln des Weckers die Tueren und Fenster verriegeln, beim
Betaetigen der Klospuelung der Fernseher explodiert oder beim Rasieren der
Rasenmaeher mit anspringt...

11.06.: Gefaehrlich ist die Hysterie um das Cholesterin und die dadurch ver-
        ursachten Aengste.
12.06.: Natuerlich in Koeln. Denn nur da gibts richtige Maenner.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Verspieltes Quiz II (Highlander, 12. Jun 1997, 11:56:53):
~#! rn=Dhojakt rt=866102286 rg=puiz
~#! tid=864679642
Hm - zu schwer? Zu unbekannt?
Ich glaube, immerhin Spindizzy und Prince of Persia erkannt zu haben,
aber wohl eher aufgrund dessen, dass davon auch 64er/PC Umsetzungen
existieren.
  HrT

-----------------------------------------------------------------------------



Re: Re: Brockhaus 24-4 (Hardil, 12. Jun 1997, 12:42:15):
~#! rn=Grimmborn rt=866108385 rg=puiz
~#! tid=866104103

Grimmborn schreibt:
>Natuerlich in Koeln. Denn nur da gibts richtige Maenner.

Ein paar Tage vorher und in einer anderen Rubrik schreibt er, dass die Maedels
in .se signifikant huebscher sind.
Jetzt kommt das Puiz.

Was ist richtig:

A) Grimmborn importiert schwedische Maedels nach Koeln?
B) Es wird niemals optimalen Nachwuchs geben, weil Koelner Maenner in .se
niemals Koelner Maenner, sondern immer Koelner Touristen sein werden
C) Grimmborn hat geflunkert ?

Loesungen per Post an Grimmborn mit Cc: Erzmagier.
Oder hier in dieser Zeitung in die Rubrik d.wueste, da, wo der eigentliche
schmarrn hingehoert. Und ist Koeln nicht so etwas wie eine Wueste, zumindest
in kultureller (und laut Grimmboern auch in weiblicher) Sicht?

-Hardil.

-----------------------------------------------------------------------------



Re: Brockhaus 24-4 (Quengistu, 12. Jun 1997, 21:11:38):
~#! rn=Cauno rt=866104103 rg=puiz
~#! tid=866104103
Gefaehrliches Cholesterin?
Hmm, warum eine Substanz giftig sein soll, die der Koerper selbst herstellen
kann, habe ich nie so recht kapiert. Nach einer These, die ich unlaengst
gelesen habe, sei gar nicht das normale Cholesterin, das man mit der Nahrung
aufnimmt, so gefaehrlich, sondern die oxydierte Form, "Oxycholesterin", koenne
bei Verzehr Arteriosklerose beguenstigen. Dieses Oxycholesterin entstuende,
falls das Nahrungsmittel getrocknet und/oder stark erhitzt wird, als Beispiel
war Trockeneipulver genannt.
Gruss, Queng

-----------------------------------------------------------------------------



Re: Re: Brockhaus 24-4 (Patryn, 12. Jun 1997, 21:52:57):
~#! rn=Quengistu rt=866142698 rg=puiz
~#! tid=866104103
ein grosser teil der substanzen, die der koerper herstellt, ist fuer
den koerper giftig. das eine hat mit dem anderen gar nix zu tun.
davon abgesehen: der ueberfluss an einer substanz ist immer giftig
 fuer den koerper, egal wie gesund sie in normalen mengen auch sein mag

------
patryn

-----------------------------------------------------------------------------



Re^3: Brockhaus 24-4 (Mahatmu, 12. Jun 1997, 21:54:40):
~#! rn=Patryn rt=866145177 rg=puiz
~#! tid=866104103
Jo. z.B. kann man leicht an ein paar Eiern zuviel verrecken, weil
der Zellstoffwechsel dann mal eben Pumpe macht, da sie an sich
selbst verrecken. Das koennen die Biologen unter uns sicher noch
genauer auswalzen.

Gloin

-----------------------------------------------------------------------------



Re^4: Brockhaus 24-4 (Schlips, 12. Jun 1997, 21:57:47):
~#! rn=Mahatmu rt=866145280 rg=puiz
~#! tid=866104103
Am einfachsten ist es an Eiern zu verrecken, wenn Salmonellen drin sind
denk ich

Schlips

-----------------------------------------------------------------------------



Re^5: Brockhaus 24-4 (Mahatmu, 12. Jun 1997, 21:58:46):
~#! rn=Schlips rt=866145467 rg=puiz
~#! tid=866104103
Naja, ich dachte eigentlich mehr an Zellstoffwechselgifte, wie
Ammoniak. Aber Salmonellen haben auch was fuer sich. Aber ob die
was mit Cholesterin am Hut haben ?

Gloin

-----------------------------------------------------------------------------



Re^3: Verspieltes Quiz II (Dhojakt, 13. Jun 1997, 01:09:09):
~#! rn=Highlander rt=866109413 rg=puiz
~#! tid=864679642
*Argl*, das haetteste eher per mail schicken sollen, schliesslich ist der
einsendeschluss noch nicht vorbei. Leider muss ich fuer eventuell noch
folgende einsendungen die 2 fragen aus der wertung nehmen.
Tschau dann,
Khidar.

-----------------------------------------------------------------------------



Re^4: Verspieltes Quiz II (Fyt, 13. Jun 1997, 01:16:54):
~#! rn=Dhojakt rt=866156949 rg=puiz
~#! tid=864679642

Naja, da wirst Du Dich nach vorsichtiger Hocchrechnung aber nicht
ueberarbeiten ;-)

Fyt.

-----------------------------------------------------------------------------



Brockhaus 24-5 (Cauno, 13. Jun 1997, 12:30:37):
11.06. Die gute Butter ...
       Doch was ist am Cholesterin eigentlich so gefaehrlich?

*Cholesterin* ist an sich ein unverzichtbarer Bestandteil unserer Nahrung
und bildet den Ausgangsstoff zur Herstellung u.a. von Sexualhormonen,
Vitamin D und Gallensaeure. Der schaedliche Anteil daran ist das
sogenannte LDL (Low Density Lipoprotein = Fetteiweiss in niedriger
Dichte), welches das Herzinfarktrisiko erhoeht. Um den LDL-Anteil im Blut
zu senken, empfiehlt sich nach neuesten Studien, viele Sojaprodukte zu
verzehren. 150 Gramm Tofu und ein halber Liter Sojamilch taeglich reichen
aus. Das Soja-Protein senkt den Blutfettwert um durchschnittlich 13%.


12.06. In welcher Grossstadt ist es fuer alleinreisende Frauen am
       angenehmsten: - in New York
                     - in Rom
                     - in London
                     - in Paris?
In diese vier Staedte schickte die englische Zeitung "Sunday Times" ihre
Testerinnen, die sich alle mit Rucksack und Stadtplan als Touristinnen zu
erkennen gaben. Die groesste Anmache erlebten sie in Rom, aber London war
auch nicht besser. Angenehmer fanden es die Damen in Paris, da versuchten
es die Maenner auf die hoefliche und charmante Tour. Zur allgemeinen
Ueberraschung erwies sich *New York* als eine Stadt, in der sich weibliche
Besucher fast voellig unbelaestigt bewegen koennen.


13.06. 17 und 4. Wo gelten diese Zahlen als Unglueckszahlen?


-----------------------------------------------------------------------------



Re: Brockhaus 24-5 (Dhojakt, 13. Jun 1997, 12:58:09):
~#! rn=Cauno rt=866197837 rg=puiz
~#! tid=866197837
Die 4 symbolisiert in japan den tod, daher sollte man nicht auf die idee
kommen, japanischen geschaeftsfreunden 4teilige sets zu schenken.

-----------------------------------------------------------------------------



Re^5: Brockhaus 24-4 (Raffi, 13. Jun 1997, 13:20:05):
~#! rn=Schlips rt=866145467 rg=puiz
~#! tid=866104103
Noch einfacher geht es mit einem schoenen grossen, gut hartgekochtem Ei in der
Luftroehre.

Grins
H.

-----------------------------------------------------------------------------



Re: Brockhaus 24-5 (Wurzel, 13. Jun 1997, 19:32:17):
~#! rn=Cauno rt=866197837 rg=puiz
~#! tid=866197837
> 13.06. 17 und 4. Wo gelten diese Zahlen als Unglueckszahlen?

bei mir. ich hab mal in einer halben stunde 2000 mark bei 17+4 verloren,
seit dem mag ich nicht mehr...

-----------------------------------------------------------------------------



Re: Re: Brockhaus 24-5 (Escubar, 13. Jun 1997, 20:06:53):
~#! rn=Wurzel rt=866223137 rg=puiz
~#! tid=866197837
Dabei gibts bei BlackJack ne recht sichere Strategie, zumindest wenn man ein
absolutes Gedaechtnix mitbringt ;)

Ist mit Abstand das berechenbarste Casino-Spiel.

Eisbaer Escubar

-----------------------------------------------------------------------------



Re^3: Brockhaus 24-5 (Raffi, 13. Jun 1997, 21:59:54):
~#! rn=Escubar rt=866225213 rg=puiz
~#! tid=866197837
Solange Du weisst wann ein spiel aufhoert, und wann der naechste Kartensatz
anfaengt schon ... ansonnsten hilft nur allgemeine vorsicht.

Gruss
H.
(Schonmal 20K verloren - aber ueber 5 Tage gestreckt)

-----------------------------------------------------------------------------



Aufloesung Musikpuiz (Pampers, 15. Jun 1997, 15:57:21):
Die Aufloesung des grandiosen Musikpuizes, bei dem eine hohe Beteiligung zu
verzeichnen war:

1. Die Band hiess natuerlich "Le Schl^uck's", was leider keiner der Einsender
wusste.
2. Die Kuenstlernamen lauteten: Robbie, Mark und Gary. Nur Robbie wurde von
einem der Einsender erraten. 
3. Im MUD heissen die Jungs Klonk, Oetti/Rantanplan, Pampers.
4. Das zu Gehoer gebrachte Lied hiess "Freundin"
5. Geschrieben und getztet wurde dieses Lied von der Schweizer Band "Die
Aeronauten"


Gewonnen hat *TUSCH* : Anak[yi]n. mit 312.7 Punkten. Herzlichen Glueckwunsch.
Der Preis (ein total illegal geclonter Joint) wurde bereits von ihm geraucht.

An die anderen Teilnehmer sei gesagt: Schade, naechstes mal besser aufpassen.

Pampers. Jubelt Anak[iy]n zu.

-----------------------------------------------------------------------------



Re^3: Brockhaus 24-5 (Li, 16. Jun 1997, 10:13:00):
~#! rn=Escubar rt=866225213 rg=puiz
~#! tid=866197837
Na, auch Rainman gesehen? :-)

-----------------------------------------------------------------------------



Brockhaus 25-1 (Cauno, 16. Jun 1997, 10:52:00):
13.06. 17 und 4. Wo gelten diese Zahlen als Unglueckszahlen?

In *Japan* wird man weder ein Hotelzimmer noch einen Flugzeugsitz mit der
Zahl 4 finden, denn das entsprechende Wort dafuer, "shi", bedeutet auch
"Tod".
In *Italien* gilt nicht Freitag der 13., sondern Freitag der 17. als
Unglueckstag. Das kommt daher, dass man die roemischen Ziffern fuer 17,
also XVII, zum lateinischen Wort VIXI umstellen kann. Und das bedeutet
schlicht: Ich bin tot. Folgerichtig wurd ein Italien auch nie ein Renault
17 verkauft. Das Modell firmierte dort als Renault 117.


14./15.06. Riesenkraken, Seeschlangen, Meeresmonster.
           Was sagt die moderne Wissenschaft dazu?



16.06. Wie koennen Sie sich an der Hebung eines Piratenschatzes
       beteiligen?

-----------------------------------------------------------------------------



Re: Re: Brockhaus 24-4 (Rochus, 16. Jun 1997, 16:18:44):
~#! rn=Quengistu rt=866142698 rg=puiz
~#! tid=866104103
Die Dosis macht das Gift.

-----------------------------------------------------------------------------



Re: Brockhaus 25-1 (Grimmborn, 16. Jun 1997, 19:36:26):
~#! rn=Cauno rt=866451120 rg=puiz
~#! tid=866451120
14./15.06. Riesenkraken, Seeschlangen, Meeresmonster.
           Was sagt die moderne Wissenschaft dazu?
"Hat der Antrag dafuer bei der DFG eine Chance?"

16.06. Wie koennen Sie sich an der Hebung eines Piratenschatzes
        beteiligen?
Mit Hacke und Schaufel, wuerde ich sagen.

GdA

-----------------------------------------------------------------------------



Brockhaus 25-2 (Cauno, 17. Jun 1997, 09:20:39):
14./15.06. Riesenkraken, Seeschlangen, Meeresmonster.
           Was sagt die moderne Wissenschaft dazu?

Ueberraschenderweise verdichten sich fuer die Meeresbiologen die Hinweise,
dass die *Ungeheuer der Ozeane* wahrscheinlich die Darstellungen in
Mythen, Sagen und Augenzeugenberichten vergangener Jahrhunderte noch um
ein Vielfaches uebertreffen. Sicher weiss man inzwischen von der Existenz
des Architeuthis, eines Riesenoktopus, der ueber 20 Meter gross sein soll,
bisher aber noch nie lebend und vollstaendig gesehen wurde. Bruce Robison,
Direktor am Ocean Institute, Pacific Grove, Kalifornien, gelangen
allerdings mit einem Mini-U-Boot Aufnahmen sogenannter Staatsquallen, die
groesser als 40 Meter werden. Und Gewebestueckfunde auf den Bermudas
lassen die Forscher 75 Meter lange Tiefenhaie vermuten.
Bleiben wir also besser beim Schnorcheln!


16.06. Wie koennen Sie sich an der Hebung eines Piratenschatzes
       beteiligen?

Seit kurzem geht das von zu Hause aus, und Sie muessen noch nicht einmal
Ihr Schatzkaestchen leeren.  An der *Londoner Boerse* koennen Sie Aktien
der CMR (Caribbean Marine Recovery) erwerben. Die CMR hat von den
Regierungen der Bermudas und Antiguas eine Konzession, die noch drei Jahre
gueltig ist. Rund um diese Inseln vermuten die geschaeftstuechtigen
Abenteurer etwa 200 Schiffswracks, u.a. ein gutbestuecktes Piratenschiff.
Zunaechst aber steht ein spanisches Schiff auf dem Bergungsprogramm, das
im fruehen 17. Jahrhundert vor den Bermudas gesunken ist und eine grosse
Ladung von Gold und Siber an Bord gehabt haben soll.


17.06. Welche Fluggesellschaft richtete den Passagierverkehr ueber den
       Atlantik ein?

-----------------------------------------------------------------------------



Re^3: Brockhaus 24-4 (Wurzel, 17. Jun 1997, 23:37:05):
~#! rn=Rochus rt=866470724 rg=puiz
~#! tid=866104103
trifft das jetzt auch fuer cola zu? :)

-----------------------------------------------------------------------------



Verspieltes Quiz II - Aufloesung (Dhojakt, 18. Jun 1997, 03:58:28):
So, da ich leider (*seufz*) das letzte gamequiz verpasst hab, stell ich halt
selber mal eins auf:
Leute, die den amiga/8-bit-atari kennen, sind definitiv im Vorteil, auch
wenn ich versucht hab, moeglichst wenig zeug zu nehmen, was nur auf diesen
Rechnern existiert.
Alle Systeme heisst: C64/ST/Amiga/PC.
1. Hier rollt man mit einem kleinen Baellchen zu Musik von Chris Huelsbeck 
durch die Gegend. Die PC-Version ist durch ein einziges 'Feature' versaut.
Wie war der Name, und was war das Feature?
RocknRoll/Am PC scrollte der Screen nicht, es wurde stueckchenweise
umgeschaltet (Da bekommt mans ja mitm Kopf, wenn man das spielen will). (2) 
Nee, Marble Madness hatte keine Musik von Chris Huelsbeck.
Anderthalber Punkt an Tesla. Das Umschalten hat mit der Steuerung zu tun.
(Alle Systeme)
2. Dieses revolutionaere Autorennen (Name?), von dem dann der 3. Teil sogar 
auf den PC umgesetzt wurde, hatte 3 Kurse, in denen Kurven falsch 
angezeigt wurden. Welche?
Lotus/Brasilien, Griechenland, Argentinien (4)
Keiner kennt das mehr? Test Drive wurde mehrfach genannt, aber davon gibts
den 3. Teil NUR aufm PC.
Revolutionaer wars uebrigens wegen der echt schnellen Berg- und Talgrafik
und wegen der gut designten Kurse, die oft ne Ueberraschung hatten.
3. Dieses Ballergame von den Bitmap Bros. gilt auch heut noch als State of
the Art. Wer erinnert sich noch an den Knaller von 1988? Was passierte
ganz am Schluss?
Xenon 2/Weisser Nachleuchtpunkt wie ausgeschalteter alter Fernseher. (2)
X-Out war net von den Bitmap Bros., sondern von Rainbow Arts. Auch wenns
aehnlich heisst. (Amiga/ST)
4. Auch von diesem Grafikknaller gibts 2 Nachfolger. Man zog im Wald herum, 
dann einen Baum hintunter, dann einen Brunnen wieder rauf und dann gings
durchs Schloss zum Fuss des Oberboesewichts. Wie hiess es und das
Programmiererteam?
Shadow of the Beast/Reflections (2)
Psygnosis war nur die Firma, nicht das Programmiererteam. Reflections hatte
so nen schoenen Chip als Logo.
5. Hier konnte man sich schon mal anschauen, wie Flugsimulatoren 10 Jahre
spaeter aussehen (koennen) (Name?). Wodurch konnte man einen 'Schreck fuers 
Leben' davontragen? Uebrigens ist die ganze Landschaft fraktal generiert.
Behind Jaggi Lines oder Rescue on Fractalus (wurde unter 2 Namen
veroeffentlicht)/Durch das Auftauchen eines Aliens vor der Scheibe beim
Einsammeln von Piloten und den bombastischen Krawall, als es diese einschlug
(2) (1984 auf 8-bit-Rechnern)
6. Diese Firma machte eine Adventure-Trilogie, bei der in jedem Teilname das
Wort 'Adventure' vorkam. Wie hiess die Firma und die Trilogie? Uebrigens
gibts noch mehr gute Adventures von denen, zB die Silicon Dreams Trilogie.
Level 9 Computing/Jewels of Darkness (2)
Die Adventures waren uebrigens Colossal Adventure (ein Remake des Colossal
Cave Adventures, dem Urvater aller Adventures), Adventure Quest und Dungeon
Adventure.
Scheint wohl keiner mehr zu kennen. (Alle Systeme)
7. Je nach Schwierigkeitsstufe mehr oder weniger geformte Kloetzchen in
einen tiefen Schacht einsortieren kann eine hektische Beschaeftigung sein.
Wie hiess das 3D-Game und was passierte im Pausenmodus?
Blockout/Kaffeetasse verdeckte Spielfeld (2) (Pfff - C64?, Amiga, PC)
Hier haette ich ja echt mit vielen Einsendungen gerechnet. Nee, Gralkor,
ich zumindest kenn nix, was Tetris heisst und 3D ist. (Alle Systeme)
8. Dies Game gilt als der Vater einer neuen Generation grafischer Hack&Slay-
Rollenspiele. Die Firma wurde ihrem Namen (faster than light-software) mehr
als gerecht, schliesslich erschien nach nicht mal 10 jahren schon der
Nachfolger. Wie hiess das Spiel und wofuer kaempft man eigentlich?
Dungeon Master/Fuer die Wiedervereinigung von Lord Order and Lord Chaos (2)
(ST/Amiga/PC)
9. Hier zog man Kraeutlein sammelnd durch die Gegend und braute
anschliessend in der Kueche mehr oder minder wirksame Sachen zusammen. Im
amerikanischen Fernsehen hatte die Gute sogar eine eigene Sendung, die RTL
mit der Wilden Hilde zu kopieren versuchte. Wie hiess die werte Dame?
Elvira (1) (Alle Systeme)
10. Hier wird ein Fernsehspiel nach Art von Running Man mit operierten
Patienten aufgezogen. Aber Vorsicht, das 'Gehaeuse' der Patienten ist nicht
saeureunempfindlich... Wie hiess es und was war der besondere Spielmodus?
Killing Game Show/Wiedereinstieg im Replay-Modus zu jeder Zeit (2) (Amiga/ST)
11. Eine Bruchlandung auf einem unbekannten Planeten macht keinen Spass,
zumal sich 2 Gruppen heftig bekriegen. War eines der ersten
Vektorgrafikspiele, damals noch nicht mit ausgefuellter Grafik. Wie hiess
es? Nenne Moeglichkeiten, von dort wieder zu verschwinden!
Mercenary/Entweder holt man sich das Schiff, oder man bekommt die Million
Credits zusammen, um sich eins zu leihen. Sorry, ich hab meine KL versiebt,
sonst haette ich das etwas genauer aufgezaehlt. :( (Atari 800, C64, Amiga)
12. Hier konnte man sich mit Munition verschiedenster Sorte eindecken und
hektisch ballernd durch die Gegend ziehen (Ein Autofirejoystick ist eine
WIRKLICHE Hilfe!). Der Nachfolger (auch auf dem PC zu bewundern) ist noch 
besser, nur der 3. Teil faellt etwas ab. Wie hiess das Game und gegen wen
kaempft man eigentlich? Die Songs von Chris Huelsbeck sind wieder mal super
gelungen.
Turrican/The Machine (2) (Alle Systeme)
13. Warum macht es keinen Spass, dieses Trickfilmgame (Name?) zu spielen? 
Los gehts, indem man vor den Schuessen eines Boesewichts Deckung hinter 
einem grossen Stein sucht...
Space Ace/Schrottige indirekte Steuerung (2)
Dragons Lair hab ich auch gelten lassen, da es im Prinzip dasselbe ist.
Netter Aspekt von Lycar: 'Ich nehm an, die Ladezeiten lassen einen in den
Joystick beissen', das gab nen Extrapunkt.
14. Hier zog man mit Schwert aus, durch 3 Welten hindurch Thanatos das
Fuerchten zu lehren. Vor jedem Level verkuendete eine gut(aussehend)e Seele
einige Hinweise. Wie hiess das Game und welche Endmonster tauchten doppelt
auf?
Leander/Giant Spider+Giant Otter (3)
Schade eigentlich, dass das so unbekannt ist, das Spiel war sehr innovativ
und echt gut spielbar. (Amiga only)
15. Hier konnten sich auch chemisch Unbegabte an der Verbindungssynthese
versuchen. Aber Ueberlegung ist vonnoeten, weil es keine Bremse gibt...
Was war es und wer war im Titelbild zu sehen?
Atomix/Einstein (2) (C64/ST/Amiga)
Hat mich echt ueberrascht, dass das so viele kennen. Atomino wars nicht, 
Lycar, macht nur nen halben Punkt, dort synthetisiert man keine echten 
Verbindungen.
16. Bomben legen macht Spass, sofern man fix genug um die Ecke verschwinden
kann. Wie hiess das Game fuer 5 (PC 4) Spieler? Was erhielt der Sieger am
Schluss?
Dynablaster/Pokal (2) (C64/Amiga/PC)
17. In dieser 1:1-Arcadekonversion zieht man besser gleich zu viert los, um 
mit Axt/Schwert/Pfeil/Feuerball (je nach Figur) und Magischen Flaschen
(Zauberer haben hier den durchschlagendsten Erfolg) Monster und Generatoren
zu beseitigen. Was war es und was war das Levelziel? Hatte uebrigens auf dem
Amiga als eines der ersten Sprachausgabe.
Gauntlet (2)/'Reach Exit to next Level' (2) (8Bitter, Amiga, evtl. ST -
muesste ich in die Originalanleitung guggen)
Die grosse Schatzkammer gibts schon, Lycar, aber man hat nicht jedes Level
die Chance, da hinzukommen. Nur so alle 15 Level mal, geschafft hab ichs
aber auch nur hoechst selten.
18. Mal ein Griff nach ganz unten in die Kiste: Wo duelliert man sich auf
Voegeln reitend und was war das besondere an den hoeheren
Schwierigkeitsstufen?
Joust/Aus den Eiern schluepften Voegel der naechsten Stufe, Pterry kam (3)
An das Spiel konnte sich nur noch der Computerdinosaurier Raffi erinnern.
19. In diesen 'Drehverrueckten Welten' soll man Edelsteine sammeln, soviel
man kriegen kann (Name?). Was war die besondere Moeglichkeit an der
Bildschirmdarstellung? Die Amigaversion war wesentlich einfacher.
Spindizzy (Worlds)/Um 90 Grad drehbare 3D-Iso-Ansicht (2) (8Bitter, Amiga)
Nicht wundern, Tesla. Da Highlander das in der MPA gepostet hatte, konnte
ich dir den Punkt fuern Spielname nicht geben.
20. Mal was Schweres: Selbst in Windoof kann man von Monstern bewachte 
Flaechen teilen. Wie hiess denn der Urahn von Atari Games?
Quix (1)
Noch ein Punkt an Raffi allein.
21. Nach was Schwerem mal was Neueres: Hier zieht man mit 2 aus 6 Figuren in
schraeger Draufsicht ballernd durch 4 Welten und aktiviert diverse 'Nodes'. 
Welche Maschine bekaempft man eigentlich? Hat auch Sprachausgabe.
The Chaos Engine (1) (Amiga/PC)
22. Noch was mit Schwert: Durch Dungeons zu Jaffar... Was machte dieses Game
(Name?) so beruehmt? Ich meine nicht das 1-h-Zeitlimit. :)
Prince of Persia/Realistische Animation der Spielfigur (2) 
Wurde nur vonm Highlander in der MPA erkannt. (Alle Systeme)
Nee, Tesla, Dungeon Master mit 1 h Zeitbegrenzung waere net zu schaffen. :)
Ausserdem haette die Antwort nach 8. gehoert.
23. Ballspielen mit Metallkugeln ist nicht so gesund. Lustig war immer der
'Ice cream'-Ruf. Was ist es?
In Speedball 2 (1) haut man sich ne Metallkuller um die Ruebe. (C64/ST/Amiga)
Hat keiner erkannt. Wieso sollte denn ein Flipper ungesund sein?
24. Ein Warenhausangestellter hat es in 50 Leveln nicht leicht. Wurde
etliche Male kopiert und auch als Freeware nachgeschrieben.
Sokoban (1) (C64/PC)
War von mir zu gut versteckt. Ich hab in Highlanders Quiz auch Archon nicht
erkannt, obwohl das eins meiner Lieblingsspiele war.
25. Wer sich an die City of Xebecs Demise erinnert, weiss auch, wo er
eigentlich ist. Was war das besondere an dem Game?
Alternate Reality: The City/Scrollende 3D-Darstellung der Waende, nur die
ersten 2 Teile von 7 wurden jemals programmiert (3)
Das hatte echte scrollende 3D-Grafik 7 Jahre vor DOOM (allerdings nur 90
Grad 'schnappbar'). Und echt stimmungsvolle Athmosphaere: Regen, Wind, 
Gewitter, Sonnenlauf... Und jede Menge unterschiedlicher Musiken. 
(Alle Systeme)

Etliche Fragen waren mit den Originalanleitungen wesentlich leichter zu
beantworten.
Khidar.

-----------------------------------------------------------------------------



Verspieltes Quiz II - Gewinner (Dhojakt, 18. Jun 1997, 04:10:14):
Frage              Raffi Gralkor Lycar  Anatol Tesla
 1. RocknRoll                     0            1.5
 2. Lotus                 0                    0
 3. Xenon (2)                     0            1
 4. Beast                         1            1
 5. Rescue on Fr.                 2
 6. Jewels of D.                               0
 7. Blockout              0                    2
 8. Dungeon Master  2                          0
 9. Elvira                1
10. Killing GS                    1
11. Mercenary                     3
12. Turrican (2/3)        1                    1
13. Space Ace                     2            2
14. Leander
15. Atomix                2       1.5     2
16. Dynablaster                   2            2
17. Gauntlet (2)                  1            2
18. Joust           1             1            0
19. Spindizzy (W.)                1            1
20. Quix            1             0
21. Chaos Engine                  1
22. Prince of P.                               0
23. Speedball (2)
24. Sokoban
25. Alt. Reality
gesamt richtig     7.8%  7.8%    32.3%   3.9%  26.4%
Antworten richtig  100%  66%     78.6%   100%  63%

Sieger ist also eindeutig Lycar, gefolgt von Tesla und Gralkor/Raffi.
Und Raffi und Anatol haben alle abgegebenen Antworten richtig.

-----------------------------------------------------------------------------



Re: Neues Musikpuiz (Flora, 18. Jun 1997, 10:23:21):
~#! rn=Florentine rt=865927159 rg=puiz
~#! tid=865927159
So, hier nun Auswertung und Aufloesung zum Musikpuiz von letzter Woche.
Es haben zwei Leute teilgenommen, naemlich Engywuck und Khidar. Hier also
die Fragen (und Antworten):

> 1. William Shakedbee^H^H^H^Hspeare hat viele Komponisten inspiriert. Nenne
>moeglichst viele Musikstuecke, die nach Werken Shakespeares entstanden sind.

Hier gibt es unglaublich viele Stuecke; die meisten davon sind aber
ziemlich unbekannt. Hier mal nur die bekanntesten Werke:

 1. Hector Berlioz:     "Beatrice et Benedicte" (nach "Viel Laerm um nix")
 2. Lennie Bernstein:   "West Side Story" ("Romeo & Julia")
 3. Dire Straits:       "Romeo and Juliet"
 4. Felix Mendelssohn:  "Sommernachtstraum"
 5. Otto Nicolai:       "Die Lustigen Weiber von Windsor"
 6. Cole Porter:        "Kiss me, Kate" ("Der Widerspenstigen Zaehmung")
 7. Sergej Prokofieff:  "Romeo und Julia"
 8. Henry Purcell:      "The Fairy Queen" ("Sommernachtstraum")
 9. Henry Purcell:      "Der Strum"
10. Giacomo Rossini:    "Othello"
11. Peter Tschaikowski: "Romeo und Julia"
12. Giuseppe Verdi:     "Falstaff" ("Die lustigen Weiber von Windsor")
13. Giuseppe Verdi:     "Othello"
14. Giuseppe Verdi:     "Macbeth"
15. Richard Wagner:     "Das Liebesverbot" ("Masz fuer Masz")

Davon hat Engywuck die Nummern 2, 4, 7, 11 ganz und 13 und 14 halb (ohne
Komponist) gewusst.
 
> 2. Walzer stehen fuer gewoehnlich im 3/4-Takt. Welche bekannten Walzer
>stehen im 4/4-Takt bzw. im 5/4-Takt?
 
Hier ist niemand drauf gekommen: Der Walzer im 4/4-Takt ist der
"Flohwalzer", und als "5/4-Takt-Walzer" wird haeufig der zweite (?) Satz
aus der sechsten Symphonie von Tschaikowski bezeichnet.
 
> 3. Apropos 5/4-Takt: Zaehle moeglichst viele Stuecke auf, die im 5/4-Takt
>stehen.

Hier gibt es angeblich ein noch unvollendetes Werk von Engywuck.
Ausserdem (neben obigem Walzer) noch (mindestens) die folgenden Stuecke:

 "Take Five" (Komponist faellt mir gerade nicht ein),
 "Mars" aus den "Planeten" von Gustav Holst,
 das Volkslied "Prinz Eugen der edle Ritter".
 
> 4. Und wie sieht's aus mit Stuecken im 7/4-Takt?

Da kam von Engywuck das Stueck "Excalibur" von der Gruppe Pendragon;
daneben hab ich noch folgende Stuecke im Angebot:

 das Finale aus dem "Feuervogel" von Igor Stravinski,  
 "Straight to my Heart" von Sting,
 der letzte Satz aus dem ersten Klavierkonzert von Dmitri Schostakowitsch  
 (letzteres hab ich gestern zufaellig zum ersten Mal im Radio gehoert).

> 5. Mehrere Komponisten haben Stuecke geschrieben, in denen das Motiv
>B-A-C-H vorkommt. Nenne moeglichst viele von ihnen (Komponisten und
>Stuecke).

Auch hier gibt es angeblich ein Stueck von Engywuck mit B-A-C-H drin,
daneben noch den Schluss der "Kunst der Fuge" von J.S.B.; auch das wusste
Engywuck. Ausserdem gibt es noch Orgelwerke ueber B-A-C-H von Liszt,
Mendelssohn und von Reger, aber ich bin sicher, dass das nicht die
einzigen sind.

> 6. Welche Komponisten gibt es noch, deren Namen sich "musikalisch
>buchstabieren" lassen? Gibt es auch hier Musikstuecke, die auf diesen
>"Namens-Motiven" aufbauen?
 
Hier hat Khidar den kuerzlich gestorbenen amerikanischen Komponisten John  
Cage genannt; ob es ueber seinen Namen ein Stueck gibt, weiss ich nicht.
Daneben gibt es meines Wissens nur noch den Daenen Niels Gade, der von
Robert Schumann "vertont" worden ist (und zwar in dem "Nordischen Lied"
aus dem "Album fuer die Jugend").
Vielleicht kann man in dieser Rubrik auch noch Dmitri Schostakowitsch
anfuehren, der immerhin seine Initialen ("D-Es-C-H") als Leitmotiv in
seinem zehnten (?) Streichquartett verwendet hat.

So, damit stammen die eindeutig meisten richtigen Antworten von Engywuck,
Khidar ist noch auf einem guten zweiten Platz gelandet. Da mir beide
Spieler levelmaessig haushoch ueberlegen sind, koennen sie sich ihre
Gewinne gefaelligst selber ermetzeln, dafuer duerfen sie sie sich auch
selber aussuchen!

Bis zum naechsten Puiz dann,
Flo*

-----------------------------------------------------------------------------



Re: Re: Neues Musikpuiz (Grimmborn, 18. Jun 1997, 10:41:00):
~#! rn=Flora rt=866622201 rg=puiz
~#! tid=865927159
"Take five" ist natuerlich von Dave Brubeck (wie schreibt der sich noch?)
Nicht alles, was Walzer heisst ist auch einer, es gehoert meines Wissens zur
Definition des Walzers, dass er im 3/4 Takt ist, weil die Taenzer sonst
stolpern.
Ausser J.S.B. gibt es einen ganzen Bach-Clan, deren Namen soich natuerlich
ebensogut musikalisch buchstabieren lassen, einer, der mir spontan einfaellt
ist da Phillip Emmanuel Bach.
Es gibt da so eine fiese Geigenetuede im 7/4 Takt. Den Komponisten hab ich
dermassen gehasst, dass ich den Namen verdraengt habe, und hier kann ich nicht
nachsehen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Neues Musikpuiz (Highlander, 18. Jun 1997, 10:51:41):
~#! rn=Grimmborn rt=866623260 rg=puiz
~#! tid=865927159
He, Du spielst auch Geige? Was man aus der MPA nicht
alles lernen kann :>
   HrT

-----------------------------------------------------------------------------



Re^4: Neues Musikpuiz (Grimmborn, 18. Jun 1997, 10:53:14):
~#! rn=Highlander rt=866623901 rg=puiz
~#! tid=865927159
Nope, ich sitze vor einem Rechner und aergere mich, weil mein Programm nicht
ganz so tut wie ich will.
Wenn ich Geige spielen wuerde wuerden sich die Kollegen hier ganz schoen
beschweren...

GdA

-----------------------------------------------------------------------------



Re^5: Neues Musikpuiz (Highlander, 18. Jun 1997, 10:57:46):
~#! rn=Grimmborn rt=866623994 rg=puiz
~#! tid=865927159
Ahem. Das meinte ich auch nicht als "im Moment"-Frage, sondern als
"Du kannst es? Und tust es vielleicht auch ab und an, wenn Du nicht gerade
in der Arbeit sitzt?" oder so aehnlich.
  HrT. Sich sicher, dass man auch das gut missverstehen kann, wenn man nur
      will

-----------------------------------------------------------------------------



Re^6: Neues Musikpuiz (Grimmborn, 18. Jun 1997, 11:00:27):
~#! rn=Highlander rt=866624266 rg=puiz
~#! tid=865927159
Tja, wenn ich Geige spielen _koennte_ waere ich reich und beruehmt und wuerde
Platten bespielen (und zwar keine Festplatten...). Ich persoenlich waere
vorsichtig zu postulieren, dass es mehr als... sagen wir 100 Leute gibt, die
wirklich Geige spielen koennen.
Das sind immer noch mehr als Leute die Klavier spielen koennen, aber das liegt
in der Natur der Sache. Ich hab noch auf keiner Aufnahme und in keinem Konzert
ein wirklich gestimmtes Klavier erlebt.

GdA

P.S. Bevor das hier endlos weitergeht: Ja, ich hab mal Geigenunterricht
gehabt. Und zwar 12 Jahre lang.

-----------------------------------------------------------------------------



Re^3: Brockhaus 24-4 (Quengistu, 18. Jun 1997, 22:49:56):
~#! rn=Patryn rt=866145177 rg=puiz
~#! tid=866104103
Okay, okay, ich habe mich mal wieder zu schwammig und zu knapp ausgedrueckt.
Ich formuliere um:
Ich habe nie kapiert, wieso eine Substanz schaedlich sein soll, die jede Zelle
des Koerpers selbst herstellen kann und die in nahezu jeder Zellmembran
vorhanden sein muss, und die Ausgangssubstanz ist fuer eine Vielzahl von
weiteren essentiellen Verbindungen, und von der der Koerper so ungefaehr
doppelt so viel selbst herstellt, wie er bei ausgeglichener Ernaehrung aus der
Nahrung aufnimmt.
Gut, sicher gilt wie immer das alte Paracelsus-Zitat, dass die Dosis das Gift
mache, aber alten Leuten das Fruehstuecksei zu verbieten, nur weil ihr
Cholesterinspiegel erhoeht ist, halte ich fuer Panikmache, denn
paradoxerweise ist der Einfluss einer cholesterinarmen Diaet auf die
Blut-Cholesterin-Werte langfristig gesehen minimal. Wer seinen
Cholesterin-Spiegel ueber seine Ernaehrung senken will, sollte wie auf dem
Kalenderblatt empfohlen, Soja-Produkte essen oder mehr Ballaststoffe.
Den Einwand von Patryn, dass das Selbst-Herstellen-Koennen und das Giftig-Sein
nichts miteinander zu tun haben, weise ich zurueck. Wenn ein Organismus
Substanzen herstellt, die fuer ihn toxisch sind, muss er sie entweder
umwandeln koennen in weniger toxische, oder er muss sie ausscheiden koennen,
oder er muss sie auf Organe beschraenken koennen, wo sie keinen Schaden
anrichten. Wenn er keines davon kann, wird der Organismus ueber kurz oder lang
sterben.

Ich hoffe, ich habe mich nicht mehr so missverstaendlich ausgedrueckt.
Gruss, Queng

PS: Wie waere es mit einer Rubrik Wissenschaft? ;-) -- Nein, nicht ernst
gemeint, nicht noch mehr Rubriken.

-----------------------------------------------------------------------------



Re^4: Brockhaus 24-4 (Gloin, 19. Jun 1997, 09:41:46):
~#! rn=Quengistu rt=866666996 rg=puiz
~#! tid=866104103
Der letzte Absatz ist echt gut.
... wenn er keines davon kann .... ueber kurz oder lang sterben ...
Oh, so blicke Dich um, grosser Queng. Ich seh hier niemanden mit 100%-Nieren
oder einer 100%-Leber (mich schon gar net) ... daraus folgt:
Die Leute fallen um, wie die Fliegen. Spaetestens nach 70 Jahren.

Gloin

-----------------------------------------------------------------------------



Re^5: Brockhaus 24-4 (Quengistu, 19. Jun 1997, 19:56:20):
~#! rn=Gloin rt=866706106 rg=puiz
~#! tid=866104103
Seufz. Setze "sterben" = "aussterben". Okay, ich geb's auf. Ich schaffe es
wohl immer wieder mich so auszudruecken, dass man mich missverstehen muss.
Quengistu, Held der unfreiwilligen Komik

-----------------------------------------------------------------------------



Re^5: Brockhaus 24-4 (Grimmborn, 19. Jun 1997, 20:15:59):
~#! rn=Gloin rt=866706106 rg=puiz
~#! tid=866104103
Stimmt nicht.
Meine Omma ist 74 Jahre alt und noch nicht umgefallen.

Grimmborn der Atheist stellt die Frage nach dem Grund als Quiz.

-----------------------------------------------------------------------------



Puiz einmal anders. (Pampers, 20. Jun 1997, 10:35:58):
Hier mal ein paar Fragen, die mich interessieren, deren Antwort ich aber
selbst nicht weiss.
Fuer eine plausible Erklaerung der Fragen setze ich als Preis hmmm aeh sagen
wir ein beliebiges Getraenk in einer MG Kneipe DEINER! Wahl aus. :-)

1. Wieso ist von allen Elementen im Periodensystem ausgerechnet TEchnetium
(Ordnungszahl 43) so bedauernswert instabil? 1-42 haben stabile Isotope,
44-paarundneunzig auch. Wieso Tc nicht?

2. Wozu braucht man eine Prostata? Wieso haben Frauen sowas nicht? (oder haben
sie?)

3. Wieso wachsen Haare auf dem Kopf lang, uebrige Koerperbehaarung
(Achselhaare, Augenbrauen, Schamhaare erc.) jedoch nur bis zu einer bestimmten
Laenge? ODer anders gefragt: Woher weiss die Haarwurzel, wie weit die Spitze
entfernt ist?

So im Moment faellt mir nicht mehr ein,


Pampers. Neugierig. :-)

-----------------------------------------------------------------------------



Re: Puiz einmal anders. (Nirdavo, 20. Jun 1997, 12:00:05):
~#! rn=Pampers rt=866795758 rg=puiz
~#! tid=866795758
  Hm, warum Technetium nicht so furchtbar stabil ist, weiss ich zwar auch
nicht (btw, das laengstlebige Isotop hat eine Halbwertszeit in der
Groessenordnung von 10^6 Jahren), aber es ist beileibe nicht das einzige
Element, das nicht stabil ist, denn auch das Promethium (OZ: 61) ist auch
nicht stabil. Die HWZ sehen da uebrigens auch ganz aehnlich aus. Den Grund
fuer diese Instabilitaet wuerde ich mal im Kernbau suchen, denn wie wohl
allgemein bekannt sein duerfte, gibt es auch besonders stabile Anordnungen von
Protonen und Neutronen (siehe Blei). Aber da soll sich lieber jemand drueber
auslassen, der wirklich was davon versteht.
  Die Prostata ist eine Druese, deren Sekret dazu da ist, das Sperma in eine
verwendbar fluessige form zu bringen. Da so was bei Frauen im Allgemeinen
nicht so dringend notwendig ist, besitzen sie das Ding normalerweise auch
nicht :-)

      Nirdavo, extra fuer Hobbygynaekologe Pampers

-----------------------------------------------------------------------------



Brockhaus 25-5 (Cauno, 20. Jun 1997, 12:36:56):
17.06. Welche Fluggesellschaft richtete den Passagierverkehr ueber den
       Atlantik ein?

Die *Pan American Airways* eroeffneten am 17. Juni 1939 die Strecke New
York-Lissabon. Dies war fuer viele Deutsche der letzte Fluchtweg vor den
Nazis.
Eigentlich haette man erwarten koennen, dass es die Deutsche Luft Hansa
gewesen waere. Denn bis Herbst 1938 hatte sie schon 28 Versuchsfluege
ueber den Atlantik unternommen, die britische Imperial Airways zwoelf, die
Pan Am erst sechs.


18.06. \bergewichtige, weghren! Wem verdanken wir die Praline?

19.06. Ja, ja, die Liebe ...
       Welcher Herrscher kroente eine Tote zur Koenigin?

20.06. Aus welchen Rosen wird Rosenoel gewonnen?


-----------------------------------------------------------------------------



Re: Puiz einmal anders. (Engywuck, 20. Jun 1997, 19:43:12):
~#! rn=Pampers rt=866795758 rg=puiz
~#! tid=866795758
Die Antwort zu Frage 1 ist in der sog. "Mattauchschen Isobarenregel"
begruendet. Sie besagt, dass es kein Paar stabiler Isobaren gibt, deren Kerne
nur um eine Einheit voneinander verschieden sind. Zur Erklaerung:
Atomkerne bestehen aus Protonen (positiv geladen) und Neutronen (elektrisch
neutral). Die Gesamtzahl aus Protonen und Neutronen eines Atoms wird
"Massenzahl" genannt, die Anzahl der Protonen "Ordnungszahl". Die Anzahl der
Protonen im Atomkern definiert das Element. So hat Kohlenstoff 6 Protonen im
Kern und Wasserstoff 1 Proton. Die Anzahl der Neutronen im Kern ist etwas
variabler. So gibt es Kohlenstoffatome mit 6,7 und 8 Neutronen im Kern, sowie
Wasserstoffatome mit 0, 1 und 2 Neutronen.
Die in der Regel angesprochenen "Isobare" sind nun Atome mit gleicher
Massenzahl, aber verschiedenen Protonenzahlen im Kern. Aus der Regel folgt,
dass z.B. von den Elementpaaren Argon(mit Ordnungszahl 18 und Massenzahl 40)
und Kalium(mit Ordnungszahl 19 und Massenzahl 40) nur eines beider Atome
stabil sein kann, das andere ist Radioaktiv. 
Damit ist nun auch erklaerbar,  dass die Elemente 43 und 61 (Technetium und
Prometium) nicht in stabiler Form vorliegen, obwohl sie eine relativ niedrige
Kernladung besitzen: Die Nachbarelemente (d.h. diejenigen, die sich um eine
Ordnungszahl zu Element 43 bzw. 61 unterscheiden) sind bereits so "dicht" mit
stabilen Elementen besetzt, dass fuer die beiden erwaehnten Elemente einfach
keine stabile Kombination aus Protonen und neutronen mehr moeglich ist.
Eine Ausnahme von dieser Regel bildet ein Antimon/Tellur-Paar, wobei man sich
nicht sicher ist, ob nicht eines der beiden Atoe doch instabil ist, mit einer
sehr langen Halbwertszeit.

So. Nachzulesen in einschlaegigen Fachbuechern der Chemie und Physik.

Engy*, Chemiker

-----------------------------------------------------------------------------



Re: Re: Puiz einmal anders. (Ratz, 21. Jun 1997, 14:14:02):
~#! rn=Engywuck rt=866828592 rg=puiz
~#! tid=866795758
danke engy fuer deine Muehe, interessant ist es jetzt nur noch die Begruendung
fuer die gueltigkeit der besagten Regel zu erfahren, wenn das mit einfachen
worten moeglich ist!
Danke im Voraus

Ratz

-----------------------------------------------------------------------------



Re^3: Puiz einmal anders. (Engywuck, 21. Jun 1997, 19:28:14):
~#! rn=Ratz rt=866895242 rg=puiz
~#! tid=866795758
Die Begruendung kenn ich auch nicht, da muesste man vielleicht mal nen
Kernphysiker fragen...

Engy*

-----------------------------------------------------------------------------



Re^4: Puiz einmal anders. (Cauno, 23. Jun 1997, 12:06:50):
~#! rn=Engywuck rt=866914094 rg=puiz
~#! tid=866795758
Frag dann auch mal nach der Begruendung, warum Newtons Axiome sichtig sind.
Das interessiert mich schon lange ... (Eigentlich sind sie es ja nicht, die
Quantenmechanik sagt ja wieder was anderes) 

Naja, vielleicht laesst sich diese Regel ja doch noch durch ein anderes Gesetz
"erklaeren" (Wenn es jemand findet ...) . Ansonsten muessen wir es mal wieder
empirisch hinnehmen, wie schon so vieles vorher in der Physik.

Womit wir wieder bei der Frage waeren: Warum bin ich eigentlich hier?

C. No

(Ich kann mir denken, was darauf wieder fuer Antworten kommen ...)

-----------------------------------------------------------------------------



Brockhaus 26-1 (Cauno, 23. Jun 1997, 12:25:08):
18.06. Uebergewichtige, weghoeren! Wem verdanken wir die Praline?

Namensgeber war Cesar de Choiseul, Graf von Plessis-Praslin (*1598,
+1675), Feldmarschall und Minister des Sonnenkoenigs Ludwig XIV. Dass er
dem Menschheitsgedaechtnis erhalten blieb, verdankt er allerdings weder
seiner staatsmaennischen Klugheit noch seinen militaerischen erfolgen: Er
verdankt es vielmehr seinem Koch, der ein *Konfekt* aus Mandeln und Zucker
herstellte. Ein Nachfahre Choiseuls namens Etienne Francois war uebrigens
Guenstling Madame Pompadours (*1721, +1764), der Maetresse Ludwigs XV.
Eine genussfreudige Familie!


19.06. Ja, ja, die Liebe ...
       Welcher Herrscher kroente eine Tote zur Koenigin?

*Koenig Pedro I.* von Kastilien und Leon (*1334, + 1369). Als er noch der
junge Infant Dom Pedro war, verliebte er sich in die schoene Dame Inez de
Castro (*um 1320, +1355) und heiratete sie heimlich. Aber die Verbindung
und moegliche Nachkommen daraus passten nicht ganz in die politische
Landschaft. Man riet Pedros Vater, Alfons XI., Inez toeten zu lassen, und
der schaute mal kurz weg. Nach dem Tod seines Vaters raechte sich Pedro,
indem er den Moerdern seiner Frau das Herz herausreissen liess. Dann liess
er Inez exhumieren, praechigst angekleiden, neben sich auf den Thron
setzen und zur Koenigin kroenen. Alle Wuerdentraeger mussten ihr die Hand
kuessen und sie wie eine Lebende behandeln.


20.06. Aus welchen Rosen wird Rosenoel gewonnen?

Das beste und teuerste *Rosenoel* stammt aus Bulgarien und der Tuerkei und
wird aus den Blaettern der Damaszenerrose gewonnen. Fuer ein Gramm der
koestlich riehenden Substanz werden bis zu fuenf Kilogramm Bluetenblaetter
benoetigt. Entsprechend teuer ist sie: Ein Gramm kostet etwa 40 DM.
Weniger begehrt, und nur halb so teuer, sind Rosenoele aus Marokko und
Frankreich, wo man die Sorte Centifolia anbaut, die meist eher zur
Herstellung von Rosenwasser verwendet wird.


21./22.06. Neben ihm ist Karl May ein Gelegenheitsschreiber.
           Wer gilt als der produktivste Schriftsteller der Weltliteratur?

23.06. Ehre, wem Ehre gebuehrt. Wie gedachte das University College
       Hospital in London eines Maezens?

-----------------------------------------------------------------------------



Re^5: Brockhaus 24-4 (Kretek, 23. Jun 1997, 13:50:49):
~#! rn=Schlips rt=866145467 rg=puiz
~#! tid=866104103
Was, an Eiern kann man jetzt auch schon verrecken?
> KreteK denkt ueber eine Amputation nach.

K.

-----------------------------------------------------------------------------



Win95-CD (Catweazle, 23. Jun 1997, 13:59:41):
Hi!

Neulich hab ich folgende Geschichte gehoert:

Ein Bekannter hat auf seinem Rechner Windows 95 installiert, sogar von
einer Original-Win95-CD. Nun, irgendwann ist er aus irgendeinem Grund auf die
wahnwizige Idee gekommen, die CD in die Mikrowelle zu legen. Nach ein paar 
Sekunden hat er sie wieder rausgenommen, er sagte sie waere ungewoehnlich 
schwer und kalt(!). Dann hat er auf der CD eine Inschrift gesehen. Auf
dem inneren Rand stand folgende Inschrift, die er nicht verstanden hat:


4F6E65204F5320746F2072756C65207468656D20616C6C2C204F6E65204F5320746
F2066696E64207468656D2CDA4F6E65204F5320746F206272696E67207468656D20
616C6C20616E6420696E20746865206461726B6E6573732062696E64207468656D

Nun, wer kann mir sagen, was das bedeutet soll. Wers rauskriegt, darfs 
hier veroeffentlichen.

Yours truly,
     Catweazle

PS: Don't try this at home! ;-)

-----------------------------------------------------------------------------



Re: Win95-CD (Phobos, 23. Jun 1997, 16:22:14):
~#! rn=Catweazle rt=867067181 rg=puiz
~#! tid=867067181
One OS to rule them all, One OS to find them,
One OS to bring them all and in the darkness bind them

i.a. Mars

-----------------------------------------------------------------------------



Wer bin ich? (Thasco, 23. Jun 1997, 20:01:54):
"Ich gehoere zu den Leuten, die nicht nur gerne Musik hoeren, sondern auch
schreiben. Geboren wurde ich im 19. Jahrhundert. Obwohl ich ich schon als
junger Mensch mit komponieren anfing, langweilte es mich doch nach einer
gewissen Zeit, ewig nur diese 
Toene zu schreiben. Daher entschied ich mich, etwas anderes zu komponieren:
naemlich Essen! Mit 40 Jahren hoerte ich mit meiner ersten Leidenschaft, der
Musik, auf und fing mit dem Kochen an.
Ich bin der Erfindert einer beruehmten Nachspeise.
Wer bin ich?
Und: Was fuer einen Nachtisch habe ich erfunden?
Kleiner Hint: Ein Maerchen habe ich vertont! Es geht da um eine
Verwechslung..."

Gruss

Thasco, Diakon

-----------------------------------------------------------------------------



Brockhaus 24-2 (Cauno, 24. Jun 1997, 10:47:01):
21./22.06. Neben ihm ist Karl May ein Gelegenheitsschreiber.
           Wer gilt als der produktivste Schriftsteller der Weltliteratur?

Der spanische Dichter *Lope de Vega* (*1562, +1635), der in Spanien als
der genialste Dichter seines Landes angesehen wird. Nach eigenen Angaben
verfasste er 1500 Dramen, von denen 500 erhalten sind. Es sind zumeist
Ritter, Schaefer-, Verwicklungs- und Mantel- und Degenstuecke. Daneben
schrieb er auch Sonette, Liebesgedichte, Lieder, Romane, theoretische
Abhandlungen zu Theater und Geschichte usw. usw. Er hatte in seinem Leben
zahlreich Liebesabenteuer, war mehrfach verheiratet, offizieller
Flottendichter bei der ungluecklichen Exkursion der spanischen Armada
gegen England, und er wurde 1614 noch Priester, bereute aber erst kurz vor
seinem Tode sein suendiges Leben.


23.06. Ehre, wem Ehre gebuehrt. Wie gedachte das University College
       Hospital in London eines Maezens?

Der Mitbegruender des College, der Philosoph *Jeremy Bentham* (*1748,
+1832), Begruender des Utilitarismus, vermachte sein gesamtes Vermoegen
der Klinik. Einzige Bedingung war, dass man seinen Koerper einbalsamiere
und an den Sitzungen des Praesidiums teilnehmen lasse. Der konservierte
Leichnam wurde eingekleidet, bekam eine Wachsnachbildung von Benthams
Kopf, einen Hut aufgesetzt und seinen Spazierstock in die Hand. Dann
setzte man ihn in einen Kolzkasten mit Glastueren und liess ihn, bei
geoffneten Tueren, die folgenden 92 Jahre an saemtlichen Sitzungen
teilnehmen.


24.06. Wahrlich kein Chopper! Wer baute das erste Motorrad?


-----------------------------------------------------------------------------



Re: Win95-CD (Li, 24. Jun 1997, 10:59:44):
~#! rn=Catweazle rt=867067181 rg=puiz
~#! tid=867067181
Ungewoehnlich schwer und kalt?
Da wuerde ich mal auf folgendes tippen:
Ein System sie alle zu knechten.
Ins Dunkle zu treiben undewig zu binden.
Im Lande Microsoft, wo die Schatten drohn.
(oder so aehnlich)?

-----------------------------------------------------------------------------



Re: Brockhaus 26-1 (Hardil, 24. Jun 1997, 11:28:06):
~#! rn=Cauno rt=867061508 rg=puiz
~#! tid=867061508
21./22.06. Neben ihm ist Karl May ein Gelegenheitsschreiber.
           Wer gilt als der produktivste Schriftsteller der Weltliteratur?

Grimmborn der Atheist. Wer sonst?

-Hardil. NNN.

-----------------------------------------------------------------------------



Re: Re: Win95-CD (Catweazle, 24. Jun 1997, 16:15:11):
~#! rn=Phobos rt=867075734 rg=puiz
~#! tid=867067181
Korrekt :)
Hier das Original:

 
Recently one of my friends, a computer wizard, payed me a visit. As we were
talking I mentioned having recently installed Windows 95 on my PC and that I
am very happy with this operating system. I also showed him the Windows 95
CD, to my surprise he threw it into my micro-wave oven and turned on the
oven. Instantly I got very upset, because the CD had become precious to me,
but he said: 'Do not worry, it is unharmed.' After a few minutes he took the
CD out, gave it to me and said: 'Take a close look at it.' To my surprise
the CD was quite cold to hold and it seemed to be heavier than before. At
first I could not see anything, but then on the inner edge of the central
hole I saw an inscription; an inscription finer than anything I have ever
seen before. The inscription shone piercingly bright, and yet remote, as if
out of a great depth:

     4F6E65204F5320746F2072756C65207468656D20616C6C2C204F6E65204F5320746
     F2066696E64207468656D2CDA4F6E65204F5320746F206272696E67207468656D20
     616C6C20616E6420696E20746865206461726B6E6573732062696E64207468656D

'I cannot understand the fiery letters,' I said.
'No,' he said 'but I can. The letters are Hex, of an ancient mode, but the
language is that of Microsoft, which I shall not utter here. But in common
English this is what it says:

                One OS to rule them all, One OS to find them,
           One OS to bring them all and in the darkness bind them
---

YTC

-----------------------------------------------------------------------------



berichtigung zu wer bin ich! :) (Thasco, 25. Jun 1997, 16:36:15):
Naja, da hat sich der Verfasser selbst etwas vertan! :)
Also, geboren wurde der Komponist im 18. Jhd. :0 Sorry, aber das kommt davon,
wenn man zuviel Musikwissenschaft studiert! :))

Gruss
Thasco, Diakon (ob ich bei Wargon beantragen soll, dass ich der neue Kuester
werde? :))

-----------------------------------------------------------------------------



Brockhaus 26-4 (Cauno, 26. Jun 1997, 10:53:21):
24.06. Wahrlich kein Chopper! Wer baute das erste Motorrad?

*Gottlieb Daimler* (*1834, +1900) und sein Freund *Wilhelm Maybach*
(*1846, +1929). Nachdem ihnen 1885 der Bau eines verbesserten Einzylinder-
Viertaktmotors mit Ventilsteuerung (264 cm^3, 0,5 PS bei 600 U/min.)
gelungen war, suchten sie ein dafuer geeignetes Gefaehrt. Neben der
Kutsche war das gebraeuchlichste das Fahrrad. Da sich das Hochrad nicht
gerade fuer den Einbau eines Motors eignete, nahm Daimler das gute, alte
Laufrad des Barons von Drais von 1817 zum Vorbild. So entstand dann noch
im gleichen Jahr der "Petroleum-Reitwagen", ein Ungetuem mit zwei
Stuetzraedern. Es war reichlich plump, aber weder Daimler noch Maybach
konnten Fahrrad fahren.


25.06. Wie stark war eigentlich August der Starke?


26.06. Was ist fuer Babys nahrhafter:
       - Muttermilch
       - Avocados?


-----------------------------------------------------------------------------



Brockhaus 26-5 (Cauno, 27. Jun 1997, 13:39:02):
25.06. Wie stark war eigentlich August der Starke?

Seinen *Beinamen* verdankt der saechsische Kurfuert und polnische Koenig
nicht nur seinen kraftmeierischen Kunststueckchen. Gewiss, er drueckte
Becher zu Schrott, zerbrach Hufeisen wie Salzstangen und hielt z.B. einen
Jesuitenpater am ausgestreckten Arm zum Fenster hinaus. Stark war aber vor
allem seine maennliche Potenz. 354 Kinder soll er gezeugt haben. Unter
andern vergnuegte er sich besonders gern mit den beruehmt schoenen
saechsischen Maedels. So hiess auch die Elbbruecke vor dem Dresdner
Schloss "Dimitroff-Bruecke", da der barocke Herrscher auf dem Nachhauseweg
seinen Blick ueber das Volk schweifen liess und seine Gefolgschaft anwies:
"Die mit roff ..., die mit roff ..."


26.06. Was ist fuer Babys nahrhafter:
       - Muttermilch
       - Avocados?

Die *Avocado* enthaelt die dreifache Menge der Vitamine A, B und C, die
doppelte Menge an Eiweiss, ist dreimal fetter als Muttermilch, hat ein
Vielfaches an Kohlehydraten und doppelt soviel Energiewert.
Damit hat sich's dann allerdings: All die anderen schuetzenden und
immunisierenden Funktionen der Muttermilch kann die Frucht des
suedamerikanischen Lorbeergewaechses Persea americana nicht uebernehmen.


27.06. Wer den "Idiotentest" entwickelte, wollen wir gar nicht wissen.
       Aber wer schuf den Intelligenztest?

-----------------------------------------------------------------------------



Brockhaus 27-1 (Cauno, 30. Jun 1997, 13:30:38):
27.06. Wer den "Idiotentest" entwickelte, wollen wir gar nicht wissen.
       Aber wer schuf den Intelligenztest?


Der erste, der ein Testverfahren zur *Intelligenzpruefung* schuf, war der
franzoesische Experimentalpsychologe Alfred Binet (*1857, +1911), der es
1905 fuer Kinder und Jugendliche erarbeitet.
Die heutzutage uebliche Testform ist eine Weiterentwicklung und berechnet
den sogenannten Abweichungs-Intelligenzquotienten. Sein Mittelwert
betraegt 100, und die fuer Sie interessanten Werte der Staffelung ergeben:
16 Prozent der Bevoelkerung haben einen IQ von 110-119 (gut!), 7 Prozent
liegen zwischen 120-129 (sehr gut!!), 2 Prozent haben einen IQ von 130 und
mehr (hervorragend!!!).
Aber die Intelligenzkriterien sind mehr als problematisch und sagen ueber
viele Talente und Faehigkeiten gar nichts aus.


28./29.06. Zwei Jahre nach dem Reichstag: Womit wurde Christo bekannt?

Der als "Verpackungskuenstler" nur unzureichend charakterisierte Bulgare
*Christo Javacheff* (*1933) machte erstmals 1962 auf sich aufmerksam.
Ein Jahr nach dem Bau der Mauer versperrte er eine Strasse im Pariser
Quartier Latin mit einer vier Meter hohen Wand aus Oelfaessern. Die
Publicity war ihm sicher: Der Verkehr brach zusammen.

30.06. Am 30. Juni 1908 konnte man in England nachts draussen
       die Zeitung lesen. Was war passiert?


-----------------------------------------------------------------------------



Re: Re: Brockhaus 27-1 (Asmodis, 30. Jun 1997, 20:18:47):
~#! rn=Caradhras rt=867692508 rg=puiz
~#! tid=867670238
Ich dachte gerade zu lesen: 'Hab das mal mit 5 Jahren gelesen'  :) ....

-----------------------------------------------------------------------------



Re^3: Brockhaus 27-1 (Flavia, 30. Jun 1997, 20:20:05):
~#! rn=Asmodis rt=867694727 rg=puiz
~#! tid=867670238
Oops. Konntest Du da noch nicht lesen?

Flav

-----------------------------------------------------------------------------



Re: Brockhaus 27-1 (Caradhras, 30. Jun 1997, 20:27:01):
~#! rn=Cauno rt=867670238 rg=puiz
~#! tid=867670238
Zum Intelligenztest:

Das stimmt meines Wissens nicht mehr ganz, es sind 3 Prozent, die
ueber 130 liegen, und das in Deutschland. Ab 150 faengt die
Definition von Genie an, Goethe hatte etwa 180, Jesus soll
200 gehabt haben, im Guinessbuch steht eine Schriftstellerin drin,
ich glaube eine Amitante wars, mit einem IQ von 231. (Hab das mal
vor 5 Jahren gelesen, kann auch 232 sein ;-).
Intelligenz nach dem IQ-Test ist anlernbar, antrainierbar, deshalb
ist er auch als Kriterium sehr schlecht geeignet.
Der Durchschnitt anderer Laender soll nicht 100 sein, sondern am
Beispiel der USA (ca. 95) oder Japan (ca. 105) kann man doch sehen,
dass es stark differiert. Auch heisst es, wenn man mit den Babies vor
der Geburt sprechen wuerde, steigerte es ihren IQ. Bewiesen ist das
aber IMHO nicht.
Zum Schluss noch anzumerken ist, dass IQ-Tests natuerlich nicht
genau sind, ihr 99-Prozent Konfidenzintervall :) liegt so etwa
bei 5 Punkten, dh. mit 99 Prozent Wahrscheinlichkeit ist einer mit 
IQ 130 im Bereich zwischen 125 und 135.

     tschuessle     Bergchen Rothorn Caradhras

-----------------------------------------------------------------------------



Re^4: Brockhaus 27-1 (Caradhras, 30. Jun 1997, 20:28:07):
~#! rn=Flavia rt=867694805 rg=puiz
~#! tid=867670238
Ich hab mit 3.5 Jahren lesen gelernt. Dafuer hab ichs mit 4 Jahren
wieder fuer ein Jahr mangels Uebung verlernt.

-----------------------------------------------------------------------------



Re^5: Brockhaus 27-1 (Asmodis, 30. Jun 1997, 20:29:42):
~#! rn=Caradhras rt=867695287 rg=puiz
~#! tid=867670238
Und mit 5 Jahren hast du das erste Programm fuer Microsoft (gabs die da
schon, das ist doch ein soooo alter Berg) geschrieben ?

-----------------------------------------------------------------------------



Re^6: Brockhaus 27-1 (Rantanplan, 30. Jun 1997, 21:54:21):
~#! rn=Asmodis rt=867695382 rg=puiz
~#! tid=867670238
Fein, dann bin ich ja mit Konfidenzintervall immer noch genial, und Lesen
konnt ich auch viel zu frueh, was bekomme ich jetzt, den Nobelpreis ?
Ein Jahresabo von P.M. ?? Hunderttausend MArk ? Autos, Haeuser, nachte Frauen
??
I.Q.-Tests sind voellig ueberfluessig, was hab ich von nem intelligenten
Menschen, der 
ansonsten den Arsch offen hat, und moeglicherweise noch superarrogant ist ??
So wie ich z.B. ;-)

Oe

-----------------------------------------------------------------------------



Re: Re: Brockhaus 27-1 (Pampers,  1. Jul 1997, 10:08:46):
~#! rn=Caradhras rt=867695221 rg=puiz
~#! tid=867670238
Ich frage mich nur, woher bekannt ist, dass Jesus einen IQ Test gemacht hat...
Also in der Bibel steht da nix von. :-)
Ausserdem halte ich es fuer zweifelhaft, dass die Definition von Genie was mit
dem IQ zu tun haben soll...
Meiner Meinung nach ist GEnie doch ein sehr subjektiver Begriff
Manche Leute halten Beuys fuer ein Genie (sollen sie), ich halte seine Werke
jedoch fuer (geschickt gemachte) Volksverarschung. Nur so als Beispiel.


Pampers. Genial.

-----------------------------------------------------------------------------



Brockhaus 27-2 (Cauno,  1. Jul 1997, 10:53:20):
30.06. Am 30. Juni 1908 konnte man in England nachts draussen
       die Zeitung lesen. Was war passiert?

An diesem Tag war in Sibirien, im Gebiet des Tunguska, eines Nebenflusses
des Jenissei, ein *Meteorit* in fuenf bis zehn Kilometern Hoehe
explodiert. Die dabei entstandene Druckwelle maehte 200 km^2 Wald nieder
und fegte das Wasser von Seen und Fluessen in den Himmel.
Die Wasserpartikel zogen westwaerts, und da sie in grosser Hoehe das
Sonnenlicht reflektierten, fielen fuer einige Naechte die astronomischen
Beobachtungen aus, und die Leute konnten mancherorts in der Nacht
tagscharfe Photographien aufnehmen. Und die "Londoner Times" bekam einen
Leserbrief, in dem gefragt wurde, warum man im suedostenglischen
Brancaster noch nachts um zwei Uhr eine Runde Golf habe spielen koennen.


01.07. Litfasssaeulen haben sich bis heute in unseren Staedten behauptet.
       Wer gab ihnen ihren Namen?

-----------------------------------------------------------------------------



Re^7: Brockhaus 27-1 (Li,  1. Jul 1997, 11:13:19):
~#! rn=Rantanplan rt=867700461 rg=puiz
~#! tid=867670238
Mal davon abgesehen, dass ernsthafte Wissenschaftler sowieso daran zweifewln,
ob der I.Q. Test wirklich die Intellignz misst...
Li

-----------------------------------------------------------------------------



Re: Brockhaus 27-2 (Li,  1. Jul 1997, 11:19:19):
~#! rn=Cauno rt=867747200 rg=puiz
~#! tid=867747200
Ein deutscher Herr mit Namen Litfass
Li (aus Trivial Pursuit geklaut)

-----------------------------------------------------------------------------



Re^8: Brockhaus 27-1 (Caradhras,  1. Jul 1997, 11:25:00):
~#! rn=Li rt=867748399 rg=puiz
~#! tid=867670238
Dass er nicht unbedingt die Intelligenz misst, duerfte klar sein,
aber er mag doch eine gute Annaeherung dran sein.
Wenn man sich viele IQ-Tests ansieht, aehneln die doch sehr den
Berufseingangstest (bzw. diese sind extrahierte teile draus),
in denen zB. folgendes 'abgeprueft' wird:

- raeumliches Vorstellungsvermoegen
- sprachliche Fertigkeiten, logisches Denken
- Konzentrationsfaehigkeit
- Rechenfertigkeit (bzw. rechnerisches Denken)
- manuelle Geschicklichkeit
- Kreativitaet
- sozialer Umgang

Und wenn jemand zB koerperlich behindert ist, duerfte es verdammt
schwierig sein, mit solch einem Test etwas anzufangen, wenn gleich ein
ganzer oder mehrere Teile wegfallen. Das duerfte jedem klar sein.
Und ausserdem schrieb ich selbst, dass es antrainierbar ist, also nicht
nur in der Groessenordnung von 5 Punkten, sondern von 20, 30 oder mehr.

Tja, Oetti, Du hast schon recht, je intelligenter viele Leute sind, umso
groesser ist die Wahrscheinlichkeit, dass sie unsozial/ruecksichtslos/
ignorant... sind. Deswegen glaube ich Dir gleich, dass Du doch
intelligent bist. Aber aus der Implikation unsozial => intelligent
folgt zum Glueck nicht die Aequivalenz unsozial <=> intelligent. 

      Bergchen Caradhras - froehlich grinsend

-----------------------------------------------------------------------------



Schwarzes Puiz ! (Rantanplan,  1. Jul 1997, 12:02:59):
Hi Leute !

Fuer alle Grufts, Pseudos, Normalos und die, die noch eins davon werden wollen
mal ein schwarzes Puiz.

Zehn Liedzeilen aus mehr oder weniger bekannten Liedern..

Dem Gewinner mach ich die Domina oder den Sklaven, je nach
Neigung...;-)

1.) heat is rising from the floor...
2.) fall down by my side, down in my arms...
3.) und in meinem Sehnen werd ich warten...
4.) Blut, Gehirn, Massaker...
5.) denn in ihren toten Schaedeln sind die Wuermer drin
6.) den Blick gen Himmel fragst Du dann...
7.) I am your best nightmare...
8.) black cat, scratch my back, sweet witch I'll penetrate you, your love is 
like a combat
9.) love me on our way to a dark star
10.) Capital punishment for me, capital punishment, for i have sinned

Viel Leid dabei ;-)

Oe*

-----------------------------------------------------------------------------



Re: Re: Brockhaus 27-1 (Dauergast,  1. Jul 1997, 13:47:09):
~#! rn=Caradhras rt=867695221 rg=puiz
~#! tid=867670238
hm, so ganz unkommentiert kann ich das leider nicht stehen lassen,
Bergchen(s) .. :)

Auch in Deutschland sind die offiziellen Tests noch so normiert, dass
zur bestaetigten Zugehoerigkeit zur Gruppe der 2% 'intelligentesten' 
Deutschen ein Tetsergebnis von mind. 130 noetig ist...

Und zur Diskrepanz zu anderen Laendern: Die USA verwenden ein testsystem
mit komplett anderer Normierung, so dass ein US-IQ von 230 oder 180 noch
lange nicht direkt vergleichbar ist ...

Was nun die Intelligenzbestien mit IQ>130 betrifft:
Was besseres oder besonderes sind die sicher auch ned, Intelligenz kann
man auch als das definieren, was man mit nem IQ-Test messen kann, aber
was der einzelne draus macht ..?!

Mittlererweile ist der IQ>130-Klub, genannt MENSA resp. MinD (Mensa in
Deutschland) ne eigene Homepage (Adresse muesste ich erst suchen, deshalb
auf Anfrage), auf der Info's und Beispiele der Testfragen zu finden sind.

Und wer weitere Info's ueber MENSA, die Foerderung hochbegabter Kinder,
Kontatadressen von Testleitern oder von MENSA-Gruppen in seiner Umgebung
haben will: MUD-mail an Ketos oder Dauergast (resp. Krigi@wunderland oder
@silberland) 

DG

PS: Ich hab uebrigens noch keine grossen Unterschiede zwischen MENSA - und
MUD- Stammtischen feststellen koennen:
Gruppen lustiger Letchen sitzen in Kneipen rum, unterhalten sich und
irgendwann gleitet das Ganze ins Witze erzaehlen oder Scherzaufgaben loesen ba
:))

-----------------------------------------------------------------------------



Re^3: Brockhaus 27-1 (Rantanplan,  1. Jul 1997, 13:51:15):
~#! rn=Dauergast rt=867757629 rg=puiz
~#! tid=867670238
DAS ist ja das schlimme, das es genauso wie auf Mudstammtischen ist

Schauderhaft ;-)

Oe*

-----------------------------------------------------------------------------



Re^3: Brockhaus 27-1 (Asmodis,  1. Jul 1997, 14:06:11):
~#! rn=Dauergast rt=867757629 rg=puiz
~#! tid=867670238
Soso, die Mensa-Mitarbeiter sind Intelligenzbestien ? Warum haben sie
dann so einen Job ?? Seltsam :)

-----------------------------------------------------------------------------



Re^3: Brockhaus 27-1 (Caradhras,  1. Jul 1997, 18:09:00):
~#! rn=Dauergast rt=867757629 rg=puiz
~#! tid=867670238
Na dann, bin ich wohl mal wieder ein bisserl auf dem aeltesten Stand,
danke, Krigi. :) 
Findest Du MudTreffen auch so schlimm wie MudStammtische, Rattenplan?
Muss doch lustig gewesen sein, bei Deinem letzten AL-Treffen fuer 30
oder 40 Mark was getrunken zu haben und dann ohne zu bezahlen gehen.

    Sorry, couldn't resist        Bergchen Caradhras - winkt unartig

-----------------------------------------------------------------------------



Re^4: Brockhaus 27-1 (Fyt,  1. Jul 1997, 18:39:43):
~#! rn=Asmodis rt=867758771 rg=puiz
~#! tid=867670238

Na wo denn sonst... welcher Verein nimmt heutzutage schon noch
intelligente Mitarbeiter...

Fyt.

-----------------------------------------------------------------------------



Re^4: Brockhaus 27-1 (Grimmborn,  1. Jul 1997, 18:40:17):
~#! rn=Rantanplan rt=867757875 rg=puiz
~#! tid=867670238
Ich moechte hier einfach mal deutlich gegen den Eindruck halten, dass
moeglicherweise die Mudder als solche besonders intelligent seien (weil die
Stammtische den Mensa-Stammtischen aehneln).
Das ist naemlich nicht der Fall.

Grimmborn der Atheist. Natuerlich intelent.

-----------------------------------------------------------------------------



Re^5: Brockhaus 27-1 (Rantanplan,  1. Jul 1997, 19:09:28):
~#! rn=Grimmborn rt=867775217 rg=puiz
~#! tid=867670238
Ich nicke Grimmborn sehr bestimmt zu.
Ich nicke Grimmborn sehr bestimmt zu.

Und wer mich kennt, weiss, dass ich einer der intelektuellen und kulturellen
Hoehepunkte
eines jeden Stammtisches/Treffen bin. 


Oe

-----------------------------------------------------------------------------



Re^6: Brockhaus 27-1 (Grimmborn,  1. Jul 1997, 19:13:12):
~#! rn=Rantanplan rt=867776968 rg=puiz
~#! tid=867670238
Bist Du. Und das sollte eigentlich schon nachdenklich stimmen...

GdA

-----------------------------------------------------------------------------



Re^3: Brockhaus 27-1 (Wurzel,  1. Jul 1997, 20:31:41):
~#! rn=Pampers rt=867744526 rg=puiz
~#! tid=867670238
die geschichte mit dem iq-test muss wirklich ganz schoen alt sein, wenn
goethe und jesus auch schon welche gemacht haben...
aber beuys war wirklich ein genie. wer irgendwo einen haufen muell ablaedt
und damit ein schweinegeld verdient, hochangesehen ist und geehrt wird, der
hat unsere gesellschaft auf hoechst geniale weise durchschaut. 

wurzel

-----------------------------------------------------------------------------



Re^4: Brockhaus 27-1 (Hobo,  2. Jul 1997, 09:44:04):
~#! rn=Wurzel rt=867781901 rg=puiz
~#! tid=867670238
Beuys?

Ich bin ja der Meinung, dass er sich bei seinem Absturz das Gehirn doch z.T.
abgefroren hat....
Obwohl, die Sache mit dem Wolf war ja schon irgendwie gut...

Hobo

-----------------------------------------------------------------------------



Brockhaus 27-3 (Cauno,  2. Jul 1997, 13:44:48):
01.07. Litfasssaeulen haben sich bis heute in unseren Staedten behauptet.
       Wer gab ihnen ihren Namen?

*Ernst Litfass* (*1816, +1874) war ein origineller Berliner Buchdrucker,
der 1848 die neue Pressefreiheit gleich dazu ausnutzte, eine freche, bald
wieder verbotene Zeitung namens "Berliner Krakehler" herauszugeben. Nach
einigen mageren Jahren kam ihm die Idee, den Anschlaegen und Plakaten, die
ueberall an Haeusern, Mauern und Zaeunen schnell wieder abgerissen wurden,
gegen Gebuehr einen legitimen Platz zu verschaffen. 1854 schloss er mit
der Berliner Polizeidirektion einen Vertrag, der ihm das exklusive Recht
einraeumte, seine Saeulen ueberall in der Stadt aufzustellen. Ab 1. Juli
1855 wurden erstmals an hundert Litfasssaeulen Bekanntmachungen aller Art
angeklebt. Litfass war ein gemachter Mann.


02.07. Nicht Hamer und Sichel, sondern Hammer und Kreuz.
       Welches Volk verehrte sie?

-----------------------------------------------------------------------------



Re: Brockhaus 27-3 (Guldukat,  2. Jul 1997, 23:08:43):
~#! rn=Cauno rt=867843888 rg=puiz
~#! tid=867843888
nur mal was prinzipielles:
gibts diese ganzen texte online, oder tippst du jeden tag ne seite ab? 
oder scanner und ocr?
GD

-----------------------------------------------------------------------------



Brockhaus 27-4 (Cauno,  3. Jul 1997, 13:03:39):
02.07. Nicht Hammer und Sichel, sondern Hammer und Kreuz.
       Welches Volk verehrte sie?

Lange nachdem ihre Christianisierung begonnen hatte, behauptete sich das
Symbol des Hammers noch bei den *Wikingern*. Der Hammer war das Zeichen
Donars bzw. Thors, des Donnergotts, der Siedlung, Haus und Familie
beschuetzte. Er war der Freund der Menschen und der Feind der Riesen.
Zudem fungierte er els Wettergott und war auch auf Seefahrten behilflich,
wenn es z.B. galt, einen geeigneten Landeplatz zu finden. Sein Attribut,
der Hammer, war fest im Alltag verankert. Man mass mit Hammerwuerfen,
weihte Hausschwellen und Wegsteine mit ihm und trug ihn als Amulett um den
Hals. Thor war als Gott einfach der Hammer!


03.07. Chaostage in Rom:
       Was haben die Wandalen eigentlich wirklich angestellt?

-----------------------------------------------------------------------------



Re: Re: Brockhaus 27-3 (Cauno,  3. Jul 1997, 13:05:51):
~#! rn=Guldukat rt=867877723 rg=puiz
~#! tid=867843888
Nein, die tippe ich tatsaechlich ab, allerdings erst in eine Datei und dann
per Copy & Paste in die Mpa.
Das heisst, ab jetzt gibt es die Online ....
Ist ja jewils nur ein Blatt pro Tag, sofern ich nicht verschlafe. Und im
tippen bin ich (dank MG) inzwischen ganz gut.

C. No

-----------------------------------------------------------------------------



Re^3: Brockhaus 27-1 (Kretek,  3. Jul 1997, 17:55:23):
~#! rn=Dauergast rt=867757629 rg=puiz
~#! tid=867670238
Ihr habt vielleicht Probleme! Ich weiss, dass ich genial bin, das brauche
ich mir doch nicht von irgendwelchen bloeden Zahlen bestaetigen zu lassen! :-)

KreteK

-----------------------------------------------------------------------------



Brockhaus 27-5 (Cauno,  4. Jul 1997, 11:45:37):
03.07. Chaostage in Rom:
       Was haben die Wandalen eigentlich wirklich angestellt?

Die *Wandalen* waren ein germanisches Volk, das 442 n.Chr. in der Gegend
von Karthago ein Reich gegruendet hatte. 455 erschienen sie vor Rom und
nahmen die Stadt praktisch kampflos ein. Vierzehn Tage lang pluenderten
sie, d.h., sie nahmen auch Niet- und Nagelfestes mit, wenn es ihnen
wertvoll genug erschien, wie z.B. das vergoldete Dach des Jupitertempels.
Ihren ueblen Ruf erhielten die Wandalen erst 1794. Der Bischof von Blois,
Henri Gregoire, benutzte das Wort "Wandalismus", um damit die
Pluenderungen und die Zerstoerungen von Kunstwerken waehrend der
franzoesischen Revolution anzuklagen. Die "Wandale" in Rom war allerdings
fuer antike Verhaeltnisse harmlos gewesen.


04.07. Welcher Vogel fuehlt sich unter der Erde am wohlsten?

-----------------------------------------------------------------------------



Re: Brockhaus 27-5 (Kobayashi,  7. Jul 1997, 08:55:53):
~#! rn=Cauno rt=868009537 rg=puiz
~#! tid=868009537
Ich kenn nur die aus Nordrhein-Vandalen.


-----------------------------------------------------------------------------



Brockhaus 28-3 (Cauno,  9. Jul 1997, 12:47:41):
04.07. Welcher Vogel fuehlt sich unter der Erde am wohlsten?

Eine suedamerikanische Nachtschwalbe namens *Guacharo*, auch Fettschwalm
genannt. Die Guacharos leben bis mehrere hundert Meter unter der
Erdoberflaeche in Hoehlen und koennen sich, wie die Fledermaeuse, durch
ein Echolotsystem orientieren. Ausserdem haben sie ein fuer Voegel
ausserordentlich eusgepraegtes Geruchsempfinden. "Fettschwalm" heissen sie
auch, weil die Indianer die sehr fetten Jungtiere zur Gewinnung eines sehr
reinen, halbfetten Oels "ernten".


05./06.07. Wie funktioniert das beruehmte "Buschtelefon"?


07.07. Warum nennt man den subtropischen Hochdruckguertel "Rossbreiten"?


08.07. Welches Auto gewann 1908 die Wettfahrt um die Welt?


09.07. Die Jahre 1665/66 veraenderten London gravierend. Wieso?


-----------------------------------------------------------------------------



Re: Brockhaus 28-3 (Jimdigriz, 10. Jul 1997, 21:15:20):
~#! rn=Cauno rt=868445261 rg=puiz
~#! tid=868445261
Hi, 

5/6.7: Hmm entweder sind die Trommelnachrichten gemeint, wo in
      gewissen Abstaenden Trommelposten horchen und Trommel-
  nachrichten weiterleiten
, oder evtl das DosenPhone (2 Dosen per starren Draht verbunden)

Rossbreiten: Klar, das sind Gebiete mit sehr haeufigen Windstillen,
  wenn ein Schiff da hineingeriet, mussten die Leute oft
 sogar Ihre Roesser aufessen um am Leben zu bleiben, bis
 sie wieder herauskamen.

Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Re: Brockhaus 28-3 (Caradhras, 10. Jul 1997, 22:36:32):
~#! rn=Cauno rt=868445261 rg=puiz
~#! tid=868445261
... und 1665/66 war doch zuerst die schwarze Pest und dann 1966
der grosse Brand von London. (Den sogar Nostradamus vorhergesagt hat)
Oh, natuerlich 1666, nicht 1966. *blush* 

Welches Auto gewann? Das mit Tony Curtis. :) Wenigstens fuer mich,
fuer andere wars Dr. Fate. :)

       Bergchen Caradhras

-----------------------------------------------------------------------------



Mal wieder ein Musikquiz (Jimdigriz, 10. Jul 1997, 22:42:21):
Hoi,

hier mal wieder ein kleines Quiz,
als spaete Gegenaktion zu Oettis Jammerlappen und
Heulsusenmusikquiz ;-))

Es geht um Kampftrinker/Stimmungslieder und Liebeslieder,
oder so, zu erraten ist, der jeweilige Titel sowie
der Interpret (je ein Punkt).
Dazu gibt ueblicherweise ein-zwei Textverse.

Antworten an mich per mail, ja ? 
Beschwerden koennt Ihr Euch sparen ;-)

Und schon gehts los:

1) Immer wenn ich Leichen fledder, 
   trag ich Nieten bis zum Arsch ...

2) ..kannst Du ein Stueckchen rutschen ? 
   Dann kann ich Dich auch lutschen ....

3) ..und wenn Frau und Kind zu Hause hungern,
   dann tun wir Maenner in der Kneipe lungern...

4) Ein nackter Leib, ein wilder Kuss,
   totes Fleisch, das kalt sein muss...

5) ..drum brauch ich Pornofilme alle Tage, 
   denn ich kann 10x die Stunde, keine Frage ...

6) ..die Nacht ist heiss und wir.. sind.. nackt...

7) Du willst es tun, willst nicht mehr warten
   doch das Gesetz verbietet mir, Dich schon heut Nacht
   gluecklich zu machen ...
   (sehr schwer)

8) ..er rennt zum Klo, und schafft es grade noch,
   und immer wieder liest er "Villeroy & Boch",
   "Villeroy & Boch" immer immer immer "Villeroy & Boch"...

9) nun ein wenich konfus ein paar Brocken nicht ganz
   zusammenhaengend, ein Zwiegespraech zwischen einem 
   Maedchen (?) und einem ???
   Die Textzeilen sind dabei meist gleichzeitig gesungen:

   Sie: Bitte nimm mich mit, mit den Schatten..
    Er:   Den zaertlichen Kuss zu empfangen
    
   Er: ...in die Duesternis und das nichts, 
       suesser Nektar auf deinen Lippen.

   Sie: Ich  sehne mich nach Deiner Liebe...

   Sie: Ich seh Sterne ...
    Er: Ich war soo untroestlich...

  Sie: Ich liebe Dich ....

  Hmmm, wers kennt muesste es jetzt erkannt haben.

10) Zum Schluss, was aus der Reihe, 
     aber trotzdem ein cooles Lied:

  ..unser Hauptcomputer fliegt uns um die Ohren,
  jeder neue countdown ohne Reaktionen...

 
Viel Spass beim raten oder aufregen ;-))

Ciao,
 Jim DiGriz

-----------------------------------------------------------------------------



Brockhaus 28-5 (Cauno, 11. Jul 1997, 13:23:09):
05./06.07. Wie funktioniert das beruehmte "Buschtelefon"?

Am verbreitetsten und entwickeltsten ist die Kommunikation per Trommel in
*Westafrika*. Das haengt damit zusammen, dass in den dortigen Sprachen
bestimmte Silben und Woerter bestimmten Tonhoehen zugeordnet sind. Diese
Tonhoehe und die SPrechdauer, also der Rhyumus!eer!Simcen tnd Vndrudr,  !!!! !
!wesdeo!wnn ddn Trommlern lautmalerisch nachgebildet. Dazu werden meist
sogenannte Schlitztrommeln und "dondons", Trommeln mit Taille, benutzt.
Aber wie gesagt, das Ganze funktioniert nur mit Tonsprachen. Deutsch kann
man nicht trommeln.


07.07. Warum nennt man den subtropischen Hochdruckguertel "Rossbreiten"?

Um den 30. Breitengrad liegen nahezu *windstille Meeresgebiete*, die in
kuestenfernen Gegenden die hoechsten Wassertemperaturen und den hoechsten
Salzgehalt aufweisen. Da das Wasser sehr arm an Plankton ist, ist es auch
sehr klar und hat eine tiefblaue Farbe.
Als die Reise nach Suedamerika noch mit Segelschiffen bewaeltigt wurde,
kam es haeufig dazu, dass in den Flauten und wechselnden Winden der
Rossbreiten der Trinkwasservorrat zu Ende ging und vor allem die Pferde
rasch verendeten.


08.07. Welches Auto gewann 1908 die Wettfahrt um die Welt?

Ein deutscher *Protos-Wagen*, der fuer die 21 728 km lange Strecke 165
Tage benoetigte.
Die Fahrt ging von New York, Alaska, Sibirien bis nach Paris. Veranstaltet
wurde sie von der "New York Times" und der Pariser Zeitung "Le Matin". Zum
Sieger wurde allerdings der amerikanische Thomas-Wagen erklaert, der 170
Tage benoetigt hatte. Der Fahrer des Protos hatte einen Teil der Strecke
im Zug bewaeltigt. Der Wagen steht heute schoen poliert im Deutschen
Museum in Muenchen.


09.07. Die Jahre 1665/66 veraenderten London gravierend. Wieso?

1665 fielen 100 000 Londoner der *Pest* zum Opfer. Im Jahr darauf vergass
John Faynor, Baecker und Hoflieferant Koenig Karls II., abends seine
Backoefen zu loeschen, und verursachte einen *Brand*, dem 13 000 Haeuser
und 87 Kirchen zum Opfer fielen. Nur acht Menschen kamen dabei ums Leben.
Noch wochenlang schwelte es in der Stadt. Das Feuer zerstoerte vor allem
die grossen Slums der Innenstadt und machte so den Weg frei fuer neue
staedtebauliche Planungen.


10.07. Wer erfand das Eis am Stiel?


11.07. Tot spielte ein See-Elefant die Rolle seines Lebens. Welche war es?



-----------------------------------------------------------------------------



Brockhaus 29-1 (Cauno, 14. Jul 1997, 11:34:53):
10.07. Wer erfand das Eis am Stiel?

Ob *Harry Bust aus Ohio*, USA, nun wirklich der Erfinder von Eis am Stiel
ist, kann nicht gewaehrleistet werden. Jedenfalls meldete er es 1923 zum
Patent an, und schon ein Jahr spaeter konnte man es auch in Deutschland
geniessen. Der patente Harry steckte die Stiele noch per Hand ins
Halbgefrorene, was heute natuerlich nur noch der Amateur-Eiskonditor tut.
Allein der Massenkonsum machte schon eine Automatisierung noetig: Die
Bundesbuerger lassen sich jedes Jahr 1 000 000 000 (eine Milliarde) Mal
ein Eis am Stiel schmecken. Und jetzt war noch nicht die Rede von
Hoernchen und Eisbecher, von der Familienpackung und Eiskaffe, von
Cassata, Semifreddo, Sorbet ...


11.07. Tot spielte ein See-Elefant die Rolle seines Lebens. Welche war es?

Er war fuer eine Woche lang *"Nessie"*. 1972 war beim Transport von
See-Elefanten von den Falkland-Inseln zum Londoner Zoo einer von ihnen
gestorben; er wurde von den Matrosen ueber Bord geworfen. Der Kadaver ging
Fischern ins Netz, die in zum Scherz in den Loch Ness warfen. Prompt wurde
das fuenf Meter lange und eine halbe Tonne schwere Tier dort von Zoologen
entdeckt, die es eine volle Woche lang fuer Nessie hielten und die
britische Oeffentlichkeit in Aufruhr versetzten.


12./13.07. Welche Eissorte enthaelt Seetang?


14.07. Wer erkannte als erster, dass sich die Erde um die Sonne dreht?


-----------------------------------------------------------------------------



Re^4: Brockhaus 27-1 (Acrimon, 14. Jul 1997, 16:33:45):
~#! rn=Wurzel rt=867781901 rg=puiz
~#! tid=867670238
Das ist zwar schon laenger her, aber trotzdem kann ich mich nicht
zurueckhalten, auf so etwas zu antworten.
Wenn Beuys mit einem Haufen Muell ein Schweinegeld verdient, dann ist er weder
ein Genie noch durchschaut er unsere Gesellschaft, sondern er ist ein gieriger
Geizhals der uebelsten Klasse und hat unsere Gesellschaft komplett
miszverstanden.
Unsere Gesellschaft basiert *nicht* darauf, dasz jeder den anderen skrupellos
ausnuetzt, sondern dasz man Ruecksicht aufeinander nimmt.

Im Uebrigen kenne ich weder Beuys noch seine Werke.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^5: Brockhaus 27-1 (Hood, 14. Jul 1997, 18:44:59):
~#! rn=Acrimon rt=868890825 rg=puiz
~#! tid=867670238
*hust* nimm mal die rosarote brille ab! eine gesellschaftsform, in der
jeder auf jeden ruecksicht nimmt, kann ich hier wirklich nicht erkennen.
es mag ausnahmen geben, welche ihre eigenen ideale vertreten
 (siehe acrimon), aber im allgemeinen gilt der leitsatz:
jeder ist sich selbst der naechste. schliesslich ist das derzeitige
schlagwort 'elbogengesellschaft' nicht aus dem nichts heraus entstanden.
und kuenstler wie den, ueber welchen hier grad diskutier wird, gibt
es doch genug:
 ich schaetz mal leute wie 'Bluemchen' und 'Scooter' kommen das nachts
vor lachen nicht in schlaf und sitzen dann mit dem wohligen gefuehl zu
hause: heute hab ich sie aber mal wieder alle verarscht.

------
patryn

-----------------------------------------------------------------------------



Re^6: Brockhaus 27-1 (Pampers, 14. Jul 1997, 18:50:16):
~#! rn=Hood rt=868898699 rg=puiz
~#! tid=867670238
Das glaub ich nicht, Patryn. Die sind bekloppt genug und glauben an den Mist
den sie verzapfen.
Es ist tatsaechlich kaum zu fassen, dass Leute ihren "Piep, Piep, Piep, wir
ham uns alle lieb"-Botschaften mehr als nur unterstes Niveau bescheinigen.

Bei Leuten wie Bluemchen ist selbst einem unverbesserlichen Liberalen wie mir
die Todesstrafe noch zu gut. Nena verhunzen, auf meiner Kindheit
herumtrampeln... Sowas.

Pampers. Meldet sich fuers Exekutionskommando.

-----------------------------------------------------------------------------



Re^7: Brockhaus 27-1 (Wurzel, 14. Jul 1997, 19:10:07):
~#! rn=Pampers rt=868899016 rg=puiz
~#! tid=867670238
das passt doch ausgezeichnet in unsere zeit. wir leben nun mal in einer
dummokratie, und wer am bloedesten ist kann das auch noch zu geld machen.
ein wort zu acrimon: es stimmt, unsere gesellschaft basiert nicht darauf,
dass jeder den anderen skrupellos ausnuetzt. jedenfalls nicht, solange es
nichts einbringt. das einzige fundament unserer gesellschaft ist eben GELD.
klar gibt es einige (wenige) ausnahmen, die diese ansicht nicht teilen oder
es einfach nicht begriffen haben. aber wenn man sich mal ansieht, was so
passiert auf der politischen buehne oder in anderen "gesellschaftlich 
relevanten" bereichen, bleibt eigentlich keine andere schlussfolgerung mehr
uebrig. begriffe wie moral, ehrgefuehl, wuerde etc. sind anachronistisch und
deshalb fast ueberall obsolet. ein m.e. sehr gut passendes zitat von dik
browne, dem schoepfer von haeger dem wikinger, dazu:
haegar wird gefragt, was er denn wolle: macht, reichtum oder innere
zufriedenheit. die antwort: reichtum, denn das gibt mir macht und dadurch
habe ich innere zufriedenheit. in einer gesellschaft, in der eben alles
kaeuflich ist, kann man eigentlich auch nichts anderes erwarten. und ein
kuenstler wie beuys (oder bluemchen oder wer auch immer), der das prinzip
verstanden hat und mit minimalem aufwand ein maximum an geld scheffelt, hat
in meinen augen durchaus geniale zuege. seine machwerke muessen mir dazu
noch nicht mal gefallen, aber die kunst liegt ja auch nicht darin den muell
in die ecke zu kippen, sondern dafuer zu kassieren. 

wurzel

-----------------------------------------------------------------------------



Re^8: Brockhaus 27-1 (Grimmborn, 15. Jul 1997, 09:18:51):
~#! rn=Wurzel rt=868900207 rg=puiz
~#! tid=867670238
Gehe ich recht in der Annahme, dass saemtliche Leute, die hier ausfuehren, wie
verdorben und geldorientiert die Gesellschaft doch ist, sich selber insgeheim
fuer eine Ausnahme halten?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^9: Brockhaus 27-1 (Pampers, 15. Jul 1997, 09:22:20):
~#! rn=Grimmborn rt=868951131 rg=puiz
~#! tid=867670238
Ach wie verdorben ist doch die Welt. Und der einzige Wert, der zaehlt ist das
Geld. (Huch, das reimt sich.)
Nee wie schrecklich also das find ich wirklich nicht gut.

Pampers. Geldgeil. Bestechlich. Charakterschwein.

-----------------------------------------------------------------------------



Brockhaus 29-2 (Cauno, 15. Jul 1997, 11:43:03):
12./13.07. Welche Eissorte enthaelt Seetang?

*Alle!*
Da Tiefkuehltruhen keine konstante Temperatur haben, sondern sich immer
wieder ein- und ausschalten, beginnt das im Eis enthaltene Wasser zu
schmelzen, um anschliessend wieder zu gefrieren. Dabei wird das Eis immer
kristalliner. Um seine cremige Substanz zu erhalten, werden Stabilisatoren
verwendet, die aus Seetang gewonnen werden. Man benutzt dazu vor allem
Rotalgen, auch Karrageen und Irisch Moos genannt.
Manche Maenner schmieren sich das ja auch ins Gesicht.


14.07. Wer erkannte als erster, dass sich die Erde um die Sonne dreht?

Nicht Kopernikus, nicht Galilei.
Es war der griechische Astronom und Astrologe *Aristarchos von Samos* (*um
320, +250 v.Chr.). Zudem erkannte er, dass sich die Erde um ihre eigene
Achse dreht und ihr Neigungswinkel die Jahreszeiten hervorruft.
Er fand allerdings niemanden, der seine Auffassungen teilte.


15.07. Ein Wunder der Antike:
       Was machte den Leuchtturm von Pharos so einzigartig?


-----------------------------------------------------------------------------



Re^5: Brockhaus 27-1 (Hardil, 15. Jul 1997, 13:48:19):
~#! rn=Acrimon rt=868890825 rg=puiz
~#! tid=867670238

Acrimon schreibt:
>sondern er ist ein gieriger
Geizhals der uebelsten Klasse und hat unsere Gesellschaft komplett
miszverstanden.

Hmmm. Entweder hat jemand Acrimon mal seinen Marx beigebracht, oder den
Account gehackt. Janice??? :-)

-Hardil. Wundert sich.
NNN

-----------------------------------------------------------------------------



Re^9: Brockhaus 27-1 (Gast2, 15. Jul 1997, 16:55:16):
~#! rn=Grimmborn rt=868951131 rg=puiz
~#! tid=867670238
Jo ... na klar. Wo kaemen wir denn hin, wenn wir uns selbst gegenueber
ehrlich waeren ? (ob wir DAS diskutieren sollten ?!)

Gloin

PS: Wo liegt das Problem mit der Ellenbogengesellschaft ?! Wer sagte
    denn, dass Demokratie etwas anderes waere ?!

Demokratie ist, wenn vier Woelfe und ein Schaf ueber das Mittag-
essen entscheiden. Alles klar ?

-----------------------------------------------------------------------------



Brockhaus 29-3 (Cauno, 16. Jul 1997, 12:46:27):
15.07. Ein Wunder der Antike:
       Was machte den Leuchtturm von Pharos so einzigartig?

Der *Leuchtturm* auf der Insel Pharos vor der aegyptischen Stadt
Alexandria galt im Altertum als eines der Sieben Weltwunder. Er wurde
280-279 v.Chr. von dem griechischen Architekten Sostratos von Knidos als
achteckiges, 136 Meter hohes Bauwerk errichtet. Das Feuerholz wurde mit
Pferdekarren auf einer spiralfoermigen Rampe nach oben transportiert und
dann mit Flaschenzuegen auf die oberste Plattform gehievt. Das Leuchtfeuer
war ueber 55 Kilometer weit zu sehen. Erst im 14. Jahrhundert stuerzte der
Turm bei einem Erdbeben zusammen.


16.07. Buchen sollst du suchen, Eichen sollst du weichen.
       Ist das bei Gewitter wirklich empfehlenswert?


-----------------------------------------------------------------------------



Re: Brockhaus 29-3 (Kobayashi, 16. Jul 1997, 12:53:24):
~#! rn=Cauno rt=869049987 rg=puiz
~#! tid=869049987
Das haengt von deiner Zielsetzung ab? Wenn du suizidgefaehrdet bist, ist diese
Anweisung sicherlich gut brauchbar. Ansonsten sollte man sich ein moeglich
freies Gelaende suchen, und sich dort hinhocken ( nicht stellen, und auch
nicht legen).

Kobayashi

-----------------------------------------------------------------------------



Brockhaus 29-4 (Cauno, 17. Jul 1997, 13:58:34):
16.07. Buchen sollst du suchen, Eichen sollst du weichen.
       Ist das bei Gewitter wirklich empfehlenswert?

Damit uns Ihre Lieben keine empoerten Briefe schreiben, wenn Sie unter
einer Buche vom Blitz getroffen werden, raten wir erst einmal davon ab,
dort Schutz zu suchen.
Aber: *Untersuchungen* in einem zu 70% aus Buchen bestehenden Mischwald
ergaben in einem Zeitraum von 11 Jahren 56 Einschlaege in Eichen, 20 in
Tannen und drei in Kiefern. Eine Buche wurde nicht vom Blitz getroffen.
Weitere Studien ergaben, dass aufgrund ihres Feuchtigkeitsgehalts Eichen
mit 60mal grsserer Wahrscheinlichkeit vom Blitz getroffen werden als
Buchen. Treffen Sie also im Notfall Ihre Wahl - aber bis zur naechsten
wissenschaftlichen Untersuchung bitte auf eigenes Risiko ...


17.07. Ein Hinweis fuer Besitzer von Zimmertigern:
       Wann geht katz zum Angriff ueber?


-----------------------------------------------------------------------------



Brockhaus 30-1 (Cauno, 21. Jul 1997, 16:45:45):
17.07. Ein Hinweis fuer Besitzer von Zimmertigern:
       Wann geht katz zum Angriff ueber?

Wenn ihre Katze wachsam ist, stellt sie die *Ohren* auf und richtet sie
nach vorne. Ist sie feindselig gestimmt, verdreht sie die Ohren. Vorsicht
ist geboten, wenn sie die Ohren weit nach hinten dreht, denn dann kann sie
unmittelbar zum Angriff uebergehen.
Diese Verhaltensweise zeigen uebrigens alle Katzen, also auch Leoparden,
Pumas, Tiger und Loewen. Wenn Sie auch zu Hause ihre Aufmerksamkeit
schulen, kann das fuer die naechste Safari recht hilfreich sein.


18.07. Die ersten Telegraphen arbeiteten nur tagsueber.
       Waren die Nachttarife unbezahlbar?

19./20.07. Warum gibt es bei Vollmond keine Sonnenfinsternis?

21.07. Und noch einmal der Mond:
       In welcher Mondphase kommt es zur Mondfinsternis?

-----------------------------------------------------------------------------



Re: Brockhaus 30-1 (Acrimon, 21. Jul 1997, 17:52:38):
~#! rn=Cauno rt=869496345 rg=puiz
~#! tid=869496345
18.7. Natuerlich weil am Tag mehr Nachfrage herrscht und fast jeder nachts
schlaeft.

19./20.7. Weil bei Vollmond die Sonne auf der anderen Seite der Erde steht.
Vollmond gibt es nicht am Tag.

21.7. Bei Vollmond, wenn die Erde genau zwischen Sonne und Mond steht

Warum gehen eigentlich die Fragen von der Unbeantwortbarkeit sofort in die
Trivialitaet ueber?

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Brockhaus 30-1 (Marcus, 21. Jul 1997, 22:37:27):
~#! rn=Cauno rt=869496345 rg=puiz
~#! tid=869496345
18.7
es wurde frueher mit sichttelegrafen gearbeitet. Unter anderem wurden
verschieden hochgezogene Koerbe, oder signale mit mehreren hebeln
verwendet. Deshalb nur tagsueber ;)
19/20.7
Nun, bei einer sonnenfinsternis steht der Mond ja zwischen Sonne und
Erde.... Also kann er kaum von der Erdseite aus beleuchtet werden um
als Vollmond dazustehen ;) Dafuer wird der Mond waehrend der Zeit von
der Erde angestrahlt...
21.7.  Vollmond. Wiederum muessen Sonne-Erde-Mond in der Reihenfolge stehen, 
und diesmal beleuchtet die Sonne den Mond vollstaendig ...

-Marcus

-----------------------------------------------------------------------------



Brockhaus 30-2 (Cauno, 22. Jul 1997, 16:11:29):
18.07. Die ersten Telegraphen arbeiteten nur tagsueber.
       Waren die Nachttarife unbezahlbar?

Nein, es lag an der Technik der Telegraphen.
Die franzoesischen Brueder Claude (*1763, +1805) und Abraham CHappe
(*1773, +1849) hatten 1790 einen optisch-meachanischen Telegraphen
erfunden, dessen Linien sich dank Napoleon bald ueber grosse Teile Europas
erstreckten. Alle sechs bis zwoelf Kilometer befand sich an erhoehten
Stellen, auf hohen Grundmasten oder Stationen, ein Quer- mit zwei
Laengsbalken, die beweglich waren. Durch Seilzuege konnte man damit
zahlreiche unterschiedliche *Signale* figurieren. Waren die Telegraphisten
fixe Jungs, so konnten sie in einer Minute ueber vierzehn Stationen eine
Uebermittlungsstrecke von 100 Kilometern bewaeltigen. Nachts oder bei
Nebel funktionierte das natuerlich nicht.


19./20.07. Warum gibt es bei Vollmond keine Sonnenfinsternis?

Bei einer Sonnenfinsternis steht der *Mond* genau zwischen Sonne und Erde
und kann so die Sonne verdunkeln. Bei Vollmond aber stehen Sonne und Mond
auf entgegengesetzten Seiten der Erde. Vollmond ist also immer zwei wochen
vor oder nach einer Sonnenfinsternis.


21.07. Und noch einmal der Mond:
       In welcher Mondphase kommt es zur Mondfinsternis?

Eine Mondfinsternis findet immer bei *Vollmond* statt, da nur dann die
Moeglichkeit besteht, dass der Mond in den Erdschatten geraet. Der
Schatten, den die Erde wirft, kann den Mond vollstaendig abdunkeln. Doch
selbst bei totaler Mondfinsternis bleibt unser Satellit durch Streulicht
und gebeugte Lichtstrahlen der Sonne immer noch roetlich sichtbar.


22.07. Koennen Tiere hassen?

PS. zu Acrimons Bemerkung: trivial? sind denn die 'unbeantwortbaren' Fragen
nicht manchmal auch trivial? Nur weil man die Loesung nicht weiss, muss es
keine geben. Zu den Katzen hat auch keiner geantwortet ... :-)

-----------------------------------------------------------------------------



Re: Mal wieder ein Musikquiz (Jimdigriz, 23. Jul 1997, 11:14:24):
~#! rn=Jimdigriz rt=868567341 rg=puiz
~#! tid=868567341
Ok, die Reaktion war spaerlich,
aber nicht unerwartet....

Zunaechst die Aufloesung:

Interpret - Titel:

1. Schliessmuskel - Laerm und Leder
2. Strassenjungs - Dauerlutscher
3. Dimple Minds - Durstige Maenner
4. Boehse Onkelz - Nekrophil (keine flames bitte deswegen, ja)
5. Dimple Minds - Rauchende Colts
6. Rammstein - Heirate Mich
7. Marionets - Vierzehn
8. Stoppok - Willy und Gert
9. Theatre of Tragedy - Der Tanz der Schatten
10. Frank Zander - Captain Starlight

Einziger Teilnehmer und damit Sieger
ist :
  Quengistu
Er erkannte "Dauerlutscher" von den Strassenjungs (2 Punkte)

Ciao,m
 Jim DiGriz

-----------------------------------------------------------------------------



Re: Re: Mal wieder ein Musikquiz (Wurzel, 23. Jul 1997, 20:14:13):
~#! rn=Jimdigriz rt=869649264 rg=puiz
~#! tid=868567341
hm, merkwuerdig...
du hattest was von kampftrinker/stimmungsliedern oder liebesliedern gesagt.
wenn du da "heirate mich" dazuzaehlst, hast du entweder den text nicht
verstanden oder aber SEHR merkwuerdige vorlieben :)

wurzel

-----------------------------------------------------------------------------



Re: Re: Mal wieder ein Musikquiz (Kretek, 24. Jul 1997, 13:55:08):
~#! rn=Jimdigriz rt=869649264 rg=puiz
~#! tid=868567341
Zu Nr. 7: Meinst Du da wirklich "Marionets" oder "Marionetz" (aus Muenchen)?

-----------------------------------------------------------------------------



Re^3: Mal wieder ein Musikquiz (Jimdigriz, 29. Jul 1997, 19:45:31):
~#! rn=Wurzel rt=869681653 rg=puiz
~#! tid=868567341
Hoi Wurzel,

Aeh naja wieso, offensichtlich liebt 
der Arme seine verstorbene Angebetete auch nach dem Tod.
Ich persoenlich halte zwar nix von Nekrophilie,
aber ich bin da tolerant, jedem das seine :)

Ciao,
 JdG

-----------------------------------------------------------------------------



Re^3: Mal wieder ein Musikquiz (Jimdigriz, 29. Jul 1997, 19:46:38):
~#! rn=Kretek rt=869745308 rg=puiz
~#! tid=868567341
Hoi Kretek,

ja ich denke genau die. Falls Du irgendwas ueber
die Band weisst, i.e. ob es mehr als ein Demo-Tape gibt,
sag Bescheid, ich konnte nix rausfinden :((

Danke,
 JdG

-----------------------------------------------------------------------------



Brockhaus 31-3 (Cauno, 30. Jul 1997, 11:18:36):
22.07. Koennen Tiere hassen?

In der Zoologie wird das *angriffslustige Verhalten* von Gejagten
gegenueber einem Raeuber - also eine Umkehrung der Rollen - Hass genannt.
So "hassen" Kleinvoegel oft Greifvoegel und greifen sie im Sturzflug an,
picken nach ihren Augen und bespritzen sie mit Kot. Treffen Schimpansen
auf einen Leoparden, so gruppieren sie sich, stampfen, schreien, werfen
mit Gegenstaenden, und einzelne greifen sich schliesslich sogar einen
kraeftigen Ast, um dem Pardel einen drueberzuziehen. "Hassen" scheint also
auch hier nahe der Angst entstanden zu sein.


23.07. In welch goldenen Zeiten konnte man noch den Eiffelturm kaufen?


24.07. Wo bitte geht's zum Schlag?
       Was kann Brieftauben die Orientierung rauben?


25.07. Wie erfuhr die Oeffentlichkeit von Prinzessin Margarets Affaere
       mit Peter Townsend?


26./27.07. Bei welchem Schriftsteller des 20. Jahrhunderts gibt es grosse
           Verwirrung um Geburts- und Todesdatum?


28.07. Wann wurde die erste deutsche Lokomotive gebaut?


29.07. Elefanten als Kriegswaffen:
       War Hannibal der erste, der sie einsetzte?


30.07. Porzellanhunde in norddeutschen Fenstern: Was verraten sie uns?

-----------------------------------------------------------------------------



Re: Brockhaus 31-3 (Hardil, 30. Jul 1997, 11:26:34):
~#! rn=Cauno rt=870254316 rg=puiz
~#! tid=870254316
26./27.07. Bei welchem Schriftsteller des 20. Jahrhunderts gibt es grosse
           Verwirrung um Geburts- und Todesdatum?


Nun, die Verwirrung ist so gro, dass auch die Aufloesung vom Brockhaus meint,
da er nach seinem vermeintlichen Tod 1916 an der Front noch !59! Jahre lang
bis 1985 lebte.
Meiner unwesentlichen Meinung nach sind das zwar 69 Jahre, aber was solls.

:-)

-Hardil.

-----------------------------------------------------------------------------



Brockhaus 31-4 (Cauno, 31. Jul 1997, 11:01:35):
23.07. In welch goldenen Zeiten konnte man noch den Eiffelturm kaufen?

In den *Goldenen zwanziger Jahren*. Genauer gesagt 1925. Graf Victor
Lustig lud fuenf vermoegende Herren in ein Pariser Hotel und eroeffnete
ihnen, dass die franzoesische Regierung den Eiffelturm, der abgerissen
werden muesse, verkaufen wolle. Lustig bot an, die Sache fuer den
Meistbietenden unter der Hand zu regeln. Den Zuschlag erhielt der
Schrotthaendler Andre Poisson, der auch noch reichlich Schmiergelder
lockermachte, um die Sache zu befoerdern. 24 Stunden spaeter war Lustig
weg. Als er aber im Ausland mitbekam, dass Poisson offensichtlich keine
Anzeige erstattet hatte, kehrte er zurueck und verkaufte den Eiffelturm
gleich noch einmal an einen anderen Schrotthaendler. Lustig wurde nie
erwischt.


24.07. Wo bitte geht's zum Schlag?
       Was kann Brieftauben die Orientierung rauben?

Neben Wetterunbilden kann das vor allem durch grosse *Sonneneruptionen*
geschehen. Die dabei freiwerdenden positiv geladenen Elementarteilchen
(Protonen) koennen das Erdmagnetfeld stoeren, das den Brieftauben als
Orientierung dient.
Brieftauben sind eine speziell gezuechtete Haustaubenrasse; sie erreichen
mit einer Durchschnittsgeschwindigkeit von 60 km/h ihren Heimatschlag
ueber Entfernungen bis zu 1000 km. Sie wurden schon im Altertum im Orient
zur Nachrichtenuebermittlung eingesetzt.


25.07. Wie erfuhr die Oeffentlichkeit von Prinzessin Margarets Affaere
       mit Peter Townsend?

*Peter Townsend* (*1914, +1995), Fliegeras des Zweiten Weltkriegs und seit
1945 Hofbeamter Koenig Georgs VI., und *Prinzessin Margaret Rose* (*1930)
wurden wahrscheinlich 1952 ein heimliches Liebespaar. Im gleichen Jahr
starb Georg VI. Bei den Kroenungsfeierlichkeiten fuer Elizabeth II.
(*1926) in Westminster beobachtete ein Reporter zufaellig, wie Margaret
gedankenverloren eine Fluse von Townsends Uniform zupfte und mit einem
gewissen Stolz darueberstrich. Am naechsten Tag stand alles in der
amerikanischen Presse. Da Townsend geschieden war, konnten die beiden
nicht heiraten, und Townsend musste den Dienst quittieren.


26./27.07. Bei welchem Schriftsteller des 20. Jahrhunderts gibt es grosse
           Verwirrung um Geburts- und Todesdatum?

Bei *Robert von Ranke Graves* (*1895, +1985), bekannt vor allem durch
seinen ironisch-historischen Roman "Ich, CLaudius, Kaiser und Gott".
Waehrend der Brockhaus und andere Lexika den 26. Juli als seinen
Geburtstag nennen, bestehen viele seiner Biographen auf dem 24. Juli. 1916
meldete die "Times", er sei am 24. Juli in Frankreich gefallen, eine
Nachricht, die seine Eltern schon am 22. Juli erhalten hatten. In
Wirklichkeit war er am 20. Juli schwer verwundet worden, und erst bei der
geplanten Beerdigung hatte man bemerkt, dass er noch lebte. Das tat er mit
grosser Intensitaet noch 59 Jahre lang.


28.07. Wann wurde die erste deutsche Lokomotive gebaut?

*1818+, fast zwei Jahrezehnte vor der Eroeffnung der ersten deutschen
Eisenbahnstrecke Nuernberg-Fuerth. Zwei preussische Beamte hatten aus
England den Bauplan einer Zahnradlokomotive mitgebracht, die in der
Berliner Koeniglichen Eisengiesserei nachgebaut wurde. Als man sie dann
einsetzen wollte, stellte man fest, dass sie nicht auf die Gleise der
preussischen Pferdebahn passte. Deren Spurweite galt den Beamten
offensichtilch als sakrosankt, denn statt sie anzupassen, wurde die
Lokomotive ihrer Raeder beraubt und als gewoehnliche Dampfmaschine
eingesetzt. Das war's dann fuers erste.


29.07. Elefanten als Kriegswaffen:
       War Hannibal der erste, der sie einsetzte?

Schon vor Hannibals Zug ueber die Alpen fanden *Elefanten im Krieg*
Verwendung. Vor allem die indischen Herrscher setzten sie ein. So auch der
maechtige Koenig Poros von Pandschab 326 bei seiner Schlacht gegen
Alexander den Grossen (*357, +323 v.Chr.), der allerdings selbst schon
ueber 200 Kriegselefanten verfuegen konnte und die Schlacht am Hydaspes
(der Fluss heisst heute Dschihlam) gewann. Auch der Molosserkoenig Pyrrhos
von Epeiros (*319, +272 v.Chr.) besiegte mit Hilfe von zwanzig Elefanten
280 v.Chr. die Roemer bei Heralea. Hannibal fuehrte 37 Elefanten mit sich,
von denen allerdings nur acht die Alpen und den norditalienischen Winter
ueberstanden.


30.07. Porzellanhunde in norddeutschen Fenstern: Was verraten sie uns?

Sie stammen allesamt aus England. Die norddeutschen Seeleute kamen auf
ihren Fahrten oefters auch einmal in die grosse Handelsstadt London. Dort
hatte allerdings die Obrigkeit den Huren das Gewerbe verboten. Die wussten
sich zu helfen, indem sie offiziell *Porzellanhuendchen*, bevorzugt
Pekinesen, verkauften. So erwarb jeder Kunde neben dem Recht aufs
Tete-a-tete auch einen Hund oder deren zwei. Zu Hause konnten die Helden
der Nordsee dann auch noch ein huebsches Mitbringsel vorweisen.


31.07. Welcher Edelstein hat die meisten Varietaeten?

-----------------------------------------------------------------------------



Re: Brockhaus 31-4 (Dhojakt, 31. Jul 1997, 18:17:13):
~#! rn=Cauno rt=870339695 rg=puiz
~#! tid=870339695
Hm, bei Halbedelsteinen waere es wohl Quarz gewesen. Ansonsten wohl der
Diamant, den gibts in allen Farben (wenn auch einige ziemlich selten sind).
Khidar.

-----------------------------------------------------------------------------



Re: Re: Mal wieder ein Musikquiz (Helva,  1. Aug 1997, 13:22:14):
~#! rn=Jimdigriz rt=869649264 rg=puiz
~#! tid=868567341
Keine Flames wegen Boese Onkelz?
Ist mir ja herzlich egal, ob du keine flames erhalten moechtest oder nicht.
Ich bin bei Bnds dieser Zielsetzung (un d jetzt bitte kein gesuelze von wegen
die waren doch nur frueher so oder aehnlichen Unsinn) ziemlich allergisch.
B.O. sind so schiesse, das man noch nicht mal negativwerbung dafuer machen
darf. Und dieses kokettieren : Ach , tauchen sie halt in meinem Quiz auf, aber
bitte keine flames deswegen, so nach dem Motto darueber sind wir doch hinweg
und man brauche sich doch nicht mehr aufregen ist genaso Unsinn.
So, und jetzt koennt ihr alle das Intoleranz - Lied schreine und mich mit
flames zuwerfen.
Ach und bitte keine Kommentare zur rechtschreibung, typos etc., die kenne ich
schon.
Helva 

-----------------------------------------------------------------------------



Re^3: Mal wieder ein Musikquiz (Grimmborn,  1. Aug 1997, 13:29:02):
~#! rn=Helva rt=870434534 rg=puiz
~#! tid=868567341
Du siehst das falsch. Wenn man zu Deinem Artikel ein "Lied schreien" (schon
dieser Ausdruck zeigt einiges ueber Dein Musikverstaendnis) wollte, waere das
kein "Intoleranz - Lied" sondern ein "Dummheits - Lied".
Mit anderen Worten: Du bist weniger intolerant als vielmehr dumm. Aber das
stand ja in Deinem Artikel praktisch auch schon drin...

Grimmborn der Atheist singt:

"Die Fahnen hoch, die Reihen fest geschlossen,
SA marschiert, mit ruhig festem Tritt.
Kam'raden, die Rotfront und Reaktion erschossen,
Marschier'n im Geist in unsern Reihen mit."

-----------------------------------------------------------------------------



Re^4: Mal wieder ein Musikquiz (Wurzel,  1. Aug 1997, 18:45:03):
~#! rn=Grimmborn rt=870434942 rg=puiz
~#! tid=868567341
schlechten tag heute gehabt, grimmi? wenn ich dir das so glauben wuerde, wie
du das geschrieben hast, solltest du besser nicht auf der party erscheinen...

wurzel reagiert allergisch auf nazigesocks

-----------------------------------------------------------------------------



Re^4: Mal wieder ein Musikquiz (Raffi,  1. Aug 1997, 21:14:34):
~#! rn=Grimmborn rt=870434942 rg=puiz
~#! tid=868567341
Hmm und was sing ich jetzt ?

Die Internationale ? Zu abgedroschen.
Bandera Rossa ?      Zu Italienisch.
Die Moorsoldaten ?   Zu Missverstaendlich.
Das Guadalara Lied ? Kennt eh keiner mehr.

Ich habs !

" Haenschen klein ging allein in die w...."
H.

-----------------------------------------------------------------------------



Re^5: Mal wieder ein Musikquiz (Anatol,  1. Aug 1997, 21:15:43):
~#! rn=Raffi rt=870462874 rg=puiz
~#! tid=868567341
Konzentriere Dich mehr auf das Artikelschreiben und sing' nicht so falsch.
Du hast doch glatt das "Gruss" vergessen :)

Anatol, ohne Meldung


-----------------------------------------------------------------------------



Re^5: Mal wieder ein Musikquiz (Grimmborn,  3. Aug 1997, 18:28:07):
~#! rn=Wurzel rt=870453903 rg=puiz
~#! tid=868567341
Ich meine meine Sachen so, wie ich sie schreibe. Wenn Du auch nicht
unterscheiden kannst zwischen Wissen und Ueberzeugung, dann halte ich das
ausschliesslich fuer Dein Problem, wenn Du jeden, der Kenntnis des
Horst-Wessel-Liedes hast fuer Nazigesocks haelst (wobei die Frage bleibt,
woher Du das weisst, wenn Du kein Nazigesocks bist und also das Lied nicht
kennen duerfen solltest...). Und sollte der schoene Satz "...solltest du
besser nicht auf der party erscheinen..." eine Andeutung koeperlicher Gewalt
sein - bitte schoen, das wuerde Dein Niveau offen entlarven und deutlich
machen, wer nun eigentlich das "Gesocks" ist.

Grimmborn der Atheist. Kennt auch die Rassengesetze, falls jemand interessiert
sein sollte...

-----------------------------------------------------------------------------



Re^3: Mal wieder ein Musikquiz (Jimdigriz,  6. Aug 1997, 22:35:59):
~#! rn=Helva rt=870434534 rg=puiz
~#! tid=868567341
Ok,

ich find Nazi-bands scheisse, mir isses wurscht ob die Onkelz
jetzt angeblich dem abgeschworen haben. Ich kauf auch keine 
Platten von denen.
Aber ein Lied, dass keine Nazipropaganda enthaelt und auch
sonst nix wirklich schlimmes, darf ich trotzdem gut finden.
Auch wenns zufaellig von Arschloechern ist.
Wenn Dir das nicht passt, ist das Dein Problem.
Wenn Du mich jetzt auch fuer ein ignorantes
Arschloch haelts, dem die Problematik der (Neo-)Nazis
usw nicht bewusst ist, oder der das verharmlosen will,
dann ist das auch Dein Problem, schliesslich kennst Du mich
nciht persoenlich und kannst das auch nciht beurteilen.
Ich hab trotzdem Spass an "Nekrophil" auch wenn ich
keine Leichen schaende.

Ich hab das Gefuehl manche reagieren einfach hysterisch.
P.S. Wenn Du zweifel an meiner Gesinnung oder an meinem
Problembewusstsein in der Beziehung hast, haettest Du Dich auch
mal per mail oder 'teile mit' ruehren koennen.

Jim DiGriz

-----------------------------------------------------------------------------



Re^4: Mal wieder ein Musikquiz (Grimmborn,  7. Aug 1997, 19:23:15):
~#! rn=Grimmborn rt=870434942 rg=puiz
~#! tid=868567341
Dummerweise hatte ich hier ein reply mit einem ganzen Schwung anderer nach
schmarrn verlegt (haette nicht gedacht, dass ein Artikel von mir da
fehlplaziert sein koennte...), so dass der Artikel mit dem HWL sehr
missverstaendlich geblieben ist. Ich poste ihn daher hier nochmal, ohne damit
die Diskussion wieder aufleben lassen zu wollen. Das gibt die Sache naemlich
nicht her.

Weil es da scheinbar Irritationen gibt:
Mit der Art, wie Du JimDiGriz kritisierst, unterstellst Du ihm Sympathie fuer
das, wofuer die Boehsen Onkeltz stehen oder gestanden haben. Ich dagegen finde
es durchaus dumm, Wissen mit Ueberzeugung/Sympathie gleichzusetzen. Das mit
dem dumm habe ich gesagt und das mit dem Unterschied zwischen Wissen und
Toleranz dadurch versucht deutlich zu machen, dass ich demonstriert habe, dass
ich das Horst Wessels Lied kenne. Wer mich daraufhin fuer einen Nazi haelt
darf das gerne tun.

Grimmborn der Atheist hat das Horst Wessels Lied sogar in der Schule gelernt.
Thema "Politisches Lied".

So, nix fuer ungut. 
                     Grimmborn der Atheist

-----------------------------------------------------------------------------



42 (Barak,  8. Aug 1997, 08:59:02):
~#! rn=Grimmborn rt=870974595 rg=puiz
~#! tid=868567341
Hm, seit wann ist der Nonnebunker da eine Schule ... :)
Barak lernt nie aus 

-----------------------------------------------------------------------------



Re^5: Mal wieder ein Musikquiz (Helva,  8. Aug 1997, 15:43:55):
~#! rn=Grimmborn rt=870974595 rg=puiz
~#! tid=868567341
So,
deswegen muss ich jetzt auch nochmal schreiben.
1. Wenn grimmborn nicht meine artikel verlegt haette, haette JimDiGriz lesen
koenne, dass ich erst mal geschaut habe, ob er da war.. dann haette ich es
naemlich mit 'teile mit' probiert.
2. In meinem Artikel habe ich niemanden als Nazi beschuldigen wollen und halte
weder Jim* noch Grimm* fuer solche boesen gestalten.
3. Sachlich halte ich meine Artikel immer noch aufrecht.Ich halte es fuer
falsch, Boehse onkelz Lieder zu posten, egal welchen inhalts: Also Sippenhaft
fuer Boese Onkelz Lieder! Wer mich dafuer fuer arrogant oder dumm halten will,
kann dasCCDtun. Die Gruende habe ich in meinem ersten artikel geschrieCCn.
4. Ich kann jeden Leben lassen, der mit mir nicht einer meinung ist- von daher
kann dieses thread jetzt auch im Muelleimer landen.
5. Wenn dieser Artikel mal ein paar tage hier an dieser Stelle stehenbleiben
darf, muss ich nicht noch einen schreiben, nur weil irgendjamnd meine
reaktionen nicht mitnekommen kann, weil es nach Schmarrn verlegt ist.

helva hoffentlich das letzte mal zu diesem thema

-----------------------------------------------------------------------------



Re^4: Mal wieder ein Musikquiz (Kretek, 11. Aug 1997, 14:58:43):
~#! rn=Jimdigriz rt=870198398 rg=puiz
~#! tid=868567341
Also, ich hab mir da von 'nem halben Jahr oder so bei 'nem Pladdenhaendler
hier in Passau die "Jetzt knallts!"-CD bestellt, die ist seit 'nem Jahr oder
so wieder auf dem Markt (bei SPV, wenn mich nicht alles taeuscht), mit den
Aufnahmen von der "Jetzt knallts!" und ein paar Bonustracks!

So long,
   Kretek

P.S.: Muenchner Punkbands sind die besten!

-----------------------------------------------------------------------------



Brockhaus 34-2 (Cauno, 19. Aug 1997, 14:06:10):
Tut mir leid, dass ich das Quiz die letzten drei Wochen nicht aufrechterhalten
konnte, mir ging es mal nicht so gut (dank eines englischen Grippevirus) und
dann waren da noch ein paar andere Sachen. Im moment ist es mir zwar auch zu
heiss, aber ich sehe grade, die Zeitung (und besonders diese Rubrik) hat mal
wieder was Abwechslung noetig. Ich habe mich entschieden, heute ausnahmsweis
mal die Antworten mit zu posten, also macht eich gefasst, es wird lang. Wer
noch raetseln moechte, lese langsam.

31.07. Welcher Edelstein hat die meisten Varietaeten?

*Der Opal.*
Durch den Einschluss verschiedenster Mineralien kommt er in quasi allen
Farbschattierungen vor. Da gibt es den schillernd milchweissen Edelopal,
den rotgelben Feueropal, den blaeulichen oder gruenlichen Schwarzopal oder
den rotschimmernden Jaspopal (und noch Milch-, Wachs-, Holz-, Glas,
Honig-, Achatopal u.a.).
Zudem veraendert sich das Aussehen von Opalen auch bei unterschiedlichen
Temperaturen und ja nach Licht oder Luftfeuchtigkeit. Der Opal ist von
allen Edelsteinen der empfindlichste und kann leicht zerbrechen.


01.08. Alle Monate sind im Wechsel laenger oder kuerzer.
       Warum haben Juli und August beide 31 Tage?

Aus Gruenden der *Eitelkeit*. Bis zum Jahre 8 v.Chr. hiess der Monat
August "Sextilis", weil es der sechste Monat des alten roemischen
Kalenders war, der am 1. Maerz begann. Dann benannte man diesen Monat zu
Ehren von Kaiser Augustus (*63 v.Chr., +14 n.Chr.) um. Der wiederum konnte
es aber nicht verwinden, dass "sein" Monat einen Tag weniger hatte als der
Vormonat Juli, der nach Julius Caesar (*100, +44 v.Chr.) benannt ist. Um
zu dokumentieren, dass er mindestens auf einer Stufe mit Caesar stand,
stiebitzter re dem Februar einen Tag und machte "seinen" August ebenfalls
31 Tage lang. Seitdem ist der Februar der kuerzeste Monat.


02./03.08. Wann wurde der Besucherrekord der Pariser Weltausstellung
           von 1900 uebertroffen?

Das dauerte 67 Jahre. Erst in *Montreal* konnte die gigantische
Besucherzahl von 50 Millionen ueberboten werden. Die Pariser
Weltausstellung war eine Schau der Superlative. Es gab 100 000 Aussteller,
und auf einer Flaeche von einer Million Quadratmetern gab es ausser dem
Eiffelturm (gelb angestrichen, weil das Geld fuer die Vergoldung fehlte)
alles zu sehen, was Technik und Wissenschaft jener Tage zu bieten hatten.
Eine Hauptattraktion war das Kraftwerk, das die gesamte Ausstellung mit
Licht- und Kraftstrom versorgte. 92 Dampfkessel versorgten die
Dampfmaschinen, die die Generatoren antrieben.
Die Gesamtleistung der Anlage betrug 40 000 PS (29 200 kW).


04.08. Mal bekommt man klare Eiswuerfel, dann wieder milchige.
       Woran liegt das?

Es liegt weder am Kalkgehalt des Wassers, mit dem man die Eiswuerfelbox
fuellt, noch an dessen Temperatur. Ob klare oder truebe Eiswuerfel aus dem
EIsschrank kommen, haengt von der *Temperatur des EIsfachs* bzw. der
Tiefkuehltruhe ab. Gefrieren die Eiswuerfel langsam, so beginnt der
Gefriervorgang an einer einzigen Stelle, und die Luftblaeschen im Wasser
haben Zeit zu entweichen. Rasch gefrierendes Wasser beginnt gleichzeitig
an mehreren Stellen fest zu werden, und die Luftblaeschen werden im
Eiswuerfel eingeschlossen.


05.08. Rechtzeitig planen!
       Zu welcher Jahreszeit kann man den Mount Everest besteigen?

Aufgrund der Wetterverhaeltnisse ist eine Besteigung des *hoechsten Berges
der Welt* (8848 m) nur im Dezember/Januar, vor dem Monsun im April/Mai und
nach dem Monsun im Oktober moeglich. Allerdings sollte man sich
rechtzeitig anmelden, wenn man eine Gipfeltour unternehmen will. Die
Termine fuer moegliche Expeditionen sind auf Jahre hin ausgebucht, da
jeweils hoehstens zwei gleichzeitig (und auf verschiedenen Routen)
durchgefuehrt werden duerfen.


06.08. Die Freiheitsstatue? Der Christus auf dem Corcovado?
       Welches ist die groesste Statue der Welt?

Weder noch! Die groesste Statue der Welt ist die "Mutter Erde", eine
ausgesuchte Scheusslichkeit im sozialistisch-realistischen Stil, die bei
Wolgograd, dem ehemaligen Stalingrad, zu bewundern ist. Ihre Hoehe
betraegt 83 Meter, die sie allerdings nur durch ein hoch in die Luft
gestrecktes Schwert erreicht, das an die 15 Meter lang ist.
Bis zum Scheitel 72 Meter hoch ist die Buddha-Statue von Leshan am
Min-Fluss in Suedchina. Sie wurde im 8. Jahrhundert von Moechen aus einem
Felsen gehauen. Die Freiheitstatue bringt es bis zur Flamme auf 53 Meter,
die Christusstatue ueber Rio de Janeiro auf gerade mal 38 Meter.


07.08. Wer wuerde sie -statistisch gesehen- am ehesten ermorden:
       - ein(e) Verwandte(r)
       - ein(e) Fremde(r)?

Von Fremden wird man hoechst selten ermordet. Laut Untersuchung des
Berufsverbandes Deutscher Psychologen kennen sich *Moerder und Opfer*
meistens. Besonders hoch (25 Prozent) ist die Mordrate unter
Lebenspartnern, wobei ueberwiegend die Maenner (90 Prozent) morden.
Besonders fatal, entdeckten die Psychologen, ist die sogenannte "letzte
Aussprache". Wir raten also den Damen: Seien Sie lieber rigoros und geben
Sie ihm keine "allerletzte" Chance!


08.08. Immer wieder ein Thema fuers Sommeloch: die Jahrhunderthitze.
       Warum starben vor zwei Jahren in Chicago ueber 450 Menschen in
       einer Woche?

*Die Fakten:* Es war in Chicago heiss, einmal sogar ueber 400 Celsius, und
innerhalb einer Woche starben davon nur ca. 50 an nachweisbarem Herz- und
Kreislaufversagen. Die restlichen verschieden zwar auch in dieser Woche
mit heissen Temperaturen, aber nicht an den hohen Temperaturen. Im
uebrigen sterben in Chicago im Sommer immer mehr Menschen als im Winter.
Um es kurz zu machen: Es war halt wieder einmal der bei Amerikanern so
beliebte heisseste Sommer seit 1853. Und unsere TV-Moderatoren brachten
uns mit Eifer dazu, dass wir uns tagelang vortsllten, wie Menschen in
Backofenwohnungen schraneweise dahinstarben.


09./10. Heute ist der Tag des heiligen Laurentius.
        Was war das Schicksal des Heiligen?

*Laurentius* (+528) war Erzdiakon des Papstes Sixtus II: (+258) und kam
wie dieser im Zuge der Christenverfolgungen des Kaisers Valerian (*um 185,
+nach 259/60) ums Leben. Er wurde, laut Legende, zwischen gluehenden
Kohlen geroestet. Kurz bevor er zum Herrn einging, soll er zum
Folterknecht noch gesagt haben: "Der Braten ist schon fertig, du magst nun
davon essen." Hut ab vor soviel Galgenhumor in solch wahrhaft grauslicher
Lage!


11.08. Immer noch Laurentiuszeit. Was sind Laurentiustraenen?

So nennt der Volksmund die *Sternschnuppen*, die in den Naechten zwischen
dem 10. und 14. August so auffallend haeufig vom Himmel fallen. Im Sommer
durchquert die Erde auf ihrem rasenden Flug um die Sonne den Meteorstrom
der sogenannten Perseiden (auch "Laurentisschwarm").
Sie werden so genannt, weil die Sternschnuppen alle aus dem Sternbild
Perseus im Nordosten zu stammen scheinen. Es sind Staubwolken, die der
Komet Swift-Tuttle bei seinem Flug durch unser Planetensystem an der Sonne
vorbei zurueckgelassen hat.


12.08. Welchen Phantasietitel trugen die oesterreichischen Prinzen?

Sie schmueckten sich von 1359 bs 1918 mit dem Titel *"Erzherzog"*, den die
Habsburger selbst erfanden. Um die gleichen Rechte wie die deutschen
Kurfuersten (und noch mehr) zu erhalten, legte Harzog Rudolf IV. (*1339,
+1365) Kaiser Karl IV. einen ganzen Schwung von Dokumenten vor, die die
rechtliche Grundlage weitreichender Privilegien bilden sollten. Darunter
waren auch Urkunden Neros und Caesars, obwohl denen Oesterreich noch
unbekannt gewesen sein duerfte.
Kaiser Karl, Gruender der Prager Universitaet, konnte man so nicht aufs
Kreuz legen. Doch hundert Jahre spaeter versuchten's die Habsburger noch
einmal und Kaiser Friedrich II. (*1440, +1493) fiel auf den Schwindel
herein.


13.08. Nach welchen Kriterien beurteilt man einen vorschriftsmaessigen
       Dackel?

Wie ein Dackel, korrekterweise *"Teckel"* genannt, aussehen soll, bestimmt
der "Deutsche Teckelklub von 1888". Das geht von der Kopfhaltung bis zur
Beinform ("nicht fassbeinig"). Die drei Arten, Rauhhaar, Langhaar- und
Kurzhaardackel, werden je nach Brustumfang in Kaninchenteckel, Zwergteckel
und Normalteckel eingeteilt.
Neben den ein- und zweifarbigen Exemplaren gibt es noch eine gefleckte
Variante, bei denen sich die Hueter des Teckelwesens kuehn ueber Charakter
und Aussehen des Tiers hinwegsetzen: Sie nennen ihn stolz "Tigerteckel"!


14.08. Oh heiliger Sankt Elmo ... Sind Elmsfeuer gefaehrlich?

Im allgemeinen nicht. Ein *Elmsfeuer*, benannt nach Sankt Elmo, dem
Seefahrerpatron des Mittelmeers, entsteht dann, wenn die negative Ladung
an der Unterseite eines Gewitters positive Ionen aus darunter befindlichen
Gegenstaenden auf der Erde zieht. So findet eine stille elektrische
Entladung an Schiffstakelagen, Flugzeugtragfleachen, Gebaeudespitzen,
Eispickeln usw. statt, die ein fahles, blaeuliches Licht in Form von
Lichbuescheln oder als Lichthaut entstehen laesst.
In der Antike galt das Elmsfeuer als schlechtes Omen, spaeter war es den
Seefahrern hoechst willkommen, weil es oft erst dann auftritt, wenn das
schlimmste Unwetter vorbei ist.


15.08. Der beste Freund des Feindes.
       Welche Hunderasse wurde von einem Hundefaenger gezuechtet?

Der *Dobermann*, der in vielen Laendern als Diensthund bei Polizei- und
Zollbehoerden beliebt ist. Gezuechtet wurde diese Rasse von Karl Friedrich
DObermann (*1834, +1894), der eine Reihe von Berufen ausuebte, in denen
man Schutz gebrauchen kann: Neben seiner Taetigkeit als HUndfaenger seiner
Heimatstadt Apolda bei Weimar war er Steuereintreiber, Gerichtsvollzieher
und Nachwaechter. Er kreuzte Huetehunde mit Pinschern und Rottweilern,
deren Abkoemmlinge dann mit Doggen, Deutsch-Kurzhaar und Jagdhunden, um
schliesslich diese Bastarde mit Greyhounds und Terriern zu paaren. Zu
Ehren seines Zuechters nannte man den "Gendarmenhund" auch
"Dobermannpinscher".


15./17.08. Mal drueber schlafen ... Welche Erfindung wurde im Traum
           gemacht: - die Dampfmaschine
                    - die Naehmaschine
                    - die Schleifmaschie?

Nach jahrelangem vergeblichem Suchen kam dem Erfinder Elias Howe (*1819,
+1867) die Kernidee zur ersten brauchbaren *Naehmaschine* der Welt in
einem Traum. Darin wurde er von Wilden gefangen, die ihn mit ihren Speeren
bedrohten. Howe fiel auf, dass sich in allen Speerspitzen ein Loch befand.
Er erwachte und erkannte die einzig brauchbare Loesung fuer sein Problem:
eine Naehmaschine nit einer Nadel, in deren Spitze sich zum Fuehren des
Fadens ein Loch befand. Haette es damals schon Psychoanalytiker gegeben:
Der seine haette den Traum sicher anders gedeutet!


18.08. Erfolgreich wie Mario Puzo, der AUtor des Romans "Der Pate"!
       Was raet der dem angehenden Bestsellerautor?

Hier eine Auswahl der *Ratschlaege Mario Puzos* (*1920), des Autors von
"Der Pate" (1969):
- Schreibe nie in der ersten Person.
- Sprich mit niemandem ueber deine Arbeit, bevor das Manuskript fertig ist.
- Verkaufe das Buch nicht an eine Filmproduktion, bevor es gedruckt ist.
- Umschreiben ist das ganze Geheimnis des Schreibens.
- Fuehre ein geruhsames Leben. Lies viel und geh ins Kino.
- Traue niemandem ausser dir selbst.
  Das schliesst Kritiker, Freunde und vor allem deinen Verleger ein.
Und jetzt fangen Sie am besten gleich an.


19.08. Wann fand die erste Filmvorfuehrung an Bord eines Flugzeuges statt:
       -1925  -1950  -1961?

-----------------------------------------------------------------------------



Re: Brockhaus 34-2 (Tangalur, 19. Aug 1997, 14:09:46):
~#! rn=Cauno rt=871992370 rg=puiz
~#! tid=871992370
zur Frage vom 08.08.

400 Celsius ist wirklich sehr sehr heiss...
                               ... wunder mich dass nicht mehr gestorben sind

:-)

-----------------------------------------------------------------------------



Re: Re: Brockhaus 34-2 (Cauno, 19. Aug 1997, 14:10:50):
~#! rn=Tangalur rt=871992586 rg=puiz
~#! tid=871992370
40 *Grad* Celsius! Das war leider ein Sonderzeichen, hab ich in der Menge
uebersehen ...

C. No

Ein Tippfehler wird ja wohl auch mal erlaubt sein ...

-----------------------------------------------------------------------------



Re: Brockhaus 34-2 (Escubar, 19. Aug 1997, 14:34:28):
~#! rn=Cauno rt=871992370 rg=puiz
~#! tid=871992370
Also das mit dem Mount Everest stimmt nicht ganz:

Es ist moeglich ihn im Rahmen von Expeditionen zu besteigen, diese werden
inzwischen sogar von erfahrenen Fuehrern (die Todesrate liegt bloss bei 20%)
organisiert.

Also wer mal hin will, der Spass kostet laeppische 130.000 Dollar !!

An wen man sich wenden muss, stand vor Monaten mal im Spiegel.

Eisbaer Escubar, dem es da oben aber zu kalt waer ;)

PS: An wen man sich da wenden muss, stand vor Monaten mal im Spiegel, sollte
sich ueber das Archiv rausfinden lassen ...

-----------------------------------------------------------------------------



Re: Brockhaus 34-2 (Fyt, 19. Aug 1997, 17:01:40):
~#! rn=Cauno rt=871992370 rg=puiz
~#! tid=871992370
Ich wundere mich doch, dass ein Lexikon sich zu wertenden
Auesserungen hinreissen laesst: 'scheussliche Architektur'.
Sowas ist immer noch Geschmacksache, ich persoenlich habe schon
weitaus haesslichere Bauwerke gesehen.

Btw: Wenn mich meine grauen Zellen nicht truegen, steht der Buddha in
Leshan nicht frei, sondern ist als Relief aus dem Hang herausgearbeitet
worden. Zaehlt so etwas als 'Statue'?

Fyt.

-----------------------------------------------------------------------------



Brockhaus 34-4 (Cauno, 21. Aug 1997, 09:50:48):
19.08. Wann fand die erste Filmvorfuehrung an Bord eines Flugzeuges statt:
       -1925  -1950  -1961?

DIe Fluggesellschaft "Imperial Airways" fuehrte *1925* ihren Fluggaesten
auf einem Flug von London nach Paris erstmals einen Film vor. Es war der
Stummfilm "The Lost World" nach einem Roman des Sherlock-Holmes-Schoepfers
Arthur Conan Doyle. Als selbstverstaendlicher Service wurde das Bordkino
erst ab 1961 eingefuehrt.


20.08. Hier geht's um ihren Olfaktorius ...
       Was ist der Unterschied zwsichen Anosmie und Parosmie?
       (Wissen Sie doch garantiert!)


21.08. Quark, Anti-Quark, alles Quark?


-----------------------------------------------------------------------------



Re: Brockhaus 34-4 (Hobo, 21. Aug 1997, 10:25:43):
~#! rn=Cauno rt=872149848 rg=puiz
~#! tid=872149848
Klar, sowas weiss man doch:
Anosmie - voelliger Verlust des Geruchssinnes
Parosmie - teilweiser Verlust des Geruchssinnes
Oder doch nicht?

Hobo

-----------------------------------------------------------------------------



Re: Brockhaus 34-4 (Anatol, 21. Aug 1997, 14:26:51):
~#! rn=Cauno rt=872149848 rg=puiz
~#! tid=872149848
Rechtsdrehend?
Linksdrehend?
Kopfverdrehend?

Oder auch nicht. :)
Anatol


-----------------------------------------------------------------------------



Re: Brockhaus 34-4 (Jimdigriz, 22. Aug 1997, 02:31:47):
~#! rn=Cauno rt=872149848 rg=puiz
~#! tid=872149848
Hai,

21.08:

Alles Quark, zumindest das Anti-Quark :)

 Es gibt ein Top-Quark und ein Bottom Quark ,
 ein Strange Quark und ein Charm Quark
 ein Up Quark und ein Down Quark,

weiterhin gibt es 
  Magerquark, Fruchtquark (viele Sorten)
  Quark (40%), Topfen, etc ...

btw, das Top Quark is gar nicht so leicht
wie man gedacht hat, deshalb auch erst so spaet
entdeckt...
(wisst Ihr eh alle, ich weiss ich bin heute
mal ein Klugscheisser)

*blubbblubbbllllubbb* :-)
JdG

-----------------------------------------------------------------------------



Brockhaus 35-1 (Cauno, 25. Aug 1997, 09:57:54):
21.08. Quark, Anti-Quark, alles Quark?

Hier geht es nicht um den von der Molke abfiltrierten KAesestoff, sondern
um das hypothetische Urteilchen der Materie, dessen Name aus James Joyces
Roman "Finnegans Wake" stammt. Es existiert nicht und es existiert doch.
Es ist ein Elementarteilchen, aus dem alle anderen Elementarteilchen
entstanden sein sollen. Nach herkoemmlichen Kriterien sind *Quarks*
voellig unwissenschaftlich: Sie koennen nicht nachgewiesen werden. Mehr
noch: Es gibt eine Wissenschaftsdisziplin, die Quantenchromodynamik, von
der man erwartet, dass sie beweist, waurm Quarks, Anti-Quarks usw. nicht
zu beobachten und damit nicht zu beweisen sind. Der Wille erschafft alles!


22.08. Warum dauerte eine Quarantaene frueher 40 Tage?


23./24.08. Welcher Schriftsteller war AUgenzeuge des Untergangs von
           Pompeji?


25.08. Bunter und Billiger! Wer ermoeglichte das automatische Weben auch
       komplizierter Textilmuster?

-----------------------------------------------------------------------------



Re: Brockhaus 35-1 (Helva, 25. Aug 1997, 10:15:44):
~#! rn=Cauno rt=872495874 rg=puiz
~#! tid=872495874
23./24.08.:
Wenn ich mich noch recht aus dem Latein-Unterricht erinnere, Plinius der
Aeltere ?
Helva macht heute auf schlau und faellt damit garantiert auf die Nase

-----------------------------------------------------------------------------



Was ist das? (Hobo, 25. Aug 1997, 10:19:01):

- gruen
- 10 - 30 cm lang
- mit zwei spitzen enden
- noch nicht ganz reif
- und wenn man am einen ende dreht, geht was auf, was eigentlich gar nicht
dazu gehoert

Dancer ist fuer weitere Tips zustaendig :))


Hobo

-----------------------------------------------------------------------------



Brockhaus 35-5 (Cauno, 29. Aug 1997, 14:02:10):
22.08. Warum dauerte eine Quarantaene frueher 40 Tage?

Das franzoesische Wort "quarantaine" entstammt dem italienischen
"quarantino" = etwa vierzig. Die Frist einer *vierzigtaegigen Isolierung*
zum Schutze der Ansteckung entstand in den italienischen Haefen im 14.
Jahrhundert, als man ein Wiederausbrechen der Pest durch anlaufende
Schiffe verhindern wollte. Die 40-Tage-Frist leitete man von der Dauer der
biblischen Sintflut ab. Es gibt auch kaum Krankheiten, die eine laengere
Inkubationszeit haben.


23./24.08. Welcher Schriftsteller war AUgenzeuge des Untergangs von
           Pompeji?

Es war *Plinius der Juengere* (*61/62, +um 113).
In zwei Briefen an den Schriftstellerkollegen Tacitus (*um 55, +nach 116)
beschreibt er den Vesuvausbruch vom 24. August des Jahres 79, dem die
Staedte Pompeji, Herculaneum, Stabiae und Oplontis zum Opfer fielen. Er
beobachtete aus 30 km Entfernung eine riesige, schwarze Wolke, die
"zuckend aufriss und in ihrem Innern lange Flammen sehen liess, die
gewaltigen Blitzen glichen". Am naechsten Tag lag die ganze Gegend durch
den Ascheregen in tiefster Finsternis wie ein "fensterloses Zimmer ohne
Licht". Bei der Katastrophe kam auch Plinius' Onkel, G`ius Plinius
Secundur der Aeltere, ebenfalls Sbhrhftrtemles-!ums Mecen.        !    
!!!!!!!!!!!!!!!!

25.08. Bunter und Billiger! Wer ermoeglichte das automatische Weben auch
       komplizierter Textilmuster?

*Joseph-Marie Jacquard* (*1752, +1834). Der franzoesische Weber und
Erfinder konstruierte 1805 einen selbsttaetigen Webstuhl, der von
Lochkarten gesteuert wurde. Durch diese Lochkarten konnten die Kettfaeden,
die sichtbar werden sollten, angehoben werden. Das hatte bis dahin noch
der Weber jeweils selbst bestimmen muessen. Durch den Jacquardwebstuhl
konnten Textilbilder hergestellt werden, die annaehernd die Qualitaet von
Oelgemaelden aufwiesen. Die Jacquardweberei, heutzutage natuerlich
computergesteuert, ermoeglicht die gleichzeitige Verarbeitung
unterschiedlichster Garne.


26.08. Krokodile sind Fleischfresser. Oder gibt's Ausnahmen?


27.08. Wo verbrachte der "Hauptmann von Koepenick" eigentlich seinen
       Lebensabend?


28.08. Wer war der prominenteste Kunde des Faelschers Hans van Meegeren?


29.08. Aus unserer Rubrik "Sinnloses Wissen":
       Wer hatte das geringere Gehirngewicht: - Marylin Monroe
                                              - John F. Kennedy?

-----------------------------------------------------------------------------



29.08. (Helva, 29. Aug 1997, 21:43:29):
So, ich denke mal Marilyn, weil sie eine Frau ist.
Nein, nicht gleich schreien, laut neuesten Forschungsergebnissen haben Frauen
ein VIEL besseres gedaechtnis als Maenner.
Oder kann man sich irgendwo die obduktionsergebnisse der beiden
(Marilyn+Kennedy) ansehen?
Helva riskiert schon wieder ihre eigene Dummheit (was dieser Satz beweist).

-----------------------------------------------------------------------------



Re: Was ist das? (Lug, 31. Aug 1997, 02:20:27):
~#! rn=Hobo rt=872497141 rg=puiz
~#! tid=872497141
Aeh,

klingt nach mir.

Lug

-----------------------------------------------------------------------------



Re: Brockhaus 35-5 (Lycar, 31. Aug 1997, 03:50:05):
~#! rn=Cauno rt=872856130 rg=puiz
~#! tid=872856130
Darf ich mal raten:
Kennedy starb bekanntlich u.a. an einem Kopfschuss, der neben einem
Teil des Schaedels auch Hirnmasse ... aeh , sagen wir einfach, bei
der Obduktion hatte er weniger Hirn als zu Lebzeiten....
Aber ob das die gesuchte Antwort ist ???

Lycar -Hobbypathologe

-----------------------------------------------------------------------------



Re: Re: Brockhaus 35-5 (Cauno,  1. Sep 1997, 13:36:49):
~#! rn=Lycar rt=872992205 rg=puiz
~#! tid=872856130
Hm, soweit ich weiss, hat man von Kennedys Hirn sowieso nicht mehr viel
gefunden - bzw. soll es ganz verschwunden sein (laut Verschwoerungstheorie).
Mit Kugel haette es eigentlich schwerer sein muessen ... Na, es gibt trotzdem
eine Antwort.

siehe naechster Artikel

C. No

-----------------------------------------------------------------------------



Brockhaus 36-1 (Cauno,  1. Sep 1997, 13:39:06):
26.08. Krokodile sind Fleischfresser. Oder gibt's Ausnahmen?

Nein, aber es gab einmal eine Ausnahme.
1960 wurde am Fluss Jangtse in der chinesischen Provinz Hubei ein 120
Millionen Jahre altes *Krokodil* ausgegraben. 35 Jahre spaeter schloss ein
chinesisch-amerikanisches Forscherteam aus der Untersuchung der
Kauwerkzeuge, dass es sich dabei um ein Krokodil handelte, das sich
ausschliesslich von Pflanzen ernaehrt haben muss. Was die Wissenschaftler
von vegetarischen Krokodilen halten, drueckt sich im Namen des Urviechs
aus: Chimaerasuchus paradoxus.


27.08. Wo verbrachte der "Hauptmann von Koepenick" eigentlich seinen
       Lebensabend?

Nachdem der Flickschuster *Wilhelm Voigt* (*1849, +1922) seinen dreisten
AUftritt im Koepenicker Rathaus absolviert hatte, bei dem er den
Buergermeister und seine Frau verhaften liess und die Stadtkasse mit 4000
Reichsmark konfiszierte, wurde er elf Tage spaeter verhaftet.
Das Urteil, vier Jahre Gefaengnis, wurde per Gnadenerlass des Kaisers auf
zwanzig Monate reduziert. Seinen Lebensabend verbrachte er dann geruhsam
in Luxemburg und lebt dort von einer Rente, die ihm eine gluehende
Anhaengerin, eine Berliner Witwe, ausgesetzt hatte.


28.08. Wer war der prominenteste Kunde des Faelschers Hans van Meegeren?

Reichsmarschall *Hermann Goehring* (*1893, +1946). Der kunstsinnige
Morphinist und Gruender der Gestapo war stolz darauf, ein Meisterwerk des
niederlaendischen Malers Jan Vermeer (*1632, +1675) mit dem Titel
"Christus und die Ehebrecherin" in seinen Besitz zu bekommen. Realiter
hatte es der geniale Kunstfaelscher Hans van Meegeren (*1889, +1947)
gemalt. ALs man ihn nach dem Krieg wegen dieses Verkaufs eines "echten"
Vermeers als Kollaborateur belangen wollte, bewies van Meegeren seine
Faehigkeiten und malte unter polizeilicher Bewachung einen weiteren
"Vermeer". Daraufhin kam van Meegeren wieder auf freien Fuss.


29.08. Aus unserer Rubrik "Sinnloses Wissen":
       Wer hatte das geringere Gehirngewicht: - Marylin Monroe
                                              - John F. Kennedy?

*Marylin*. Ihr Gehrin wog 1440 Gramm, das von John F. Kennedy 10 Gramm
mehr (Amtsvorteil). Doch bevor diese Information wieder irgendeinem
Blondinenwitz einverleibt wird, sei darauf hingewiesen, dass das Gewicht
eines Gehirns keinerlei Rueckschluesse auf dessen Leistungsfaehigkeit
zulaesst. Frueher war man da anderer Ansicht und hat fleissig gewogen.
Deshalb wissen wir auch, dass Lord Byrons Gehirn 2,3 Kilogramm wog,
waehrend der Maler Raffael gerade mal 1,1 Kilogramm an kleinen grauen
Zellen auf die Waagschale brachte.


30./31.08. Wo findet der zweitgroesste Karneval der Welt statt:
           - in Koeln
           - in London
           - in Basel?


01.09. Johnny Depp hat ihn hinreissend verkoerpert: Don Juan.
       Hat er wirklich gelebt?


-----------------------------------------------------------------------------



Brockhaus 36-4 (Cauno,  4. Sep 1997, 11:21:04):
30./31.08. Wo findet der zweitgroesste Karneval der Welt statt:
           - in Koeln
           - in London
           - in Basel?

In *London*, genauer gesagt im Londoner Stadtteil Notting Hill. Jedes Jahr
versammeln sich hier am letzten Augustwochenende Hunderttausende, um in
den Strassen zu feiern und zu tanzen. Getragen wird das Spektakel
hauptsaechlich von Einwanderern von den ehemals britischen Karibikinseln
wie Jamaika und Trinidad. Entsprechend finden die Umzuege der
Karnevalsgesellschaften zu Calypso, Reggae, Haouse, Rap und allen anderen
Spielarten afrokaribischer Musik statt. Haben Sie schon was vor an diesem
Wochenende?


01.09. Johnny Depp hat ihn hinreissend verkoerpert: Don Juan.
       Hat er wirklich gelebt?

*Don Juan de Tenorio* soll tatsaechlich um 1130 im Koenigreich Leon,
natuerlich in Sevilla, gelebt haben und als Sohn eines Admirals in
allerlei Liebesaffaeren verwickelt gewesen sein. Die Volkssage kannte noch
einen anderen Don Juan, den Don Juan de Marana, einen Wuestling, der seine
Seele dem Teufel verkaufte. Bei Tirso de Molina (*1583?, +1648), der Don
Juan zur literarischen Gestalt mit archetypischen Zuegen machte, sind
Historisches und Fiktives schon ununterscheidbar verwoben. "El burlador de
Sevilla y convidado de piedra" ("Der Spoetter von Sevilla und der
Steinerne Gast"), Schauspiel in drei Akten, wurde 1624 in Madrid von der
Compana Roque de Figueroa uraufgefuehrt.


02.09. Karriere durch Pleiten ... Wie wurde Captain Bligh Vizeadmiral?


03.09. Eichhoernchensammelzeit!
       Wo schleppen die Eichkater eigentlich die Nuesse hin?


04.09. Einmalig und unveraenderlich: In welchem Land wurden
       Fingerabdruecke erstmals zur Verbrechensaufklearung benutzt?

-----------------------------------------------------------------------------



Brockhaus 36-5 (Cauno,  5. Sep 1997, 11:48:20):
02.09. Karriere durch Pleiten ... Wie wurde Captain Bligh Vizeadmiral?

Wie allgemein bekannt, wurde *William Bligh* (*1733, +1817), Kapitaen der
"Bounty", 1789 von Meuterern mit 18 Gefaehrten in einem Beiboot in der
Suedsee ausgesetzt. Nach einer 6500 Kilometer langen Reise erreichte die
Nussschale die Insel Timor. Sechs Jahre spaeter wurde Bligh zum Gouverneur
des australischen Neusuedwales ernannt. Als er dort den illegalen
Rumhandel bekaempfen wollte, kam es 1808 unter der Fuehrung seines
Stellvertreters erneut zu einer Meuterei, und Bligh wurde fuer zwei Jahre
arretiert. 1811 kehrte er nach England zurueck und wurde prompt zum
Konteradmiral ernannt. 1814 wurde der Liebling aller Meuterer dann
Vizeadmiral, der dritthoechste Rang, den die Royal Navy zu vergeben hat.


03.09. Eichhoernchensammelzeit!
       Wo schleppen die Eichkater eigentlich die Nuesse hin?

Bei unseren *Eichhoernchen* ist es anders als bei Ahoernchen und
Behoernchen, deren Vorrat in der Baumhoehle des oefteren von Donald Duck
bedroht wird. Unsere Eichhoernchen vergraben ihre Nuesse und Samen an
vielen Stellen ihres Reviers. Im Winter werden sie zwar nicht alle
wiederfinden, aber sie haben so viel vergraben, dass es allemal reicht.


04.09. Einmalig und unveraenderlich: In welchem Land wurden
       Fingerabdruecke erstmals zur Verbrechensaufklearung benutzt?

*In Argentinien*. Dort wurde 1892 ein Doppelmord mit Hilfe eines blutigen
Daumenabdrucks aufgeklaert. Im Polizeibuero von La Plata hatte man eine
Identifizierugs- und Archivierungsmethode fuer Fingerabdruecke entwickelt.
International setzte sich das Fingerabdruckverfahren aber erst durch,
nachdem Scotland Yard 1901 die Einteilung nach dem sogenannten
Galton-Henry-Verfahren eingefuehrt hatte. Von der Unverwechselbarkeit der
Fingerabdruecke wussten die Japaner schon seit Jahrhunderten: Das einfache
Volk verwendete sie als Unterschrift.


05.09. Womit wurden im Jahre 1913 die Briefmarken Albaniens perforiert?

-----------------------------------------------------------------------------



Quarks (Dranreb,  5. Sep 1997, 23:52:49):
Quarks sind durchaus nachzuweisen, indem man zB Protonen mit schnellen
Elektronen 'durchleuchtet'; dabei zeigen sich deutlich drei Teilchen,
die sich umkreisen und zusammen dann das Proton ausmachen.

-----------------------------------------------------------------------------



Re: Quarks (Grimmborn,  5. Sep 1997, 23:53:56):
~#! rn=Dranreb rt=873496369 rg=puiz
~#! tid=873496369
Deine Kenntnisse der Teilchenphysik sind erschreckend primitiv...

GdA

-----------------------------------------------------------------------------



Re: Re: Quarks (Dranreb,  7. Sep 1997, 00:14:01):
~#! rn=Grimmborn rt=873496436 rg=puiz
~#! tid=873496369
Danke Grimmborn. Aber 'Der Wille erschafft alles' ist noch daemlicher.
Ich wollte ausdruecken, dass es durchaus Beobachtungen gibt, und habe
zum einfachsten Beispiel gegriffen, das mir gerade in den Sinn kam.

Ich haette eine Hypothese anzubieten, in der die starke Kernkraft durch
ein unregelmaessiges elektrisches Feld erklaert wird (so dass ein Quark
aus einer Richtung - und der entgegengesetzten - positiv erscheint,
in dazu senkrecht liegenden Richtungen dagegen negativ, so dass die
Summe zwar 1/3 oder 2/3 einer Elektronenladung ergibt, die Wirkung nach
draussen allerdings deutlich staerker ist).

Die Hypothese ist natuerlich nicht wissenschaftlich, da sie keine
mathematischen Resultate liefern kann (zumindest jetzt nicht), aber
immer noch hundertmal besser als 'Der Wille erschafft alles'.

-----------------------------------------------------------------------------



Brockhaus 37-1 (Cauno,  8. Sep 1997, 11:43:10):
05.09. Womit wurden im Jahre 1913 die Briefmarken Albaniens perforiert?

Mit einer *Naehmaschine*. Es handelte sich um eine Aushilfsausgabe mit
Doppelkreisstempel. Unmittelbar nach dem Zweiten Weltkrieg hatte man im
Saechsischen aehnliche Probleme. Da eine Zaehnungsmaschine nicht zur
Verfuegung stand, wurden die ersten Marken von Ostsachsen mit Naehmaschine
und Schnittmusterraedchen bearbeitet.


06./07.09. In welchem Land schrieb die erste Autorin der Weltliteratur:
           - in Japan
           - in China
           - in Persien?


08.09. Warum poppt Popcorn?

-----------------------------------------------------------------------------



Brockhaus 37-2 (Cauno,  9. Sep 1997, 12:55:47):
06./07.09. In welchem Land schrieb die erste Autorin der Weltliteratur:
           - in Japan
           - in China
           - in Persien?

In Japan. In den Jahren 1004 bis 1011 schuf *Murasaki Shikibu* (*um 978,
+um 1016) "Genji-monogatari", den "Roman des Prizen Genji". Die 54 Buecher
des gigantischen Werkes schildern das Leben und die Liebesabenteuer des
Prinzen Genji und seines angeblichen Sohnes Kaoru. Mehr als 370 Personen
treten namentlich in der vielverzweigten Handlung auf. Murasaki war nach
dem Tod ihres ehemanns Hofdame am kaiserlichen Hof und schrieb in der
japanischen Umgangssprache. Das war aussergewoehnlich, da Dichter und
Gelehrte in Japan zu dieser Zeit chinesisch zu schreiben pflegten.


08.09. Warum poppt Popcorn?

*Popcorn* kann mur mit Maiskoernern hergestellt werden, und das liegt ganz
einfach an der in der Staerke gebundenen Feuchtigkeit. Die fuer Popcorn
verwendeten Maiskoerner enthalten mehr Wasser als alle anderen
Getreidekoerner: etwa 13,5 Prozent. Hinzu kommt, dass die Aussenhuelle des
Maiskorns sehr hart ist, sie haelt einen Dampfdruck von bis zu fuenfzehn
Kilopond pro Quadratzentimeter aus. Beim Erhitzen dehnt sich also das
Wasser im Maiskorn aus, wird aber vom Kornmantel zurueckgehalten, dehnt
sich weiter aus, wird immer noch zurueckgehalten, dehnt sich weiter aus
und ... POP!


09.09. Dreimal ist Pandora in der Sprachbuechse enthalten. Wie?

-----------------------------------------------------------------------------



Re: Quarks (Catweazle,  9. Sep 1997, 13:49:50):
~#! rn=Dranreb rt=873496369 rg=puiz
~#! tid=873496369
Allerdings _sehr_ einfach beschrieben :)
Das 'Durchleuchten' stimmt zwar so ungefaehr, aber damit kriegt man nur
Streubilder und ganz bestimmt sieht man dabei nicht die 3 Teilchen. Soweit
ich weiss, aht bisher auch noch niemand zeigen koennen, das es tatsaechlich
3 sind, es koennten auch mehr sein. Zudem sind die 'Teilchen' in zB einem
Proton ausserordentlich gut statistisch verteilt, so dass man eine verdammt
schnelle Zeitaufloesung braeuchte um sie tatsaechlich zu sehen, aber da war 
mal der boese Onkel Heisenberg, der so ein dummes Wirkungsquantum h-quer 
entdeckt, was das ganze etwas schwierig machen duerfte.
Ich koennte mir aber vorstellen, das man mit den Elektronen eine Abweichung
der idealen Kugelform aus den Streumessungen rausrechnen kann...
Tatsaechlich sind die 3(2) Quarks mit ihren Farbladungen und Antiteilchen
nur ein statistisches Modell ueber den Aufbau von Elementarteilchen. Die
bisher gefundenen lassen sich damit aber alle ausserordentlich gut 
beschreiben.

Yours truly,
     Catweazle (steht kurz vor den Pruefungen :-)

-----------------------------------------------------------------------------



Re: Re: Quarks (Kobayashi,  9. Sep 1997, 13:53:28):
~#! rn=Catweazle rt=873805790 rg=puiz
~#! tid=873496369
Also ich geh immer in den Supermarkt wenn ich einen Quark brauche. ( Und wenn
ich in den englischen Supermarkt gehe, ja sowas gibts bei uns noch, weil dir
AirBase der Tommys noch da ist, kaufe ich halt mehrer Quarks)

-----------------------------------------------------------------------------



Re^3: Quarks (Catweazle,  9. Sep 1997, 13:54:48):
~#! rn=Kobayashi rt=873806008 rg=puiz
~#! tid=873496369
Hm, interessant, haste schon mal nen paar Streuexperimente daran gemacht?
YTC

-----------------------------------------------------------------------------



Re^3: Quarks (Fyt,  9. Sep 1997, 13:59:54):
~#! rn=Kobayashi rt=873806008 rg=puiz
~#! tid=873496369

Erstaunlich, Koba, hast Du in England schon mal Quark in einem
Tante-Emma-Laden gesehen? Moechte mal wissen, was eure Tommys mit
dem Zeug anstellen...

Fyt, schon mal verzweifelt Quark gesucht habend.

-----------------------------------------------------------------------------



Brockhaus 37-3 (Cauno, 10. Sep 1997, 14:12:30):
09.09. Dreimal ist Pandora in der Sprachbuechse enthalten. Wie?

Zunaechst natuerlich als die griechische *Pandora*, das erste menschliche
Frauenwesen. Sie oeffnete, neugierig wie ihre Schwester Eva, die ihr
mitgegebene Buechse, der alle Uebel der Welt entfuhren und in der einzig
die Hoffnung verblieb.
Als "Pandora" bezeichnet man auch ein Saiteninstrument des 16. und 17.
Jahrhunderts, auf dem die Figuren des Generalbasses gezupft wurden.
Und schliesslich gab es im Barock und im Rokoko eine Pandora, die, quasi
als Modezeitschrift, durch ganz Europa reiste. Es war ein Stoff- oder
Holzpueppchen, das von den Couturiers nach der neuesten Mode eingekleidet
und an die Damen von Welt verschickt wurde. Natuerlich in einer Schachtel,
nicht in einer Buechse.


10.09. Die Glocken am Meeresgrund! Gibt es die sagenhafte Stadt Vineta?

-----------------------------------------------------------------------------



Brockhaus 37-4 (Cauno, 11. Sep 1997, 10:20:38):
10.09. Die Glocken am Meeresgrund! Gibt es die sagenhafte Stadt Vineta?

*Vineta* war in der Sage eine bluehende, reiche Handelsstadt an der
Ostsee, die vom Meer verschlungen wurde. Heutzutage ist man sich sicher,
dass es eine solche von den heidnischen Wenden bewohnte Stadt im 10.
Jahrhundert gegben hat. Sie lag auf der Insel Wollin, und Funde lassen den
Schluss zu, dass sie Handel mit grichischen, sizilianischen und arabischen
Haefen trieb. In alten Urkunden heisst sie Jumne oder Jumneta, aus dessen
lateinischer Schreibweise, IVMNETA, wahrscheinlich der Name entstanden
ist. Der Chronist Adam von Bremen (+1082?) berichtet sogar, dass Vineta
ein "byzantinisches Feuer" gehabt habe. Es waere das erste Leuchtfeuer der
Ostsee gewesen.


11.09. Einst begeisterte eine Hexe einen Papst! Wie kann das zugehen?

-----------------------------------------------------------------------------



Re: Brockhaus 37-3 (Li, 11. Sep 1997, 11:57:57):
~#! rn=Cauno rt=873893550 rg=puiz
~#! tid=873893550
Klar!
Lies mal das buch: Ein Nashorn fuer den Papst von Lawrence Norfolk! :-)
Li

-----------------------------------------------------------------------------



Re: Brockhaus 37-5 (Highlander, 12. Sep 1997, 13:29:40):
~#! rn=Cauno rt=874063303 rg=puiz
~#! tid=874063303
> Wunderkhnd und beherrschte mit dlf J`hrdn ceseius sieceo Rpr`bhdn.!0640
!!!!! 
> !womlue!sid P`prt Benedikt XIV. /*1675, +1758) auf den Lehrstuhl fuer


Wow! Also das zu beherrschen ist wirklich nicht einfach

  SCNR,
     HrT

-----------------------------------------------------------------------------



Brockhaus 37-5 (Cauno, 12. Sep 1997, 13:33:55):
Da hat wohl die sch.. Grafikkarte an meinem Terminal wieder mist gebaut ...
(wer den Codieralgorithmus knackt, kriegt von mir ein eis ...)

11.09. Einst begeisterte eine Hexe einen Papst! Wie kann das zugehen?

Die "Hexe von Agnesi" ist keine zauberkundige Frau, sondern eine
mathematische Formel. Mit ihrer Hilfe konnte man ein altes mathematisches
Raetsel loesen: Wie kann man das Volumen eines Wuerfels exakt verdoppeln?
Die Loesung fand *Maria Gaetana Agnesi* (*1718, +1799), eine Mailaender
Mathematikerin und Sprachwissenschaftlerin. Sie war ein ausgesprochenes
Wunderkind und beherrschte mit elf Jahren bereits sieben Sprachen. 1750
wollte sie Papst Benedikt XIV. (*1675, +1758) auf den Lehrstuhl fuer
Mathematik an der Universitaet Bologna berufen. Doch sie liebte ihr
Mailand, verfasste dort noch drei Baende ueber Differentialrechnung und
gruendete das Spital "Pio Alberto Trivulzio".


12.09. Nomen est omen.
       Wie heissen die Kinder der Firmengruender von Mattel, Inc.?

-----------------------------------------------------------------------------



Re: Brockhaus 37-5 (Li, 12. Sep 1997, 13:41:06):
~#! on=Li ot=874063701 og=puiz
~#! rn=Cauno rt=874063303 rg=puiz
~#! tid=874063303
Ich wuerde mal sagen : Barbara (Barbie) und Kenneth (Ken)
Li

-----------------------------------------------------------------------------



Re: Re: Brockhaus 37-5 (Ratz, 12. Sep 1997, 18:51:22):
~#! rn=Li rt=874064466 rg=puiz
~#! tid=874063303
eher Mathiu und Telma denke ich.
gruss Ratz Fatz

-----------------------------------------------------------------------------



Brockhaus 37-6 (Cauno, 13. Sep 1997, 23:57:52):
12.09. Nomen est omen.
       Wie heissen die Kinder der Firmengruender von Mattel, Inc.?

Na, wie schon: *Barbie und Ken*. Allerdings muss festgehalten werden,
dass did Puppen nach den Kinddrn vnn Dlliot!une!Ruuh!Iandldr bdn`not    !!!!!!
!wuseeo!und nhbht umgekehrt.
Ihren ersten grossen Erfolg hatte die Firma Mattel 1947 mit einer
Spielzeug-Ukulele. Eine automatische Kinderpistole brachte den Umsatz
1955 schon auf fuenf Millionen Dollar im Jahr.
1959 kam dann Ruth Handler (*1919) Erfindung, die Anziehpuppe Barbie, auf
den Markt. Sie brachte in den ersten acht Jahren 500 Millionen Dollar ein.


13./14.09. Gourmets profitierten als erste.
           Wo stand das erste europaeische Stromkraftwerk?

-----------------------------------------------------------------------------



Re: Brockhaus 37-6 (Caradhras, 14. Sep 1997, 18:29:22):
~#! rn=Cauno rt=874187872 rg=puiz
~#! tid=874187872
CUT:
--------------------------
Na, wie schon: *Barbie und Ken*. Allerdings muss festgehalten werden,
dass did Puppen nach den Kinddrn vnn Dlliot!une!Ruuh!Iandldr bdn`not    !!!!!!
____________________________

Was hiess den das im letzten Artikel? :)

      Bergchen Caradhras

-----------------------------------------------------------------------------



Re: Brockhaus 37-6 (Raffi, 15. Sep 1997, 13:19:11):
~#! rn=Cauno rt=874187872 rg=puiz
~#! tid=874187872
Hmm kanns sein das Dein Schriftleseprogramm nachlaesst ?
Muste mal ne tuete neue Buchstaben nachfuellen!

Gruss
H.

-----------------------------------------------------------------------------



Brockhaus 38-2 (Cauno, 16. Sep 1997, 12:02:00):
Grmbl... diese deamliche Grafikkarte wirbelt immer die Buchstaben
durcheinander ... Mit Cut und Paste kann ichs wohl bald vergessen ...

12.09. Nomen est omen.
       Wie heissen die Kinder der Firmengruender von Mattel, Inc.?

Na, wie schon: *Barbie und Ken*. Allerdings muss festgehalten werden,
dass die Puppen nach den Kindern von Elliot und Ruth Handler benannt
wurden und nicht umgekehrt.
Ihren ersten grossen Erfolg hatte die Firma Mattel 1947 mit einer
Spielzeug-Ukulele. Eine automatische Kinderpistole brachte den Umsatz
1955 schon auf fuenf Millionen Dollar im Jahr.
1959 kam dann Ruth Handler (*1919) Erfindung, die Anziehpuppe Barbie, auf
den Markt. Sie brachte in den ersten acht Jahren 500 Millionen Dollar ein.


13./14.09. Gourmets profitierten als erste.
           Wo stand das erste europaeische Stromkraftwerk?

*In Berlin*, genauer gesagt im Keller eines ganz gewoehnlichen
Mietshauses in der Friedrichstrasse. Am 13. September 1884, zwei Jahre
nach Eroeffnung der ersten elektrischen Kraftzentrale in Manhattan, nahm
die sogenannte "Blockzentrale" ihren Betrieb auf und illuminierte
zunaechst zwei vornehme Restaurants in der Prachtstrasse Unter den
Linden. Betrieben wurde die Stromversorgung von der "Deutschen
Edison-Gesellschaft" (der spaeteren AEG), die es durch geschickte
Verhandlungen mit dem Meister persoenlich, Thomas Alva Edison (*1847,
+1931), geschafft hatte, die entsprechenden Patentlizenzen zu erwerben
und "Siemens & Halske" aus dem Rennen zu werfen.


15.09. Wasserspiele in Versailles - womit sollten sie betrieben werden?


16.09. Hosen rauf! Wogegen richtete sich der englische "Dress Act" von 1746?


-----------------------------------------------------------------------------



Brockhaus 38-4 (Cauno, 18. Sep 1997, 10:38:02):
15.09. Wasserspiele in Versailles - womit sollten sie betrieben werden?

*Mit Schiesspulver*. Der franzoesische Koenig Ludwig XIV. (*1628, +1715)
wuenschte sich fuer den Garten von Versailles eine Fontaene, die "bis in
die Wolken" spritzte, und beauftragte den niederlaendischen Physiker und
Astronomen Christiaan Huygens (*1629, +1695) mit dem Bau einer
entsprechenden Maschine. 1680 demonstrierte Huygens Mitgliedern der
franzoesischen Akademie der Wissenschaften ein Versuchsmodell, bei dem
Schiesspulver den Kolben einer Pumpe bewegte.
Zur Ausfuehrung kam es dann nicht mehr, denn Ludwig liess, nach dem
Widerruf des Edikts von Nantes, alle Protestanten, darunter Huygens, des
Landes verweisen.


16.09. Hosen rauf! Wogegen richtete sich der englische "Dress Act" von 1746?

Der Prohibition Act verbot den Schotten das Tragen von *Kilts* und
Tartan-Stoffen (Stoffe, die die Clan-Zugehoerigkeit zeigen). Nach dem
fehlgeschlagenen Aufstand von 1745 wollten die Englaender damit das
schottische Nationalgefuehl treffen. Aber wie das so ist mit der
Prohibition: Dass die Schotten noch heute stolz ihre Kilts tragen, hat
seine Ursache in eben dieser Verordnung. Denn natuerlich hielten sie sich
nicht daran und zogen auch weiterhin das Klaidungsstueck an, in dem man
so praktisch die zahlreichen Baeche und Fluesse des Hochlands ueberqueren
kann.


17.09. Wo kann man im "Champagner-Express" reisen:
       - in Frankreich
       - auf der Krim
       - in Suedafrika?


18.09. Ein Amerikaner Kriegsminister in Bayern. Unmoeglich?


-----------------------------------------------------------------------------



Re: Brockhaus 38-4 (Pampers, 18. Sep 1997, 16:21:33):
~#! rn=Cauno rt=874571882 rg=puiz
~#! tid=874571882
18.09. Ein Amerikaner Kriegsminister in Bayern. Unmoeglich?

Ja. In bayern heissen die Kriegsminister naemlich nicht Kriegs-, sondern
Innenminister.

Pampers. Unqualifiziert wie immer.

-----------------------------------------------------------------------------



Re^3: Quarks (Acrimon, 18. Sep 1997, 16:44:40):
~#! rn=Kobayashi rt=873806008 rg=puiz
~#! tid=873496369
im Supermarkt (wenigstens in nicht-preuszischen) nennt sich das "Topfen",
nicht "Quark".

-----------------------------------------------------------------------------



Re^4: Quarks (Caradhras, 21. Sep 1997, 23:54:51):
~#! rn=Acrimon rt=874593880 rg=puiz
~#! tid=873496369
Also aaarg preussisch bin ich ja hier ned in Passau, und hier heissts
auch Quark. *quak*

  Bergchen Caradhras - musste Kobayashi mal in die Seite treten
   aehhhh zur Seite treten
    oder wars stehen? 

-----------------------------------------------------------------------------



Brockhaus 39-1 (Cauno, 22. Sep 1997, 12:24:36):
17.09. Wo kann man im "Champagner-Express" reisen:
       - in Frankreich
       - auf der Krim
       - in Suedafrika?

In *Suedafrika.*
Dort kann man mit dem "Champagner-Express" durch die Weianbaugebiete der
suedlichen Kap-Provinz fahren und bei den diversen Halts genuesslich
probezechen. Der besondere Reiz dieses Zuges liegt darin, dass es sich
dabei um einen Dampfzug handelt. Suedafrika ist das Mekka der
Dampflokomotiven-Fans. Denn man kann quasi das ganze Land mit Zuegen
bereisen, die bei uns bestenfalls noch im Museum zu bestaunen sind. Den
Hoehepunkt der Nostalgie duerfte eine "Steam-Safari" ausloesen. Dabei
werden in zwei Wochen zwischen Kapstadt und den Victoriafaellen Tausende
von Kilometern zurueckgelegt. Drei Walroesser an Damplokomotiven ziehen
den komfortablen Zug ueber Bergmassive, durch Savannen, Busch und Wuesten.


18.09. Ein Amerikaner Kriegsminister in Bayern. Unmoeglich?

Aber nein, wenn er was taugt! Und dieser taugte wirklich was: *Benjamin
Thompson Graf von Rumford* (*1753, +1814). Er wurde ohne Grafentitel (den
erhielt er (1792) in Massachusetts geboren, nahm auf der falschen Seite
am Amerikanischen Unabhaengigkeitskrieg teil, ging dann lieber nach
Europa und trat 1784 in bayerische Dienste. Er organisierte das Militaer
neu, legte den Englischen Garten an, richtete Volkskuechen, -kaufhaeuser,
Fabriken und Schulen ein.
Dass Graf Rumford 1799 Muenchen verliess, war ein grober Fehler. Er
heiratete in Paris die Witwe des waehrend der Revolution hingerichteten
Chemikers Antoine de Lavoisier (*1743, +1794) und vergaellte sich den
Rest seines Lebens mit einer ungluecklichen Ehe.


19.09. Heute ist Fastentag. Oder moechten Sie "Rumfutsch" essen?


20./21.09. Warum findet man manchmal Sand in den Taschen neugekaufter Jeans?


22.09. Mein Gott, angelsaechsische Masse.
       Warum hat ein Acre 43560 Quadratfuss?

-----------------------------------------------------------------------------



Brockhaus 39-2 (Cauno, 23. Sep 1997, 13:12:49):
19.09. Heute ist Fastentag. Oder moechten Sie "Rumfutsch" essen?

"Rumfutsch" nannte man despektierlich die *"Rumfordsuppe"*, die der
emsige Graf Rumford in seinen Muenchner Tagen fuer Soldaten, arme Leute
und die Klientel der Arbeitshaeuser komponierte. Hier das Originalrezept:
"2 Viertel Perlgraupen, 2 Viertel Erbsen, 8 Viertel Kartoffeln, 1
Schnitte Weizenbrot, Salz, 24 Maass schwacher Weinessig oder sauer
gewordenes Bier, Wasser ohngefaehr 560 Maass." Dies koche man dann zu
einer "gleichfoermigen Masse" zusammen.
Doch lieber fasten?


20./21.09. Warum findet man manchmal Sand in den Taschen neugekaufter Jeans?

Nein, die Jeans wurden nicht am Strand von Montego Bay gebleicht. Jeans,
die auf Neudeutsch unter der Bezeichnung "stonewashed" verkauft werden,
werden dadurch weicher gemacht, dass sie in riesigen Anlagen zusammen mit
*Bimsstein* gewaschen werden. Bims ist ein aus schaumiger Lava erstarrtes
helles Gesteinsglas, das sich beim Waschen in kleinere Partikel und
schliesslich Sand aufloesen kann. Der faengt sich dann in den
Jeanstaschen. Karibiksand dagegen ist so fein, dass er mit dem
Waschwasser weggeschwemmt wuerde.


22.09. Mein Gott, angelsaechsische Masse.
       Warum hat ein Acre 43560 Quadratfuss?

Urspruenglich verstand man unter einem *"acre"* eine Flaeche, die an
einem Tag unter den Pflug zu nehmen war. Da das eine etwas sehr variable
Groesse ist, legte man waehrend der Regierungszeit Heinrichs VIII.
(*1491, +1547) fest, dass ein acre 160 "square rods" (bzw. 40 mal 4
"poles") betragen solle. Diese nette, uebersichtliche Einheit ist, da
nach aktuellem Standard ein "rod" 16,5 "feet" entspricht, leicht auf
43560 "square feet" umzurechnen. Aber ein Mysterium bleibt: Ein "acre" in
Grossbritannien entspricht 4046,8494 m^2, das amerikanische "acre"
hingegen 4046,8726 m^2!?
Darauf erst einmal einen "pint" Guinness, das ist so etwas Aehnliches wie
ein halber Liter!


23.09. Alle paar Jahre bricht es mal zusammen:
       Warum hat die Deutsche Bahn ein eigenes Stromnetz?

-----------------------------------------------------------------------------



Brockhaus 39-4 (Cauno, 25. Sep 1997, 13:09:35):
23.09. Alle paar Jahre bricht es mal zusammen:
       Warum hat die Deutsche Bahn ein eigenes Stromnetz?

Weil die Bahn nicht den 50-Hertz-Strom verwendet, sondern 16 2/3 Hertz.
Das hat historische Gruende. Als man mit der *Bahelektrifizierung* anfing,
konnte man noch keine 50-Hertz-Lokomotivmotoren bauen, drittelte deshalb
und baute ein eigenes Stromnetz auf. Bahnen in anderen Laendern fingen mit
Gleichstromnetzen an. Da diese nicht so leistungsfaehig waren, waehlte man
dann meist 50 Hertz und ist deshalb heute ans allgemeine Stromnetz
angeschlossen.
Fuer eine Bahnfahrt z.B. von Frankreich nach Deutschland werden deshalb
Mehrfrequenzlokomotiven gebraucht, die sowohl mit 50 Hertz als auch mit 16
2/3 Hertz fahren koennen.


24.09. Legal, illegal, wieder legal.
       Welche Schaedlinge bedrohen den Faserhanf?


25.09. Was war zuerst da: - asphaltierte Strassen
                          - das Automobil?

-----------------------------------------------------------------------------



Re: Brockhaus 39-4 (Alboin, 25. Sep 1997, 13:21:17):
~#! rn=Cauno rt=875185775 rg=puiz
~#! tid=875185775

Hello,
zu 1. nach meiner Information wird Hanf von so gut wie allen Schaedlingen
gemieden, das ist ja auch das Hauptargument der Befuerworter des Hanfanbaus,
weil so auf Pestizide verzichtet werden kann, wenn man Papier, Klamotten oder
was weiss ich herstellen will.

zu 2.) ich tippe mal auf das Automobil.

Alboin

-----------------------------------------------------------------------------



Re: Re: Brockhaus 39-4 (Li, 25. Sep 1997, 13:23:27):
~#! rn=Alboin rt=875186477 rg=puiz
~#! tid=875185775
zu 2.) so, wie die Frage gestellt ist, gabs bestimmt zuerst die asphalirtiere
Strasse :-)

-----------------------------------------------------------------------------



Re^3: Brockhaus 39-4 (Raffi, 25. Sep 1997, 15:47:24):
~#! rn=Li rt=875186607 rg=puiz
~#! tid=875185775
Gabs das nicht schon bei den Roemern ? Mit ter befestigte strassen ?

Ich glaub ich hab mal sowas gelesen.

Gruss
H.

-----------------------------------------------------------------------------



Re^3: Brockhaus 39-4 (Fyt, 25. Sep 1997, 16:32:43):
~#! rn=Li rt=875186607 rg=puiz
~#! tid=875185775

Haben nicht schon die alten Mesopotamier ihre Stadtmauern mit Ziegeln
gebaut, die mit Asphalt 'verklebt' waren?

Dann koennte ich mir gur vorstellen, dass sie sowas aehnliches auch
als Strassenbelag benutzt haben.

Fyt.

-----------------------------------------------------------------------------



Re^4: Brockhaus 39-4 (Asmodis, 25. Sep 1997, 22:46:54):
~#! rn=Fyt rt=875197963 rg=puiz
~#! tid=875185775
Ich glaube, dass Asphaltstrassen auch fuer Kutschen eine Erleichterung
waren, also kein Privileg fuer Autos :)

-----------------------------------------------------------------------------



Brockhaus 39-5 (Cauno, 26. Sep 1997, 14:41:39):
24.09. Legal, illegal, wieder legal.
       Welche Schaedlinge bedrohen den Faserhanf?

Der in Deutschland wieder zugelassene Faserhanfanbau kann vollstaendig
ohne Pestizide auskommen. Der *nachwachsende Rohstoff* zur Herstellung von
Seilen, Stoffen, Papier, Baumaterialien, Autochassis usw. waechst so
schnell und dicht, dass Unkraut keine Chance hat. Schaedlinge koennen
durch biologische Schaedlingsbekaempfung unter Kontrolle gehalten werden.
So setzt man zur Eindaemmung von Hanffloh, Hanfblattlaus und kleiner
Hanfmotte eine besondere Erzwespe ein. Fuer die Wiederzulassung des Anbaus
haben soch vor allem die Bauernverbaende eingesetzt. Und die sind sicher
unverdaechtig, die notorischen Kiffer beliefern zu wollen.


25.09. Was war zuerst da: - asphaltierte Strassen
                          - das Automobil?

*Asphaltierte Strassen.* Im 19. Harhundert reiste man noch ziemlich
rumpelig auf Kies- und Schotterstrassen durch europa. Die erste
asphaltierte Strasse konzipierte der Westschweizer Ingenieur Albert Merian
(*1794, +1880; nicht verwandt mit den Kupferstechern). Sie fuehrte von
Travers im Kanton Neuchatel nach Pontarlier im franzoesischen Jura. Fuer
den Bau dieser Strasse (1854) wurde Naturasphalt verwandt, der aus der
Oxidation und Polymerisation von Erdoel entsteht und rein z.B. im
Trindad-Asphaltsee auf der gleichnamigen Karibikinsel vorkommt. Die
naechsten asphaltierten Strassen waren dann schon die Boulevards von
Paris.


26.09. Autos, U-Bahnen und Autobussen zum Trotz:
       Die Strassenbahn haelt sich. Warum wird sie auch Trambahn genannt?

-----------------------------------------------------------------------------



Brockhaus 40-1 (Cauno, 29. Sep 1997, 11:47:39):
26.09. Autos, U-Bahnen und Autobussen zum Trotz:
       Die Strassenbahn haelt sich. Warum wird sie auch Trambahn genannt?

*Zwei Erklaerungen* beanspruchen die Wahrheit. Zum einen bezeichnete das
Wort "trame" im Altniederdeutschen und Mittelniederlaendischen einen
Balken, eine Trambahn waere also eine auf Balken fahrende Bahn. Die andere
Erklaerung zieht einen der vielen erfindungsreichen Englaender heran: den
Unternehmer und Ingenieur Benjamin Outram (*1764, +1805). Der soll die
Kohlengrubenbahn erfunden haben, die dann aus Dankbarkeit auch in ihrer
Ueber-Tage-Version Outramway, dann Tramway genannt worden sein soll. Aber
schon 30 Jahre vor Outrams Geburt hatte man in englischen Gruben
gusseiserne Schienen fuer Loren verlegt. Beide Erklaerungen erhellen zudem
nicht, warum man vor allem im sueddeutschen Sprachgebiet von der "Tram"
spricht.


27./28.09. Wissen Sie's? Warum weicht das Bildsymbol des Herzens so sehr
           von dessen realer Form ab?

29.09. Welches ist der zweitgroesste Meteoritenkrater der Welt?





-----------------------------------------------------------------------------



Re: Brockhaus 40-1 (Li, 29. Sep 1997, 11:53:33):
~#! rn=Cauno rt=875526459 rg=puiz
~#! tid=875526459
29.09. Der oft als groesster Meteoritenkrater der Welt angegebene befindet
sich in Arizona. Das sit er aber beileibe nicht. Meines wissens der groesste
ist das noerdlinger Riess, dessen Kraterstuktur nur aus der Luft erkannt
werden kann, denn das N.R. hat eine Durchmesser von 200km (oder so aehnlich,
glaube ich)
Li

-----------------------------------------------------------------------------



Re: Re: Brockhaus 40-1 (Boing, 29. Sep 1997, 13:39:13):
~#! rn=Li rt=875526813 rg=puiz
~#! tid=875526459
Hmm, vielleicht spielt mir da meine Erinnerung einen Streich, aber ich
glaube, dass ich damals an der Kante des Noerdlinger Riess gestanden bin,
man konnte den Krater gut erkennen und wie 200 km kam mir das eigentlich
nicht vor. 
  Boing

-----------------------------------------------------------------------------



Re^3: Brockhaus 40-1 (Kobayashi, 29. Sep 1997, 15:26:17):
~#! rn=Boing rt=875533153 rg=puiz
~#! tid=875526459
Das noerdlinger Riess hat einen Durchmesser von 25 km ( 15 Mio Jahre alt)
Yukatan: 180-300 km (oval) (65 Mio Jahre alt)

Kobayashi

-----------------------------------------------------------------------------



Re^4: Brockhaus 40-1 (Caradhras, 29. Sep 1997, 15:40:51):
~#! rn=Kobayashi rt=875539577 rg=puiz
~#! tid=875526459
Jo, Koba und Boing, die 25 Kilometer stimmen ziemlich genau.
Der Krater von Arizona ist doch viel kleiner, dachte ich!?

Und das Noerdlinger Riess kann man sehr gut erkennen.

   Bergchen Caradhras - kommt aus der Ecke irgendwo

-----------------------------------------------------------------------------



Re^5: Brockhaus 40-1 (Kobayashi, 29. Sep 1997, 15:44:16):
~#! rn=Caradhras rt=875540451 rg=puiz
~#! tid=875526459
Der Krater in Arizona hat ca. 1200 Meter. Yukatan ist der Krater in Golf von
Mexiko und an/auf der Halbinsel Yukatan, der den Dinos den Rest gegeben hat.

Kobayashi

-----------------------------------------------------------------------------



Re: Brockhaus 40-1 (Raffi, 29. Sep 1997, 16:59:17):
~#! rn=Cauno rt=875526459 rg=puiz
~#! tid=875526459
Drei (Zusatz)Erklaerungen:

a) Der begriff 'Trame' fuer einen Tragbalken ist auch heute noch im
   Bayerischen gelaeufig. Und auch im Englischen ist Tram fuer
   selbiges _noch_ bekannt. Desweiteren ist Tramway als Bezeichnung
   fuer einen Bohlenweg im Englischen nicht unbekannt.

b) Ein englischer 'Tram' ist im Bergbau ein Wagen zur befoerderung von
   Gestein/Erz und entspricht dem (nordwest)Deutschen Begriff Hunt,
   welcher einzeln bewegt wird, im gegensatz zu einem 'Train' welcher
   mehrere gekoppelte einheiten bezeichnet (Zug).

c) Das mit der Tram im Sueddeutschen ist recht einfach: Viele Strassen-
   bahngesellschaften im sueddeutschen Raum trugen den Begriff Tramway
   im Firmennamen und im Gegensatz zu irgendwelchen Nordlichtern wars
   hier schon immer etwas schwieriger PC-Neusprech durchzusetzen (Egal
   ob fuer 1000jaehrige Reiche oder anderen Krampf).

Gruss
H.

-----------------------------------------------------------------------------



Re^3: Brockhaus 40-1 (Li, 30. Sep 1997, 09:38:59):
~#! rn=Boing rt=875533153 rg=puiz
~#! tid=875526459
Hmnja, ich sagte ja, die genaue groesse weiss ich nicht, jedenfalls ist ein
ziemlch grosser Krater und dass man ihn nur aus der luft erkennen kann, hab
ich gelesen. Ich war naemlich noch nicht dort.
Li

-----------------------------------------------------------------------------



Brockhaus 40-3 (Cauno,  1. Okt 1997, 13:21:33):
27./28.09. Wissen Sie's? Warum weicht das Bildsymbol des Herzens so sehr
           von dessen realer Form ab?

Auf Spielkarten ist es so zu finden, von Amors Pfeil durchbohrt wird es so
dargestellt. Aber das Organ ist doch gar nicht so geformt? Gibt es eine
Kulturgeschichte dieses Symbols? Gilt es in saemtlichen Kulturkreisen?
Wir sind gespannt auf *Ihre Informationen.* Bitte schreiben Sie an die
BROCKHAUS-Lexikonredaktion, Kennwort Kalender, Dudenstr. 6, 68167
Mannheim.


29.09. Welches ist der zweitgroesste Meteoritenkrater der Welt?

Wir fragen nach dem zweitgroessten, da der groesste, das Noerdlinger Ries,
ja quasi vor der Haustuer liegt und Ihnen wohlbekannt sein duerfte.
Der zweitgroesste Einschlagskrater der Erde liegt im US-Staat *Arizona*,
in der Naehe des Provinznestes Winslow, ist 180 Meter tief und hat einen
Durchmesser von 1,2 Kilometern. Der Brocken, der das angerichtet hat, ist
vor etwa 30 000 Jahren auf die Erde gefallen. Entdeckt wurde der
Barringer-Krater erst 1891. Lange Zeit hat man ihn fuer einen erloschenen
Vulkan gehalten.


30.09. Wie stillen die Voegel in den Weiten des Ozeans ihren Wasserbedarf?


01.10. Wieviel alkoholfreies Bier muss man trinken, um die kritische Marke
       von 0,8 Promille Alkoholkonzentration im Blut zu erreichen?

-----------------------------------------------------------------------------



Brockhaus 41-4 (Cauno,  9. Okt 1997, 13:57:19):
30.09. Wie stillen die Voegel in den Weiten des Ozeans ihren Wasserbedarf?

*Seevoegel* koennen ausschliesslich von Meerwasser leben. Um ihre Organe
vor Uebersalzung zu schuetzen, tragen sie eine perfekte Entsalzungsanlage
mit sich. Sie besteht aus speziellen Druesen, die das Salz als
konzentrierte Lake wieder ueber die Nasenloecher abgeben und das Wasser
fuer den Fluessigkeitshaushalt des Koerpers nutzen. Diese Druesen sind
schon allein fuer die Ausscheidung der beim Fischen aufgenommenen
Salzmengen notwendig.


01.10. Wieviel alkoholfreies Bier muss man trinken, um die kritische Marke
       von 0,8 Promille Alkoholkonzentration im Blut zu erreichen?

Die Frage klingt absurd, aber ohne Alkohol kommt alkoholfreies Bier nicht
aus. Es wuerde fad oder penetrant nach Wuerze schmecken. Ein Bier darf
alkoholfrei genannt werden, wenn sein *Alkoholgehalt* unter 0,5% liegt.
Bei einem Koerpergewicht von 75 Kilogramm muesste man innerhalb einer
Stunde *12 Liter* alkoholfreies Bier trinken, um den Verlust des
Fuehrerscheins zu riskieren. Um einen dementsprechenden Versuch zu machen,
fahren Sie am besten zum Muenchner Oktoberfest. Dort wird seit acht Jahren
alkoholfreies Bier gleich literweise ausgeschenkt.


02.10. Richtig: eine Erfindung der Heiden!
       Woher stammen die aeltesten Zeugnisse der Empfaengnisverhuetung?


03.10. Er startete das erste Motorflugzeug der Welt.
       Warum kennt keiner Samuel Langley?


04./05.10. Wer war der erste Mensch, der nachweislich stigmatisiert war?


07.10. Einen Nobelpreis als Schutz vor dem Vergessen:
       Welcher Literat bekam den ersten?


08.10. Kakerlaken gehoeren nicht zu den beliebtesten Tieren.
       Was wirft man ihnen neuerdings auch noch vor?


09.10. Wer lebt gefaehrlicher: - Linkshaender
                               - Rechtshaender?

-----------------------------------------------------------------------------



Brockhaus 41-5 (Cauno, 10. Okt 1997, 13:07:22):
02.10. Richtig: eine Erfindung der Heiden!
       Woher stammen die aeltesten Zeugnisse der Empfaengnisverhuetung?

*Aus Aegypten.* Das aelteste Rezept stammt aus dem 19. Jahrhundert v.Chr.
und beschreibt die Herstellung eines Zaepfchens aus Krokodilkot. Nur
dreihundert Jahre spaeter beschreibt ein Papyros einen Baumwolltampon, der
mit Honig und Akaziensirup getraenkt wurde, eine Mischung, die die moderne
Forschung durchaus als wirksam betrachtet. Die alten Griechen verwandten
meist Olivenoel, das die Beweglichkeit der Spermien begrenzt.
Auch andere Formen der Familienplanung wurden empfohlen: So sprach sich
der Philosoph Aristoteles (*384, +322 v.Chr.), dessen Lehren im 13.
Jahrhundert in die christliche Scholastik aufgenommen wurden, dafuer aus,
ueberzaehlige Kinder einfach auszusetzen.


03.10. Er startete das erste Motorflugzeug der Welt.
       Warum kennt keiner Samuel Langley?

Es war nur ein dampfbetriebenes Modell, das am 6. Mai 1896 1280 Meter weit
flog. *Samuel Pierpont Langley* (*1834, +1906), Astrophysiker und
Sekretaer des renommierten Smithsonian Institute, bekam allerdings
daraufhin vom US-Kriegsministerium erhebliche Mittel, um ein echtes
Motorflugzeug zu bauen.
Am 3. Oktober 1903 war es dann soweit: Mitten auf dem Potomac River vor
Washington sollte sich das Geraet von einem verankerten Hausboot aus per
Katapult in die Luefte erheben. Aber es fiel einfach ins Wasser. Das
Smithsonian Institute wollte den Misserfolg nicht wahrhaben, liess die
Muehle aufwendig reparieren und schaffte es endlich 1914, sie kurzfristig
zum Fliegen zu bringen. Langley selber war allerdings schon 1906 in
geistiger Umnachtung verstorben.


04./05.10. Wer war der erste Mensch, der nachweislich stigmatisiert war?

Der heilige *Franz von Assisi* (*1182, +1226).
Unter Stigmen versteht man Wundmale, die sich an Koerperstellen bilden, an
denen Jesus bei der Kreuzigung Wunden zugefuegt wurden. Der aus einer
reichen, vornehmen Familie stammende Franz wandte sich nach einer flotten
Jugendzeit einem frommen Leben in Armut zu. 1224 erschien ihm ein den
Bergen des Apennin ein sechsfluegliger Engel, der den Gekreuzigten trug.
Als der Heilige aus seiner Extase erwachte, entdeckte er Wunden an seinem
Koerper, als haetten Naegel Haende und Fuesse durchbohrt und als sei ihm
eine Lanze in die Seite gestossen worden. Die Paepste Gregor IX. (*um
1160, +1241) und Alexander IV. (+1261) bezeugten persoenlich die Stigmata.


06.10. Einmal gewinnen und man haette ausgesorgt.
       Wie oft sollte der Nobelpreis urspruenglich verliehen werden?

*Nur sechsmal.* Drei Jahre vor seinem Tod schrieb der Dynamiterfinder
Alfred Bernhard Nobel (*1833, +1896) an die Pazifistin Bertha von Suttner
(*1843, +1914), dass ein von ihm gestifteter Preis alle fuenf Jahre
verteilt werden solle, und das sechsmal. Wenn es innerhalb dieser 30 Jahre
nicht gelaenge, "das gegenwaertige System" zu reformieren, fiele die
Menschheit ohnehin in die Barbarei zurueck.
Aber das von Nobel hinterlassene Vermoegen, das er uebrigens zu seinem
Leidwesen vor allem den Militaers verdankte, war mit 30 Millionen
Schwedischen Kronen so gross, dass von seinen Zinsen jaehrlich Preise
verteilt werden konnten. Ueber Nobels Vorraussage bezueglich der Barbarei
gehen die Ansichten auseinander.


07.10. Einen Nobelpreis als Schutz vor dem Vergessen:
       Welcher Literat bekam den ersten?

Der franzoesische Lyriker *Sully Prudhomme* (*1839, +1907). Womoeglich
wuerde ihn kein Lexikon heute noch erwaehnen, haette er nicht 1901 den
ersten Literaturnobelpreis erhalten, mit dessen Hilfe er seinen
Lebensabend in Schloss Chatenay bei Paris verbringen konnte.
Es mag eine kleine Ironie sein, dass der Verfasser dunkel wabernder,
melancholischer Lyrik in seinen Anfaengen sein Geld in Frankreichs
groesster Waffenschmiede, den Schneider-Creuzot-Werken, verdiente.
Mitglied der Academie Francaise wurde Prudhomme vor allem wegen seiner
moralphilosophischen Schriften. Das grosse Literaturlexikon von Kindler
etwa widmet seinem lyrischen Werk lediglich einen eher hoeflichen Beitrag.


08.10. Kakerlaken gehoeren nicht zu den beliebtesten Tieren.
       Was wirft man ihnen neuerdings auch noch vor?

Den *Treibhauseffekt* anzuheizen! Wissenschaftler der niederlaendischen
Universitaet Nimwegen haben herausgefunden, dass die ekligen Viecher
Methangas produzieren. Diese umweltfeindliche Gebaren teilen sie mit
Krebsen, Tausendfuesslern, Termiten und anderen Gliederfuesslern. Denn
diese Tierchen leben, besonders in den Tropen, besonders gerne in Symbiose
mit methanbildenden Bakterien. DIe Niederlaender schaetzen ihre weltweite
Produktion auf 10 bis 300 Millionen Tonnen jaehrlich. Das sollte auf der
naechsten internationalen Umweltschutzkonferenz dringend diskutiert
werden!


09.10. Wer lebt gefaehrlicher: - Linkshaender
                               - Rechtshaender?

Nach einer Studie der US-Marine sind es die *Linkshaender,* die haeufiger
von Unfaellen bedroht sind. In einer Untersuchung mit 5000 Seeleuten wurde
festgestellt, dass Linkshaender ein 34 Prozent hoeheres Risiko tragen, bei
einem Unfall zu sterben. In einer Rechtshaenderwelt ist das Leben halt
voller Gefahren, zumindest fuer linkshaendige Menschen.


10.10. Wie wurde vor 4000 Jahren in Japan Fussball gespielt?

-----------------------------------------------------------------------------



Brockhaus 42-2 (Cauno, 14. Okt 1997, 12:34:42):
10.10. Wie wurde vor 4000 Jahren in Japan Fussball gespielt?

*Fussballspielen* haben die Japaner von den Chinesen gelernt, die es
wahrscheinlich ihrerseits von Mongolenvoelkern uebernahmen. In Japan hiess
das Spiel "kemari" und wurde nur innerhalb der Tempelbezirke gespielt. Als
Ball diente eine halbaufgepumpte Lederkugel. Das Spiel begann, indem der
aelteste Spieler das schlappe Ei in die Luft schlug. Nun suchten die vier
bis sechs Spieler den Ball so lange wie moeglich in der Luft zu halten,
wobei die ihn nur mit dem Fuss beruehren durften. Es ist ueberliefert,
dass man auf drei- bis vierhundert Fussstoesse pro Spielzug kam.
Litti, Klinsi und die anderen haetten sich da sicher gerne mitgemacht!


11./12.10. Jungfernfahrten bergen ihre Risiken ... Warum sank die "Wasa"?


13.10. Das Wort stammt aus ihrer Sprache.
       Aber haben die australischen Aborigines den Bumerang auch erfunden?


14.10. Er schrieb ein folgenreiches Buch ueber Erziehung.
       Wie behandelte der Philosoph Rousseau seine eigenen Kinder?

-----------------------------------------------------------------------------



Re: Brockhaus 42-2 (Ratz, 14. Okt 1997, 18:45:17):
~#! rn=Cauno rt=876825282 rg=puiz
~#! tid=876825282
wahrscheinlich hatte er gar keine Kinder!
Gruss ratzfatz Ratz

-----------------------------------------------------------------------------



Re: Brockhaus 42-2 (Ancalagon, 14. Okt 1997, 19:33:16):
~#! rn=Cauno rt=876825282 rg=puiz
~#! tid=876825282
Knuddels!
Ich weiss was, ich weiss was...... :)
Also, dass die wasa gesunken ist, lag hauptsaechlich an ueberheblichkeit und
falschem stolz von Architekt und besitzer....
Aber die fachliche Gruende waren:
-zu hohes Freibord (das heck ragte mehr als 16m aus dem Wasser
- die Geschuetzdecks lagen zu hoch ueber der wasserlinie
- der verwendete Ballast (Feldspat) war zu leicht. Blei waere besser
gewesen...
Passiert ist dann folgendes:
Die wasa, gebaut als damals staerkstes kriegsschiff aller zeiten (immerhin 80
Geschuetze), war auf der fahrt zum munitionsdepot, um dort die Hauptmacht
seiner geschuetze zu uebernehmen. Das Wetter war sonnig und heiss, mit wenig
wind.Daher waren saemtliche Geschuetzpforten geoeffnet. Auf der Strecke kam
dann eine Boe auf. die drueckte gegen das allzuhohe hecke, worauf sich der
kahn querlegte und das wasser durch die netterweise offebstehenden
Geschiuetzpforten hereinrauschte.....naja und weil vom geschuetzdeck zur
wasserlinie viel platz war, floss auch viel wasser rein........ 
aber immerhin verdankt die geschichte dieser kleinen dummheit ein paar
wertvolle Erkenntnisse uieber die damalige seefahrt...
Kann sein, dass ich noch 2,3 andere kleinigkeiten ausgelassen habe, aber im
grunde muesste es das gewesen sein....

-----------------------------------------------------------------------------



Re: Re: Brockhaus 42-2 (Yendi, 15. Okt 1997, 13:13:50):
~#! rn=Ancalagon rt=876850396 rg=puiz
~#! tid=876825282

WmnAt, war der Grund fuer die Instabilitaet der Vasa das nachtraeglich
aufgesetzte dritte Geschuetzdeck, fuer das der Rumpf (oder eher der Kiel)
nicht ausgelegt war. Das gab dann eine unglueckliche Kombination von
a) hohem Schwerpunkt (ein paar Tonnen Kanonenrohre extra in 10 m Hoehe...)
b) zu kleinem Kiel mit zu wenig Ballast und
c) grosse Seitenwindanfaelligkeit.

Was lernen wir daraus?
Hochmut kommt vor dem Untergang.


-----------------------------------------------------------------------------



unix (Snuggle, 16. Okt 1997, 14:09:51):
Hi Ihrs,

ich hatte heut ein kleines Problem damit, unter Unix eine Datei mit dem 
Namen -al zu loeschen. Es ging, aber die Frage ist jetzt wie.

Da es wie immer mehrere Moeglichkeiten gibt, hier die zusaetzliche Bedingung;
es sollen so wenig Zeichen wie moeglich eingegeben werden.

Antworten per Mail an mich. Zur Belohnunh setze ich entweder einen Kuchen oder
ein selbstgebackenes Brot aus, nach Wahl des Gewinners. Abzuholen auf der
naechsten Fete oder beim Bonner Rudeln.

Gruss
Snuggle

-----------------------------------------------------------------------------



Brockhaus 42-4 (Cauno, 16. Okt 1997, 14:46:40):
11./12.10. Jungfernfahrten bergen ihre Risiken ... Warum sank die "Wasa"?

Sie sollte das Paradeschiff der koeniglich-schwedischen Marine sein: Die
*Wasa* war ein stolzer Dreimaster, der mit 64 Kanonen bestueckt war. Auf
ihrer Jungfernfahrt am 10. August 1628, vor Tausenden von Zuschauern,
bekam sie im Stockholmer Hafen schon bei der zweiten, nur maessig starken
Boe Schlagseite und sank innerhalb kuerzester Zeit. Die Wasa war schlicht
eine Fehlkonstruktion, topplastig, und genau nach den Richtlinien von
Koenig Gustav II. Adolf (*1594, +1632) gebaut worden. Am 20. August 1959
wurde sie gehoben und kann heute in Stockholm in einem eigenem Museum
bewundert werden.


13.10. Das Wort stammt aus ihrer Sprache.
       Aber haben die australischen Aborigines den Bumerang auch erfunden?

Wohl nicht. *Wurfhoelzer* gehoeren zu den aeltesten Waffen der Menschheit.
Das aelteste bisher gefundene wurde vor mehr als 12 000 Jahren in Amerika,
in der Gegend des heutigen Florida, hergestellt. Auch in Nordeuropa wurden
schon Bumerangs gefunden, die ueber 7000 Jahre alt sind. Die steinzeit-
lichen Jaeger bevorzugten den nicht zurueckkehrenden Bumerang, da er sich
weiter werfen laesst.
Wenn Sie selbst einmal ein solches Geraet benutzen wollen, achten Sie
immer auf den Bumerang-Feind Nummer eins: den Baum!


14.10. Er schrieb ein folgenreiches Buch ueber Erziehung.
       Wie behandelte der Philosoph Rousseau seine eigenen Kinder?

Gar nicht. *Jean-Jacques Rousseau* (*1712, +1778) liess jedes seiner fuenf
Kinder unmittelbar nach der Geburt ins Findelhaus schaffen. In
Rechtfertigungsversuchen gegenueber Freunden und Foerderern verwies er
meist jammernd auf seine eingeschraenkten finanziellen Verhaeltnisse und
versicherte, dass haeusliche Sorgen und Kinderlaerm die Entfaltung seines
Genies behindern wuerden.
In seinem Buch "Emile oder Ueber die Erziehung" (1762) fordert er ein
genaues Studium der Wesensart des Kindes und leitete eine Revolution der
Erziehung ein.


15.10. Vorfahr des Neandertalers? Wo lebte der Ureuropaeer?


16.10. Wer kam beim Auftuermen des Himalayas zu Schaden?

-----------------------------------------------------------------------------



Re: unix (Mesaron, 16. Okt 1997, 18:37:00):
~#! rn=Snuggle rt=877003791 rg=puiz
~#! tid=877003791
Moin,

Es muesste gehen mit

rm ./-al

So haelt rm -al eben nicht fuer einen Parameter. Schade, dass ich weder
auf der Fete noch beim Rudern aufkreuzen werde; Backwaren verschicken ist
auch nicht so der Hit, fuerchte ich. ;)

Naja, vielleicht findet ja jemand eine kuerzere Loesung. (alias r rm gilt
nicht...)

Gruss,
Mesaron

-----------------------------------------------------------------------------



Re: Re: unix (Jimdigriz, 17. Okt 1997, 09:20:57):
~#! rn=Mesaron rt=877019820 rg=puiz
~#! tid=877003791

Hoi,

es geht vermutlich auch noich kuerzer:
rm ?al , das problem ist nur, dass so evtl mehr
geloscht wird als gewollt evtl muss man quoten, dann
waere Mesaron's Loesung wieder richtiger
(die auf jeden Fall funktioniert)

Ciao,
 JdG

-----------------------------------------------------------------------------



Re^3: unix (Hobo, 17. Okt 1997, 09:26:47):
~#! rn=Jimdigriz rt=877072857 rg=puiz
~#! tid=877003791
Also, bei mir sieht das dann so aus:
> rm ?al
rm: Not a recognized flag: a

War wohl nichts....

Hobo

-----------------------------------------------------------------------------



Re^4: unix (Rumata, 17. Okt 1997, 13:37:46):
~#! rn=Hobo rt=877073207 rg=puiz
~#! tid=877003791
klar kann ja auch nicht.
rm ?al wird *von der shell* zu "rm -al" expandiert und dann an rm
uebergeben. rm sagt dann -al = komisches flag

hugh
rumata

-----------------------------------------------------------------------------



Re^5: unix (Kobayashi, 17. Okt 1997, 13:42:47):
~#! rn=Rumata rt=877088266 rg=puiz
~#! tid=877003791
- ist leider ein quute-bares zeichen, deswegen geht
rm \-al 
nicht. man muss also dafuer sorgen, das das - nicht das erste zeichen ist. so
bleibt eigentlich nur
rm ./-al
ueber ober, wenn man es ggf. machen kann
rm ./-*
das sollte das kuerzeste sein.

Kobayashi

-----------------------------------------------------------------------------



Re^3: unix (Fyt, 17. Okt 1997, 13:43:59):
~#! rn=Jimdigriz rt=877072857 rg=puiz
~#! tid=877003791

Hab ich ausprobiert. Ging interessanterweise nicht.

Fyt.

PS: lLinux/Bash

-----------------------------------------------------------------------------



Re^4: unix (Boing, 17. Okt 1997, 13:56:22):
~#! rn=Fyt rt=877088639 rg=puiz
~#! tid=877003791
Wie Kobayashi schon schrieb: * und ? wird zuerst expandiert und dann an
das Kommando uebergeben.

  Boing
PS: Es geht auch so: emacs starten, Esc-x dired, mit dem cursor auf die
    Datei gehen, dx, Ctrl-x-c ... schon ist sie weg. :)

-----------------------------------------------------------------------------



Re^5: unix (Avalon, 17. Okt 1997, 15:57:03):
~#! rn=Boing rt=877089382 rg=puiz
~#! tid=877003791
Hi,

nicht die kuerzeste, aber die vielleicht sauberste Variante ist die,
'rm' mit '--' mitzuteilen, das keine Optionen mehr folgen. Das sollte
bei allen Gnu Shell Utils gehen. Also 'rm -- -al'.

i.V. woody.-

-----------------------------------------------------------------------------



Re^5: unix (Catweazle, 17. Okt 1997, 18:53:22):
~#! rn=Boing rt=877089382 rg=puiz
~#! tid=877003791

Hm, jaha.
Und dann gibts noch diverse filemanager, mit denen man rumklicken kann.
Damit geht das bestimmt auch ...

YTC

-----------------------------------------------------------------------------



Re^6: unix (Kretek, 20. Okt 1997, 11:33:28):
~#! rn=Catweazle rt=877107202 rg=puiz
~#! tid=877003791
Am besten nimmt man also eh Win95, da hat's dann 'nen ganz tollen
Explorer, und mit dem sind Files rubbeldiekatz geloescht **laber**

KreteK
(nein, ich finde das bunte OS auch nicht super!)

-----------------------------------------------------------------------------



Re: unix (Snuggle, 20. Okt 1997, 17:56:43):
~#! rn=Snuggle rt=877003791 rg=puiz
~#! tid=877003791
Hi Ihrs,

es wird langsam Zeit, das Puiz mal aufzuloesen. Ich danke fuer die rege 
Teilnahme. 

Interessanterweise gab es fast so viele verschiedene Antworten wie Teilnehmer,
ich habe die Syntagen auf meinem Rechner ausprobiert. Wenn bei mir was nicht
funktioniert hat, koennte es natuerlich auch an einer andren Shell oder was
auch immer liegen, ist dann Pech fuer Euch :-)

im Einzelnen:

rm -- -al 
funktioniert, ist aber leider nicht die kuerzeste Moeglichkeit

rm ./-*  
Funktioniert, loescht aber auch
alle anderen Files mit -  ich weiss, ich habs nicht ausdruecklich 
ausgeschlossen, aber ich nehme mal an, es sollte nur das eine File geloescht
werden

Boings Emacs Variante war zwar erfolgreich, aber von der Zahl der Eingaben 
nicht die kuerzeste.

Auch der Vorschlag den Midnight Commander zu nutzen war mit insgesamt mehr
Tastendruecken verbunden, als die kuerzeste rm Moeglichkeit. Ausserdem 
hab ich anscheinend meine Umgebung nicht richtig eingestellt - 
die Funktionstasten hatten keine Wirkung :-)

 rm ./*  
kuerzeste Moeglichkeit, aber mit noch mehr Nebenwirkungen als ./-* 

rm "-al"  
Brachte das selbe Ergebnis wir rm -al

rm ./-ah 
war zwar die richtige Idee, hat aber komischerweise mein File nicht geloescht 
:-)

rm ./-al
schliesslich und endlich, die kuerzeste Moeglichkeit, die ohne unerwuenschtes
Loeschen weiterer Files den gewuenschten Effekt erzielt hat. Eingesandt von
Marcus, Sand, Aurian (in der Reihenfolge, naja, Aurian hat -ah geschrieben, 
aber sie war eh nicht die Schnellste)


Gruss
Snuggle - gruebelt schon an weiteren Knobelaufgaben.

PS Marcus, wann kommste Deinen Kuchen holen?


-----------------------------------------------------------------------------



Re^3: Brockhaus 42-2 (Ancalagon, 21. Okt 1997, 09:51:19):
~#! rn=Yendi rt=876914030 rg=puiz
~#! tid=876825282
Moin Yendi! (uns alle anderen natuerlich auch)
Naja, nachtraeglich aufgesetzt stimmt nicht so ganz...... soweit ich weiss,
hat
der damalige regent von Schweden (ich komm grad nicht auf den Namen) mal eben
so waehrend des baues beschlossen, dass dem Kasten noch ein paar Geschuetze
hinzuzufuegen seien.....
Und wenns jemand jetzt GANZ genau wissen  willl, soll ers mir sagen, ich
schlags dann nach...
Knuddels,
                                     Ancalagon

-----------------------------------------------------------------------------



Brockhaus 43-2 (Cauno, 21. Okt 1997, 12:48:18):
15.10. Vorfahr des Neandertalers? Wo lebte der Ureuropaeer?

Einigermassen einig sind sich die Forscher darueber, dass Vorfahren des
Menschen vor etwa 1,8 Millionen Jahren Afrika verliessen. Aber wann,
verflixt noch mal, sind sie endlich in Europa angekommen?
Die bisher aeltesten Europaeer wurden vor zwei Jahren *im spanischen
Atapuerca* gefunden. Datierungsexperten schaetzen die Reste von vier
Fruehmenschen (Schaedel- und Kieferfragmente, Hand- und Fussknochen) auf
ein Alter von 800 000 bis 1 Million Jahren. Das ist deswegen
bemerkenswert, weil bisher unsere Ahnenreihe nur etwa 500 000 Jahre weit
zurueckverfolgt werden konnte.


16.10. Wer kam beim Auftuermen des Himalayas zu Schaden?

*Die indo-australische Kontinentalplatte.*
Beim Hochstemmen des tibetanischen Hochplateaus und der Gebirgskette des
Himalaya hat sie ein wirklich hartes Stueck Arbeit geleistet, sich dabei
aber offenbar uebernommen. Geophysiker von der Columbia University, New
York, haben herausbekommen, dass die tektonische Platte suedlich des
Aequators auseinandergebrochen ist. Sie besteht, entgegen der bisherigen
Annahme, aus zwei Teilen. Waehrend die indische Platte ruht, bewegt sich
die australische in westlicher Richtung.


17.10. Warum sind Fingerverletzungen durch Papier so schmerzhaft?


18./19.10. Die englischen Kronjuwelen gelten als unklauber.
           Wer klaute sie doch?


20.10. Bei ueberlangem Baden schrumpelt die Haut an Haenden und Fuessen.
       Warum nur da?


21.10. Nichts machen Verkehrsbehoerden lieber als das: Ampeln aufstellen.
       Wann wurde damit angefangen?

-----------------------------------------------------------------------------



Brockhaus 43-3 (Cauno, 22. Okt 1997, 13:57:28):
17.10. Warum sind Fingerverletzungen durch Papier so schmerzhaft?

Das liegt hauptsaechlich daran, dass man sie zuneachst nicht so ernst
nimmt wie z.B. einen Schnitt mit einem Kuechenmesser und meist kein
*Pflaster* darueberklebt. Dadurch trocknen die Wundraender aus, ziehen
sich auseinander und legen so die an den FIngern aeusserst zahlreich
vorhandenen nervenenden bloss. Ausserdem sind die ungeschuetzten Schnitten
Schmutz, Seife und Schweiss ausgesetzt. Durch ein Pflaster heilt zwar eine
Wunde auch nicht schneller, aber der Schnitt bleibt etwas feuchter und
schmerzt nicht so stark.
Der Schmerz haengt ausserdem auch mit unserer Ueberraschung zusammen. Wir
halten Papier fuer ungefaehrlich.


18./19.10. Die englischen Kronjuwelen gelten als unklaubar.
           Wer klaute sie doch?

Der englische Raeuber *Colonel Thomas Blood.*
1675 gelang es ihm, sich in der Rolle eines geschwaetzigen Priesters
Zugang zur oben im Tower gelegenen Schatzkammer zu verschaffen. Dort
ueberwaeltigte er den verdutzten Waechter, warf Krone und andere
koenigliche Insignien und Juwelen in einen Sack. Aber noch innerhalb des
Towers schnappte man ihn. Er wurde zum Tode verurteilt, hatte aber das
Glueck, dass Koenig Karl II. (*1630, +1685) von dem Bubenstueck "amused"
war, das Urteil aufhob und dem Gauner eine jaehrliche Pension von 200
Pfund auszahlen liess. Dafuer sollte er ab und zu das Sicherheitssystem
ueberpruefen.


20.10. Bei ueberlangem Baden schrumpelt die Haut an Haenden und Fuessen.
       Warum nur da?

Die Haut der Finger, Handflaechen, Fusssohlen und Zehen saettigt sich bei
der gemuetlichen Sitzung in der Badewanne mit Wasser. Das "stratum
corneum", die Hornhautschicht, die die Haut unserer Haende und Fuesse
bedeckt und schuetzt, dehnt sich dabei aus. Und diese Ausdehnung
verursacht den Schrumpeleffekt. An anderen Stellen des Koerpers findet der
gleiche Prozess statt, hat aber nicht solch sichtbare Folgen, da das
Wasser dort grossflaechiger absobiert wird.


21.10. Nichts machen Verkehrsbehoerden lieber als das: Ampeln aufstellen.
       Wann wurde damit angefangen?

Die allererste *Ampel* wurde 1868 in London vor dem Parlament aufgestellt.
Es war eine Fussgaengerampel, und das rote Licht fuer "Halt" sowie das
gruene Licht fuer "Gehen" waren von den Eisenbahnsignalen uebernommen
worden. Aber das Geraet war nicht gerade ein rasender Erfolg: Kurz nach
seiner Installation explodierte das Ding und toetete dabei einen
Schutzmann. Die erste Rot-Gruen-Ampel zur Regelung des Strassenverkehrs
wurde dann 1914 in der Euclid Avenue in Cleveland, Ohio, USA, aufgestellt.
Lange Zeit wurden noch viele Ampeln, auch bei uns, horizontal ueber der
Strasse angebracht. Seit den fuenfziger Jahren aenderte man das: den
Farbenblinden zuliebe.


22.10. Ein spanischer Vizekoenig aus dem Bayerischen Wald! Wer war's?

-----------------------------------------------------------------------------



Brockhaus 44-2 (Cauno, 28. Okt 1997, 12:55:18):
22.10. Ein spanischer Vizekoenig aus dem Bayerischen Wald! Wer war's?

Sein Name war *Johann Caspar Thueriegel,* und er stammte aus Gossersdorf,
wo er 1722 geboren wurde. Er schlug eine militaerische Laufbahn ein,
machte rasch Karriere und leitete u.a. die Spionageabwehr des
franzoesischen Generalstabs. Spaeter las er in einem spanischen Buch von
der Notwendigkeit einer Neubesiedelung des von Mauren entvoelkerten
Andalusien. Nach einem entsprechenden Antrag erhielt er das
koeniglich-spanische Privileg, 7321 bayerische Familien in der Sierra
Morena anzusiedeln. Unter den von Thueriegel angeworbenen Familien gab es
auch protestantische, also ketzerische, was ihm, trotz seines
Vizekoenigtitels, wohl zum Verhaengnis wurde. Die Heilige Inquisition nahm
sich seiner an, und nach 1770 verliert sich seine Spur.


23.10. Wozu dienen eigentlich Weisheitszaehne?


24.10. Alle Zehne!
       Wieso spielt man beim Bowling eigentlich mit zehn Kegeln?


25./26.10. "Indian Summer" wird der Altweibersommer in den Staaten
           genannt. Warum hat der Herbstwald viele Farben?


27.10. Schon mal bemerkt? Warum wachsen auf Impfnarbem keine Haare?


28.10. Ein Opfer der Wissenschaft!
       Woran starb der Philosoph Francis Bacon?

-----------------------------------------------------------------------------



Re: Brockhaus 44-2 (Alboin, 28. Okt 1997, 18:07:19):
~#! rn=Cauno rt=878039718 rg=puiz
~#! tid=878039718
also wegen Francis Bacon habe ich mal was in Brecht seinen Kalendergeschichten
gelesen, weiss aber nicht ob es so stimmt: 
also Francis Bacon war ziemlich alt als er seine Knastjahre wegen
Geldunterschlagung
abgesessen hatte und wohnte danach auf nem Dorf. Als er da in ner kalten
Winter-
nacht mit nem Schlitten gefahren wurde, passierte es, dass der Schlitten ein
Huhn
ueberfuhr. Von seiner Neudier getrieben stieg er aus und wollte wissen ob,
sich das Huhn
auch tiefgefrostet halten wuerde. Jedenfalls 'stopfte' er das Huhn mit Schnee
aus und
holte sich dabei ne Erkaeltung von der er sich nie wieder erholen sollte...
Die Geschichte besagt ausserdem, das ein Junge nach seinem Tod das Huhn wieder
auftauen 
lies, aber wenig Erfolg damit hatte, die Leute zu ueberreden, das es zum
Verzehr
geeignet sei.

Alboin

-----------------------------------------------------------------------------



Brockhaus 46 (Cauno, 14. Nov 1997, 12:42:59):
23.10. Wozu dienen eigentlich Weisheitszaehne?

Sicher auch dazu, unsere Zahnarztzunft vor dem Bettelstab zu bewahren,
denn sie gelten als *nutzlos* und muessen meist eintfernt werden.
Nutzlos waren sie aber sicher nicht immer. Unsere primitiven Vorfahren
hatten derart starke Kiefer, dass ihnen Trockenfleisch wie Kartoffelbrei
erschienen waere. Als sie dazu uebergingen, aufrecht herumzulaufen,
veraenderte sich, auch durch die Vergroesserung des Hirns, die
Gesichtsstruktur. Der Unterkiefer wanderte allmaehlich nach hinten, der
Kiefer verkuerzte sich insgesamt, und es gab keinen Platz mehr fuer die
dritten Mahlzaehne. Und so haben wir heute nichts mehr von ihnen - ausser
Aerger!


24.10. Alle Zehne!
       Wieso spielt man beim Bowling eigentlich mit zehn Kegeln?

Deutsche Auswandere brachten das Kegelspiel mit in die Vereinigten
Staaten. Dort spielte man es schon bald in vielen Wirtshaeusern auf eigens
gebauten Lattenbahnen. Aber das Spiel auf *"alle neune"* wurde behoerdlich
verboten, weil es dabei zu hohen Wetteinsaetzen und Wettbetrug kam.
Um das Verbot zu umgehen, erfand ein Englaender das Kegeln mit 10 Pins.
1847 wurde in New York die erste Bowling-Bahn mit dem schoenen Namen
"Gothic Hall Bowling Saloon" eroeffnet.


25./26.10. "Indian Summer" wird der Altweibersommer in den Staaten
           genannt. Warum hat der Herbstwald viele Farben?

Um diese Jahreszeit beginnt eine Schicht, den Austausch zwischen Zweig und
Blatt zu unterbrechen, so dass u.a. die bei Photosynthese entstandene
Glukose nicht mehr in den Baum abwandert, sondern im Blatt verbleibt. Das
*Chlorophyll* hat bis dahin als gruenes Pigment die anderen Farbpigmente
des Blattes nicht sichtbar werden lassen. Nun zerfaellt das Chlorophyll,
die anderen Pigmente werden sichtbar, und die verbliebene Glukose wird
zusaetzlich noch in Farbpigmente umgewandelt.
In Neuengland und Ostkanada sind die Herbstfarben der Waelder besonders
praechtig, denn die sehr kuehlen Nachttemperaturen verstaerken dort die
Veraenderungen im Stoffwechsel der Blaetter.


27.10. Schon mal bemerkt? Warum wachsen auf Impfnarben keine Haare?

Eine *Impfung* verursacht eine Entzuendung, die stark genug ist, um die
Haarwurzeln zu zerstoeren. Jede tiefgreifende Entzuendung der Haut wird
Haarausfall und Zerstoerung der Haarwurzeln nach sich ziehen.
Aber wenn Sie sich dadurch entstellt fuehlen - keine Sorge: Es ist sehr
leicht, Haare auf eine Impfnarbe zu transplantieren. Aber es ist
unmoeglich, einmal zerstoerte Haarwurzeln wieder zum Leben zu erwecken.


28.10. Ein Opfer der Wissenschaft!
       Woran starb der Philosoph Francis Bacon?

An einer Erkaeltung. Der englische Wissenschaftler, Philosoph und
Staatsmann *Francis Bacon* (*1561, +1626), manche halten ihn gar fuer den
Autor der Stuecke Shakespeares, war einer der ersten, die an die
Wissenschaft den Anspruch wiederholbarer Experimente stellten. Ein solches
wollte er im Februar 1626 waehren einer Kutschfahrt anstellen. Er wollte
einem Freund beweisen, dass man ein Huehnchen mit Hilfe von Kaelte
konservieren koenne. Also fing er eine Henne, schlachtete sie, nahm sie
aus und fuellte sie mit Schnee. Waehrend dieser Aktion erkaeltete er sich
schwer und starb daran zwei Monate spaeter.
Aber ansonsten war das Experiment auf der ganzen Linie ein Erfolg.


29.10. Was ist der Kaiserling:
       - ein Fisch
       - ein Thronfolger
       - ein Pilz?

*Ein Speisepilz.* Der "Amanita caesarea" ist ein sehr wohlschmeckender
Pilz, der eine unangenehme Eigenart hat. Mit seinem orangeroten Hut
aehnelt er fatalerweise dem Fliegenpilz. Und dieser Aehnlichkeit verdankt
er auch seinen Namen, weil sie einem Geruecht zufolge dazu diente, den
roemischen Kaiser Claudius (*10 v.Chr., +54 n.Chr.) zu vergiften. Das
toedliche Pilzgericht wurde von Claudius' zweiter Frau Agrippina (*15
v.Chr., +59 n.Chr.) zubereitet, um ihrem Sohn aus erster Ehe den Thron zu
verschaffen. Der Name dieses Kaiserlings war Nero.


30.10. Noch etwas Kaiserliches:
       Welchen Kaiser verewigt der Kaiserschmarren?

Den oesterreichischen Kaiser *Franz Joseph* (*1830, +1916). Die Koeche der
WIender Hofburg baten 1854 die frischgebackene Kaiserin Elisabeth (*1837,
+1898), "a neue Moehlspeis" nach ihr benennen zu duerfen. Die
schlankheitsbewusste Siss lehnte danken ab, aber ihr Gemahl sprang
hoeflicherweise ein.
Es duerfte wohl nur mit der oesterreichischen Herrscherwuerde vereinbar
sein, einem rechten Schmarren Pate zu stehen.


31.10. Reformationstag: Heute vor 480 Jahren schlug Luther seine Thesen an.
       oder wie war das genau?

Dass *Martin Luther* (*1453, +1546) am 31. Oktober 1517 seine 95 Thesen an
der Wittenberger Schlosskirche anschlug, ist schlichtweg eine Legende
(pardon: Legenden nennt man eigentlich nur Heiligengeschichten). Tatsache
ist, dass Luther an diesem Tag Briefe mit seinen Thesen an die Bischoefe
Albrecht von Magdeburg-Mainz und Hieronymus von Brandenburg schickte.
Die Geschichte vom Reformator, der seine Thesen mit gewaltigen
Hammerschlaegen, die die Christenheit erzittern liessen, an die
Kirchentuer nagelte, verdanken wir Luthers Mitstreiter Philipp Melanchthon
(*1497, +1560), der solcherlei erst nach Luthers Tod erzaehlte.


01./02./11. Historiker aller Art gefragt:  Wann, wie und warum wurde die
            Banane zum Ausrutschrequisit Nummer eins?

Sollten *Sie* ueber profundes Wissen verfuegen oder kombinatorische
Ahnungen hegen, so lassen Sie uns bitte daran teilhaben. Eiser, Olivenoel
usw. wuederen doch mindestens ebensogut funktionieren, oder nicht? Und
worueber rutsche man, bevor die Banane bei uns bekannt wurde? Ihre
privatwissenschaftlich entwickelten Theorien interessieren uns, daher
schreiben Sie bitte an die BROCKHAUS-Lexikonredaktion, Kennwort Kalender,
Dudenstr. 6, 68167 Mannheim.


03.11. Warum nennt man einen hakenfoermigen Schluesselersatz ausgerechnet
       Dietrich?

Benannt wurde das Werkzeug der Schlosser und Spitzbuben nicht nach einem
gleichnamigen Tueftler. Das Wort stammt aus dem *Rotwelschen,* der
Geheimsprache der Vagabunden und Gauner, das bestimmte Worte
verschluesselte oder ihre Bedeutung verschob. (Oft in etwa der Art, wie
man neuerdings den Fuehrerschein als "Pappe" bezeichnet.) Ein Wort wie
"Dieb" wurde da nicht gerne direkt in den Mund genommen, weshalb man
diesen Beruf lieber "Dietrich" nannte. Im Laufe der Zeit uebertrug sich
der Name dann auf dessen Ruestzeug. Der Vorname "Dietrich" kann uebrigens,
auf das Althochdeutsche zurueckgreifend, mit "des Volkes maechtiger
Herrscher" uebersetzt werden.


04.11. Kantapper, Kantapper. Warum brauchen Pferde Hufeisen?

An allem sind wieder einmal *die Roemer* schuld. Bis diese auf die Idee
kamen, Strassen zu pflastern, liefen alle Pferde gluecklich barfuss.
Ungefaehr zur gleichen Zeit wurde die Pferde domestiziert und auch zum
Ziehen schwerer Wagen herangezugen. Damit ihre Hufe auf dem Harten
Untergrund nich splitterten und brachen, verpassten ihnen die Roemer
zunaechst Strohschlappen.
Obwohl die Pferde im Zuge der weiteren Evolution muerbere Hufe bekommen
haben, koennten die meisten von ihnen auch heute abseits geteerter und
gepflasterter Strassen und ohne den Strass von Springpruefungen,
Dressurreiten und Galopp- und Trabrennen noch sehr gut ohne Hufeisen
auskommen.


05.11. Ist die Nase feucht, ist der Hund gesund.
       Warum haben Hunde feuchte Nasen?

Die Feuchtigkeit der *Hundenasen* entsteht hauptsaechlich durch
Sekretionen verschiedener Druesen, aber auch durch Lecken der Nase.
Die sekretionen der Nasendruesen halfen zunaechst einmal in Kombination
mit dem Hecheln dabei, die Koerpertemperatur zu regulieren, da Hund nicht
in der gleichen Weise wie Menschen schwitzen. Ausserdem produzieren die
Nasennebendruesen geruchsbindende Partikel, die die aussergewoehnliche
Geruchsempfindlichkeit des Hundes verstaerken. Alle Tiere koennen
uebrigens besser riechen, wenn der Geruch auf einer feuchten Oberflaeche
wahrgenommen werden kann.


06.11. Warum tragen die meisten Menschen Ihre Armbanduhr am linken
       Handgelenk?

Das ist leicht, denken Sie jetzt vielleicht, es ist fuer Rechtshaender
schliesslich viel einfacher, das Armband am linken Handgelenk zu fixieren.
Ja, aber warum tragen dann auch die meisten Linkshaender die Armbanduhr
links? Nun, schon seit Taschenuhrenzeiten plazierten die Uhrmacher das
*Raedchen* zum Aufziehen und Zeigerstellen neben die 3. Und das kann auch
ein Linkshaender nur sehr umstaendlich am rechten Arm handhaben. Bis heute
ist noch niemand darauf gekommen, eine Linkshaenderuhr mit dem Raedchen
neben der 9 zu konstruieren.


07.11. Sie herrschten von China bis Osteuropa.
       Warum eroberten die Mongolen nicht Japan?

Versucht haben sie es schon! Das erste Mal 1274, als sie mit einem
stattlichen Heer auf der soedjapanischen Insel Kjuschu landeten. Aber die
Samurais und ein Taifun, der einen Teil ihrer Flotte zerstoerte, zwangen
sie zum Rueckzug aufs chinesische Festland. Sieben Jahre spaeter
versuchten sie es noch einmal mit einem gewaltigen Heer. Aber die
Rittertruppen des Shoguns leisteten erbitterten Widerstand, und nach
einigen Monaten war es erneut ein Taifun, der die mongolische Flotte
soweit dezimierte, dass das Heer Kublai Khans (*1215, +1294) die Invasion
abbrechen musste. Der hilfreiche Sturm blieb den Japanern als
"Goetterwind" in Erinnerung, auf japanisch *"kamikaze".*


08./09.11. Undarstellbar schoen!
           In welcher Form wurde Aphrodite auf Zypern verehrt?


10.11. Wo war der Westen am laengsten wild?


11.11. Heute lassen manche die Bleichgesichter beim Gluecksspiel bluten:
       Wer war der erste erfolgreiche Geschaeftsmann unter den Indianern?


12.11. Zahnlose Fleischfresser - wie zerkleinern Voegel ihre Nahrung?


13.11. Fithalten fuers Regieren!
       Was war der Lieblingssport Heinrich VIII.?


14.11. Welche Frisur empfiehlt der Apostel Paulus als passend?


-----------------------------------------------------------------------------



1/3 des Mittelwertes (Ratz, 16. Nov 1997, 22:42:42):
Hallo,
ich bin in der Zeitschrift "Spectrum der Wissenschaft" ueber folgenden Quiz
gestolpert.
Gesucht als Loesung ist der Wert der einem drittel des Mittelwertes aller
eingesandten Loesungen entspricht.
Die Loesungsmenge soll zwischen 0 und Hundert liegen und muss keine
natuerliche Zahl sein soweit ich weiss.
hat einer eine Idee wie man da ran geht?
Gruss ratzfatz Ratz
P.S. Ihr koennt euch glaub ich noch an dem Quiz beteiligen via www.spectrum.de

-----------------------------------------------------------------------------



Re: 1/3 des Mittelwertes (Key, 16. Nov 1997, 22:48:48):
~#! rn=Ratz rt=879716562 rg=puiz
~#! tid=879716562
Hmm also ich wuerde auf jeden fall irgendwas unter 30 tippen ... da das aber
evtl die meisten denken werden unter 10 ... naja daran denken auch nen paar,
also ich nehme 1 =;)

Key

-----------------------------------------------------------------------------



Re: Re: 1/3 des Mittelwertes (Wurzel, 16. Nov 1997, 22:50:57):
~#! rn=Key rt=879716928 rg=puiz
~#! tid=879716562
daran denken dann auch wieder einige... also 1/3... aber daran denken auch
wieder welche... mit jedem schritt wird es um einen faktor 3 weniger, also
wenn die leute halbwegs intelligent sind, kommt 0 raus.
die groesse der zahl ist ein mass fuer die intelligenz der mitspieler,
sozusagen :)

wurzel

-----------------------------------------------------------------------------



ergaenzung zu 1/3 .. (Ratz, 16. Nov 1997, 22:58:53):
im original ist leider nicht wie oben beschrieben nach 1/3 des Mittlewertes
sondern nach 2/3teln gefragt.
Und die Adresse wird mit k geschrieben. www.spektrum.de
gruss ratzfatz Ratz

-----------------------------------------------------------------------------



Re: ergaenzung zu 1/3 .. (Pra, 16. Nov 1997, 23:39:19):
~#! rn=Ratz rt=879717533 rg=puiz
~#! tid=879717533
Wo ist der Unterschied? Wenn nach 2/3 gefragt ist, kommt auch irgendwann
0 reaus. Dauert halt was laegner.
Argl. Zuviel Bier getrunken um noch gerade zu tippen. Also wenn ein Denkfehler
drin ist, ist es das Weizen schuld.

Pra.

-----------------------------------------------------------------------------



1/3 (Lycar, 17. Nov 1997, 19:42:55):
Ich bin kein Mathematiker (das vorweg zur Entschuldigung) muss es denn 
eine Zahl sein ? Kann man nicht Spasseshalber eine Formel schicken, deren
Ergebnis dem gesuchten entspricht ? So ala: x=(Mittelwert aller einge-
gangenen Vorschlge) / 3  ? :)

Lycar --- hatte mal LK Mathe (da sieht man mal was das wert ist...)

-----------------------------------------------------------------------------



Re: 1/3 (Rumata, 18. Nov 1997, 12:22:46):
~#! rn=Lycar rt=879792175 rg=puiz
~#! tid=879792175
Und wie soll diese Funktion in die Mettelwertberechnung einfliessen? ;-)
Rumata

-----------------------------------------------------------------------------



Re: Re: 1/3 (Boing, 18. Nov 1997, 13:57:06):
~#! rn=Rumata rt=879852166 rg=puiz
~#! tid=879792175
Das ist ja nicht das Problem des Einsenders ... :)
 Boing

-----------------------------------------------------------------------------



Brockhaus 47 (Cauno, 21. Nov 1997, 14:43:08):
08./09.11. Undarstellbar schoen!
           In welcher Form wurde Aphrodite auf Zypern verehrt?

Im zyprischen Palaipaphos befand sich das groesste Heiligtum der
schaumgeborenen Goettin, das etwa 1200 v.Chr. errichtet wurde. In der
grossen Tempelanlage gab es keine Statue der *Liebesgoettin,* sondern nur
einen 1,20 Meter hoehn schwarzen Stein, der ihre unvergleichliche
Schoenheit symbolisieren sollte.
Alle Besatzer Zyperns, seien es die Assyrer, die Phoenizier, Perser,
Griechen oder Roemer gewesen, respektierten und schuetzten den Tempel.
Erst der christliche Kaiser Theodosius (*347, +395) liess den Tempel 392
schliessen. Neun Jahre spaeter zerstoerten die Goetter mittels eines
Erdbebens die heilige Staette, die 1600 Jahre lang die Menschen angezogen
hatte.


10.11. Wo war der Westen am laengsten wild?

*In Oklahoma.* In dem 1830 fuenf "zivilisierten" Indianerstaemmen
zugewiesenen Gebiet lebten in den 60er Jahren des vorigen Jahrhunderts
auch an die 80 000 Siedler, die weder durch Polizei noch durch Gerichte
geschuetzt waren. Die uebelsten Burschen des Kontinents terrorisierten sie
und konnten gefahrlos Trecks, Postkutschen und Rueckkehrer von den
kalifornischen Goldfeldern berauben. Erst 1875 kam der vom Kongress
bestallte Richter Isaac Parker nach Fort Smith. Sein
Zustaendigkeitsbereich war mit mehr als 180 000 Quadratkilometern so gross
wie Bayern, Oesterreich und die Schweiz zusammen. In 21 Jahren standen
fast 14 000 Angeklagte vor seinem Richtertisch, von denen fast 10 000
verurteilt wurden. Erst 1896 wurde das Gebiet in 72 Gerichtsbezirke
unterteilt: das endgueltige Ende des Wilden Westens.


11.11. Heute lassen manche die Bleichgesichter beim Gluecksspiel bluten:
       Wer war der erste erfolgreiche Geschaeftsmann unter den Indianern?

*Quanah Parker* (*um 1845, +1911), Haeuptling der Comanchen. Er war Sohn
eines Haeuptlings und einer Weissen. Nach durchweg erfolgreichen Gefechten
gab er 1876 seinen Kampf gegen die Weissen auf und ging mit seinem Stamm
in ein texanisches Reservat. Dort verpachtete er Land an weisse
Viehzuechter und ging mit dem Geld so geschickt um, dass er zum
Hauptaktionaer einer Eisenbahngesellschaft avancierte. Und da smit
insgesamt acht Frauen und 25 Kindern!


12.11. Zahnlose Fleischfresser - wie zerkleinern Voegel ihre Nahrung?

Voegel haben sehr robuste, musmuloese *Maegen*, in denen sie ihre Nahrung
zerkleinern koennen. Fleischfresser wie z.B. Kraehen oder Greifvoegel
muessen darauf achen, nicht zu grosse Haeppchen verschlingen zu wollen,
denn der Mageineingang ist bei Voegeln recht eng. Krallen, Graeten,
Knoechelchen und aehnlich unverdaubares Zeug wird schon vor dem Magen zum
sogenannten Gewoelle zusammengedrueckt. Diese Speisereste werden mit
Haaren und Federn ummantelt, damit die beim Herauswuergen nicht den
Schlund aufreissen. Eulen z.B. Wuergen dieses Gewoelle etwa zweimal
taeglich heraus.


13.11. Fithalten fuers Regieren!
       Was war der Lieblingssport Heinrich VIII.?

*Ringen!* An seinem Hofe hielt sich der englische Koenig einen
"Kraftkerl", der staendig zur sportlichen Entspannung bereitstand.
Allerdings ueberschaetzte sich der Herrscher auch bisweilen. 1520, beim
prestigetraechtigen Zusammentreffen mit dem franzoesischen Koenig FRanz I.
(*1494, +1547) bei Calais, forderte Heinrich den Amtskollegen
handgreiflich zum Ringen auf. Franz entwand sich geschickt dem Griff und
legte Heinrich auf die Matte.
Das anschliessende Abendessen soll etwas frostig verlaufen sein.


14.11. Welche Frisur empfiehlt der Apostel Paulus als passend?


15./16.11. Mit List und Tuecke!
           Welches Gewuerz war seit jeher Liebling der Faelscher?


17.11. Pure Eleganz: Wer sind die Meisterflieger im Insektenreich?


18.11. Kasseler, Kotelett, Bratwurst, nein danke!
       Warum ist bei Juden und Moslems das Schweinefleisch tabu?


19.11. Wer inspirierte Giuseppe Tartini zu seiner "Teufelstrillersonate"?


20.11. Warum ist die Schrift der Maya immer noch nicht vollstaendig
       entziffert?


21.11. Im Stehen schlafen. Wie und warum tun das Pferde?

-----------------------------------------------------------------------------



Re: Brockhaus 47 (Hobo, 21. Nov 1997, 15:07:53):
~#! rn=Cauno rt=880119788 rg=puiz
~#! tid=880119788
Lasst mich mal raten:

Lieblingsgewuerz der Faelscher: Irgendwas, dass man als Godlauflage verwenden
kann? Also Curry oder so etwas?

Meisterflieger: Da fallen mir gleich mehrere ein:
  Hummel, weil die eigentlich gar nicht fliegen koennen ;)
   Fliegen, weil die rueckwaerts fliegen koennen
    ....?

Pferde, die im stehen schlafen: 
 warum: weil sie als Fluchttiere schnell fluchtfaehig sein muessen, aufstehen
kostet zu viel Zeit

  wie: Pferde haben kein Schluesselbein. Sie haben so eine Art "Aufhaengung",
so dass sie ohne Muskelanstrengung stehen koennen.

Gegen: Nix Neues auf der Welt
  ---- Hobo

-----------------------------------------------------------------------------



Re: Re: Brockhaus 47 (Raffi, 21. Nov 1997, 15:11:52):
~#! rn=Hobo rt=880121273 rg=puiz
~#! tid=880119788
Meisterflieger - gabs da nicht ein insekt das bis zu 1200 km/h macht ...
allerdings nur ueber 20 cm ? Irgend so ne Pferdebremse oder sowas ... Bio ist
lang lang her.

Pferde genau - ist das gleiche wie bei den voegeln.

Gruss
H.

-----------------------------------------------------------------------------



Re: Brockhaus 47 (Dhojakt, 21. Nov 1997, 21:20:12):
~#! rn=Cauno rt=880119788 rg=puiz
~#! tid=880119788
Gewuerz: Safran, weils so schwer gewinnbar und damit teuer ist.
Meisterflieger: Libellen zuzuschauen ist echt interessant.

-----------------------------------------------------------------------------



Re: Brockhaus 47 (Acrimon, 24. Nov 1997, 13:42:12):
~#! rn=Cauno rt=880119788 rg=puiz
~#! tid=880119788
15./16. 11. Salz?
17.11. Libellen
18.11. Weil es unrein ist

-----------------------------------------------------------------------------



Re: 1/3 des Mittelwertes (Bambulko, 25. Nov 1997, 17:46:15):
~#! rn=Ratz rt=879716562 rg=puiz
~#! tid=879716562

Huhu,
hat jemand eine Ahnung, wie das Quiz ausgegangen ist?
Wenn ich auf die Raetselseite von Spektum gehe, ist da ein neues Quiz.

Bambulko

-----------------------------------------------------------------------------



Brockhaus 48 (Cauno, 28. Nov 1997, 14:37:08):
14.11. Welche Frisur empfiehlt der Apostel Paulus als passend?

Im *1. Brief a die Korither* (11,14-15) aeussert er sich folgendermassen:
"Lehrt Euch nicht auch die Natur selbst, dass es einem Manne eine Unehre
ist, so er langes Haar traegt, aber die Frau eine Ehre, so si langes Haar
hat? Das Haar ist ihr zum Schleier gegeben."
Die Kirche hat dieses Urteil aber nie kanonisiert. Im Gegenteil: Im
Mittelalter setzt sich in der christlichen Kunst, wahrscheinlich unter dem
Einfluss des Turiner Grabtuchs, die Darstellung Christi mit langen Haaren
durch.


15./16.11. Mit List und Tuecke!
           Welches Gewuerz war seit jeher Liebling der Faelscher?

*Der Safran.* Fuer ein Kilo des Gewuerzes muessen etwa 150 000
Krokusblueten verarbeitet werden. Aber es war und ist natuerlich nicht nur
wegen seines exorbitanten Preises begehrt. Safran galt immer schon,
abgesehen von seinen Geschmacksqualitaeten, als potentes Heilmittel, das
seiner krampf- und schmerzloesenen sowie euphorisierenden Wirkung wegen
frueher oft mit dem Opium verglichen wurde.
Schon zu Zeiten der Roemer wurde der Safran allerdings mit Bleiglanz und
Saeften schwerer gemacht, und im 15. Jahrhundert griff das Faelschen des
Gewuerzes so um sich, dass sogar die Todesstrafe darauf stand. Noch 1551
sah sich der Reichstag zu Augsburg veranlasst, ein Gesetz gegen
"geschmierten Safran" zu erlassen.


17.11. Pure Eleganz: Wer sind die Meisterflieger im Insektenreich?

*Die Libellen.* Sie gelten als das perfekte Flugtier schlechthin. Ihre
Flugmanoever, bei denen sie z.B. ploetzlich in der Luft anhalten, um dann
ohne einen FLuegelschlag weiterzuschweben, haben schon den
ukrainisch-amerikanischen Helikopterpionier Igor Sikorskij (*1889, +1972)
fasziniert und inspiriert.
Die Libellen verfuegen ueber zwei Fluegelpaare und koennen jeden einzelnen
Fluegel unabhaengig bewegen. Dazu besitzen sie gewaltige Brustmuskeln,
also genau das, was uns zum Fliegen aus eigener Koerperkraft fehlt. Wenn
auch viele Arten gefaehrdet sind, so kommen doch immerhin achtzig der
urspruenglich einhundert europaeischen Arten noch bei uns in Deutschland
vor.


18.11. Kasseler, Kotelett, Bratwurst, nein danke!
       Warum ist bei Juden und Moslems das Schweinefleisch tabu?

Man weiss, dass es im Nahen Osten vor 4000 bis 6000 Jahren sehr wohl
grosse Schweineherden gab. Man konnte sie muehelos halten, weil
ausgedehnte Waelder fuer den noetigen Schatten und das Wasser sorgten, das
Schweine u.a. auch zum Suhlen brauchen. Der Wandel erfolgte durch das
*Abholzen der Waelder* im Nahen Osten. Wasser wurde kostbar und das
Schwein zum Wasserkonkurrenten des Menschen. In Mesopotamien und Aegypten
erfolgte das Verbot der Schweinemast, nachdem die grossen Waelder
vernichtet waren. So hat das Verdikt der "Unreinheit" keine, wie vielfach
behauptet, gesundheitlichen, sondern handfeste wirtschaftliche bzw.
oekologische Hintergruende.


19.11. Wer inspirierte Giuseppe Tartini zu seiner "Teufelstrillersonate"?

Wenn man dem itlienischen Geiger und Komponisten *Giuseppe Tartini*
(*1692, +1770) glauben mag: der Teufel selbst. Als Tartini sich 1774 vor
den Haeschern im Franziskanerkloster von Assisi verbarg (er hatte ein
15jaehriges Maedchen entfuehrt), traeumte ihm, er habe seine Seele dem
Teufel verkauft. Dafuer verlangte Tartini vom Fuersten der Hoelle, dass
der ihm mit der Geige aufspiele. Der legte auch teufelsmaessig los, geigte
ihm ein Stueck, von dessen wilder SChoenheit Tartini zutiefst ergriffen
war,. Wieder aufgewacht, versuchte er die Sonate niederzuschreiben. Er
konnte sich zwar nicht an alles erinnern, doch die Teufelstrillersonate
ist ein herrliches Bravourstueck und - teuflisch schwer zu spielen.


20.11. Warum ist die Schrift der Maya immer noch nicht vollstaendig
       entziffert?

*Achtzig Prozent* haben die Wissenschaftler inzwischen entziffert. Den
Rest zu entschluesseln faellt deshalb schwer, weil eineige Zeichen nur
selten auftachen. Wenn sich ein Zeichen nur drei- oder viermal findet,
gibt es zu wenig Kontext, um seine Bedeutung einzukreisen. Als Material
stehen etwa 12 000 Inschriften an mehr als 3000 historischen Staetten zur
Verfuegung. Das ist allemal genug, um die Geschichte der Maya von 600
v.Chr. bis zum 9. Jahrhundert n.Chr. zu rekonstruieren.
Der CLub der Maya-Schrift-Entzifferer ist uebrigens sehr exklusive:
Weltweit gibt es nur fuenf.


21.11. Im Stehen schlafen. Wie und warum tun das Pferde?

Die Pferde schlafen meist im Stehen, und es ist fuer sie nichts
Ungewoehnliches, einen Monat oder laenger stehenzubleiben. Pferdebeine
haben ein einzigartig ineinandergreifendes System von Baendern, Sehnen und
Knochen, das muehelos wie eine Schlinge das Koerpergewicht auffaengt,
waehrend die Muskeln vollstaendig entspannt bleiben. Deshalb brauchen
Pferde keine bewusste Anstrengung zu machen, um stehenzubleiben: Ihre
Beine sind waehrend des Schlafens wie verriegelt.
*Schlaf im Stehen* hatte in Zeiten des Lebens in der Wildnis grosse
Vorteile, weil die Pferde dadurch weniger verwundbar und einem
ueberraschenden Angriff ausgesetzt waren, als wenn sie auf dem Boden
gelegen haetten.


22./23.11. Sterne blinken, Planeten nicht. Warum?


24.11. Was machen Hippos eigentlich in der Nacht?


25.11. Mehr ueber Dickhaeuter.
       Welcher machte die groesste internationale Karriere?


26.11. Und noch etwas ueber Jumbo. Was bedeutet der Name?


27.11. Bis aufs i-Tuepfelchen ...
       Moment mal, wozu wird das denn eigentlich ueberhaupt gebraucht?


28.11. Die 5. Weltausstellung fand in Wien statt.
       Warum war sie ein solcher Flop?

-----------------------------------------------------------------------------



Re: Brockhaus 48 (Acrimon, 28. Nov 1997, 15:43:16):
~#! rn=Cauno rt=880724228 rg=puiz
~#! tid=880724228
22.11.: Sterne blinken nicht, Sterne leuchten.
Und Planeten blinken auch nicht, sondern werden von Sternen angestrahlt.

27.11. Um es von anderen Buchstaben besser unterscheiden zu koennen.

-----------------------------------------------------------------------------



Re: Re: Brockhaus 48 (Anatol, 28. Nov 1997, 16:33:37):
~#! rn=Acrimon rt=880728196 rg=puiz
~#! tid=880724228
Es gibt sehr wohl Pulsare oder andere blinkende Sterne, die Ursachen koennen
- meines bescheidenen Wissens nach (nie gross drum gekuemmert) - vielerlei
Gestalt haben. Zum Beispiel weil es kein einfacher, sondern ein echter (nicht
nur optischer) Doppelstern ist, dessen beiden Komponenten sich umkreisen und
verschieden stark leuchten - die Blinkfrequenz ist allerdings ziemlich 
niedrig, es klingt dann schon wahrscheinlicher, dass irgendwelche Ereignisse,
wie man sie von Aufnahmen unserer Sonne kennt, bedeutenderen Einfluss haben.

Laie, 
Anatol


-----------------------------------------------------------------------------



Re^3: Brockhaus 48 (Nirdavo, 28. Nov 1997, 16:46:01):
~#! rn=Anatol rt=880731217 rg=puiz
~#! tid=880724228
  Ich denke eher, dass mit dieser Frage gemeint ist, dass bei der Beobachtung
des Nachthimmels Sterne zu blinken scheinen, die Planeten jedoch nicht. 
  Das Blinken der Sterne wird durch Dichtefluktuationen in der Atmosphaere
hervorgerufen. Die geringe absolute Lichtintensitaet fuehrt dann dazu, dass
zeitweise das Licht fast voellig vom Beobachter weggebrochen wird.
  Ich muss zugeben, dass ich mir das noch nie bewusst abgeschaut habe (ob die
Planeten nicht blinken), aber was ich mir vorstellen kann ist, dass durch die
absolut hoehere Helligkeit der von der (nahen) Sonne angestrahlten Planten die
Helligkeits-fluktuationen so stark ausgeglichen werden, dass man kein Blinken
bemerkt.

            Nirdavo, stellt heute mal Theorien auf

-----------------------------------------------------------------------------



Re^3: Brockhaus 48 (Grimmborn, 28. Nov 1997, 16:53:36):
~#! rn=Anatol rt=880731217 rg=puiz
~#! tid=880724228
Sorry, aber wenn Du Pulsare sehen kannst, bist Du gut. Die meisten sind denn
doch eher schnell. Nach sich verdeckenden Doppelsternen lecken sich die
Astrolog^WAstronomen die Finger - sowas ist sehr selten. Und erst recht nicht
mit blossem Auge zu sehen. Umlaufzeiten von vielleicht schnellstens ein paar
Tagen wuerde ich auch nicht mit "blinken" bezeichnen. Der Effekt des Blinkens
liegt an der Atmosphaere, deren Dichte nicht ganz homogen ist und ein
ungleichmaessiges Brechen erzeugt. Nebenbei habe ich auch die Venus schon
blinken gesehen, das ist nicht auf Sterne beschraenkt.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: Brockhaus 48 (Rantanplan, 28. Nov 1997, 17:22:34):
~#! rn=Anatol rt=880731217 rg=puiz
~#! tid=880724228
Yo !

Dat mit der Atmosphaere ist schon richtig so.

Anatol spricht von sogenannten Bedeckungsveraenderlichen, die haben aber
normalerweise ziemlich grosse Umlaufzeiten im Bereich von einigen Tagen.

Und Pulsare rotieren sauschnellaber senden primaer im Radio und
Reontgenbereich, das kann man nicht so gut sehen...


Jau so is dat...

Oe*

-----------------------------------------------------------------------------



Re^4: Brockhaus 48 (Anatol, 28. Nov 1997, 23:36:32):
~#! rn=Rantanplan rt=880734154 rg=puiz
~#! tid=880724228
Danke fuer die Wissenserweiterung :). Das einzige, was (fuer mich Laie)
ein wenig komisch klingt - sind diese Bedeckungsveraenderlichen tatsaechlich
so selten? Ich dachte, dass schon allein das Sternbild Kepheus mindestens
zwei davon beherbergt... auch wenn man sie vielleicht mit einem kleinen
Fernrohr suchen muss *schulterzuck*.

Anatol


-----------------------------------------------------------------------------



Re: Brockhaus 48 (Ratz, 29. Nov 1997, 14:29:01):
~#! rn=Cauno rt=880724228 rg=puiz
~#! tid=880724228
24.11. Hippos gehen nachts an land und machen ausschweifende Spaziergaenge und
fressen sich wohlmoeglich satt.
25.11 Der Elefant, der aus der Schwebebahn in Wuppertal fiel? Benjamin
Bluemchen? 
26.11 Das Wort Jumbo koennte vom Suaheli Wort "Djumbo" stammen. Es bedeutet
allerdings soviel wie "Guten Tag wie gehts"
Das Wort fuer Elefant in Suaheli ist uebrigens "Tembo"
Gruss ratzfatz Ratz

-----------------------------------------------------------------------------



Re^4: Brockhaus 48 (Bambulko, 30. Nov 1997, 15:45:49):
~#! rn=Rantanplan rt=880734154 rg=puiz
~#! tid=880724228
Also, der grund warum Sterne 'blinken' und Planeten nicht, ist folgender:

Sterne erscheinen alle (ausser der Sonne) fuer uns Punktfoermig, da sie so
weit weg sind. Planeten seher wir aber als kleines Scheibchen. Wird nun das
Licht des Sterns an der Atmosphaere gebrochen sieht man den Stern an einer
etwas anderen Stelle. Bei den planeten wird das Licht aber immer noch auf die
Scheibe des Planeten gebrochen. Also der grund ist der groessere scheinbare
Durchmesser der Planeten.

Zu Bedeckungsveraenderlichen: Es gibt sehrwohl Bedeckungsveraenderliche, die
sehr schnell rotieren. Dies geschieht z.>b wenn zwei Sterne miteinander
verschmelzen und so nahe sind, das sie sich (fast) beruehren....

Bambulko

-----------------------------------------------------------------------------



Re^4: Brockhaus 48 (Mahatma, 30. Nov 1997, 23:18:40):
~#! rn=Grimmborn rt=880732416 rg=puiz
~#! tid=880724228
Also, dem 'erst recht nicht mit blossem Auge zu sehen' muss ich widersprechen.
Der bekannteste Bedeckungsveraenderliche, Algol im Sternbild Perseus (der
einer ganzen Klasse von Veraenderlichen ihren Namen gab), ist gut mit blossem
Auge zu sehen.
Auch der Lichtwechsel ist gut zu sehen, da die Differenz zwischen Maximum und
Minimum mehr als eine Groessenklasse betraegt.

Mahatma

-----------------------------------------------------------------------------



Re^5: Brockhaus 48 (Li,  2. Dez 1997, 10:18:24):
~#! rn=Mahatma rt=880928320 rg=puiz
~#! tid=880724228
Undauch zeitlich gut zu beobachten, dauert naemlich mehrere Tage, bis der
kleinere Begleiter den Hauptstern umkreist hat....
Li

-----------------------------------------------------------------------------



Re^6: Brockhaus 48 (Grimmborn,  2. Dez 1997, 10:29:37):
~#! rn=Li rt=881054304 rg=puiz
~#! tid=880724228
Um noch mal an das urspruengliche Thema zu erinnern: Diese Veraenderungen im
Tagesrhythmus wuerdest Du also als "blinken" bezeichnen? Ich nicht...

GdA

-----------------------------------------------------------------------------



Re^7: Brockhaus 48 (Li,  2. Dez 1997, 11:36:10):
~#! rn=Grimmborn rt=881054977 rg=puiz
~#! tid=880724228
noe, hab ich das behauptet? :-) algol blinkt auch, aber das leigt an den schon
erwaehnten Atmosphaerischen Stoerungen der punktfoermigen Lichtquellen
(Sterne), waehrend die Planeten sehr nah an der Erde stehen, und deren licht
blinkt nicht.
Meine Bemerkung bezog nicht nur darauf, dass man sehr wohl veraenderliche
sterne sehen kann, das sit aber ein ganz anderes Thema.
Li

-----------------------------------------------------------------------------



Brockhaus 49 (Cauno,  5. Dez 1997, 14:30:04):
22./23.11. Sterne blinken, Planeten nicht. Warum?

Das Licht der Sterne durchquert auf dem Weg zu unserem Auge auch die
Erdatmosphaere, und die Turbulenzen der warmen und kalten Luftschichten
lenken die Lichtstrahlen leicht ab. In einem Augenblick erreicht uns ein
Lichtstrahl, im naechsten Augenblick geht er fehl usw.
Die *Oberflaeche* der Planeten ist eine wesentlich groessere und damit
konstantere Lichtquelle (Reflektionsflaeche). Eine Geldmuenze auf dem
Boden eines Schwimmbassins wird ihre Position fuer unser Auge durch die
Lichtbrechung im Wasser staendig verschieben, ein dort versenkter
Kaffeetisch wird aber aufgrund seiner groesseren Oberflaeche recht stabil
erscheinen.


24.11. Was machen Hippos eigentlich in der Nacht?

Die *Flusspferde* (lateinischer Familienname: Hippopotamus) gehen nachts
an Land, um zu fressen. Ihre etwa sieben Zentimeter dicke Haut, die im
Wasser die Waermeabstrahlung verhindert, ist tagsueber an Land ein echtes
Hinderns, da die isolierende Eigenschaft der Haut schnell fuer
Ueberhitzung sorgt. So ziehen es die Dickhaeuter am Tage vor, sich traege
in Wasser, Schlamm und am Ufer zu bewegen. Nachts hingegen koennen sie
behaglich meilenweit an Land herumspazieren und Nahrung aufnehmen.
Flusspferde koennen uebrigens nicht schwimmen. Selbst wenn sie ihre Lungen
randvoll mit Luft gepumpt haben, sinken sie auf den Grund. Dort koennen
sie dann bis zu fuenf Minuten einhertrotten, ohne zum Luftholen auftauchen
zu muessen.


25.11. Mehr ueber Dickhaeuter.
       Welcher machte die groesste internationale Karriere?

"*Jumbo*, The Largest And Noblest Beast That Ever Lived." Der afrikanische
Elefant kam 1865 in den Londoner Zoo und war dort 17 Jahre lang Liebling
aller Besucher. 1882 erwarb ihn der amerikanische Schausteller Phineas T.
Barnum (*1810, +1891) fuer seinen Zirkus. Ein Aufschrei der Entruestung
brauste durch England, und selbst Queen Victoria (*1819, +1901)
intervenierte. Aber Jumbo wurde trotz aller Proteste Amerikaner. Er trug
waehrend seiner dreieinhalb Jahre waehrenden Zirkuskarriere
schaetzungsweise eine Million Kinder auf seinem Ruecken. Er starb, als er
ueber Eisenbahngleise gefuehrt wurde und mit einem Gueterzug
zusammenstiess. Die Lokomotive entgleiste dabei.


26.11. Und noch etwas ueber Jumbo. Was bedeutet der Name?

In seiner afrikanischen Heimat versteht man unter einem "jumbo" ein
besonders grosses *Gepaeckstueck,* und es ist wohl nicht zu gewagt
anzunehmen, dass unser Elefant den Namen bei seiner Einschiffung nach
England erhielt. Als er spaeter zum Zirkus Barnum & Bailey kam, wog er
sechseinhalb Tonnen bei 3,28 Metern Schulterhoehe. Bei seinem Tod soll er
noch nicht seine ganze Groesse erlangt gehabt haben. Seine taegliche
Nahrung bestand aus 200 Pfund Heu, fuenf Faessern Wasser und einer Flasche
Whiskey. Alle Welt hegte eine solche Bewunderung fuer das Tier, dass sein
Name Eingang in den angelsaechsischen Sprachschatz fand.


27.11. Bis aufs i-Tuepfelchen ...
       Moment mal, wozu wird das denn eigentlich ueberhaupt gebraucht?

Das *Tuepfelchen auf dem i* verdanken wir vor allem der gotischen Schrift,
der Schriftart der gotischen Stilepoche (11.-15. Jahrhundert). In ihr,
besonders in der klassischen Ausformung der Textura, war das kleine i
durch die Form der Buchstabenschaefte und das Verschmelzen benachbarter
Buchstaben gar zu unauffaellig. Ein Wort wie minne war da nicht leicht zu
entziffern. Zum Glueck fiel es im 13. Jahrhundert jemandem ein, der
Kalamitaet durch einen Haken auf dem i ein Ende zu setzen. Der
verkleinerte sich dann im Laufe der Zeit zum Puenktchen. In vielen
Laendern der Erde traut man auch dem grossen I nicht ganz und versieht es
bei den handgeschriebenen grossen Blockbuchstaben ebenfalls mit einem
Tupfer.


28.11. Die 5. Weltausstellung fand in Wien statt.
       Warum war sie ein solcher Flop?

Sie fand zum einen 1873 statt, also noch im Schatten des Deutsch-
Franzoesischen Krieges. Unmittelbar nach der Eroeffnung verwandelte zudem
ein *Hochwasser* das Ausstellungsgelaende des Wiener Praters in einen See.
Die Ueberschwemmung in der Stadt hatte noch weitere fatale Folgen, denn
einige Tage spaeter brach die Cholera aus. Das wirkte sich natuerlich auf
die potentiellen Besucher nicht gerade motivierend aus. Von den
Ausstellern waren viele erst gar nicht gekommen, denn kurz vor Beginn der
Weltausstellung hatte der Wiener Boersenkrach dem Wirtschafts- und
Finanzleben Europas einen schweren Daempfer verpasst. Mal sehen, wie's in
Hannover wird ...


29./30.11. Ein Don King seiner Zeit!
           Wer gilt als Urvater der Box-Promoter?


01.12. Triumph der Wissenschaft!
       Was ist das neueste Pflanzenschutzmittel gegen Mehltau?


02.12. Napoleon war auch nach seinem Tod noch Gegenstand heftigster
       Verehrung. Welche Reliquien standen und stehen seinen Verehrern
       zur Verfuegung?


03.12. Naturheilkundliche Praeparate verbinden sich mit ihrem Namen.
       Wer war Veleda?


04.12. Fuenf Jahre nach Jeanne d'Arcs Tod wurden die Feiern zu ihrem
       Gedenken abgeschafft. Warum?


05.12. Kennen Sie Friedberg? Und wer war sein beruehmtester Besucher?

-----------------------------------------------------------------------------



Re: Brockhaus 49 (Anacrion,  5. Dez 1997, 14:32:31):
~#! rn=Cauno rt=881328604 rg=puiz
~#! tid=881328604

Hmm. Ja. Ich wohne 3km weiter. Groesste Flaechenburg aus der Stuaferzeit.
Beruehmtester Besucher: Wilhelm I., nach dem die Kaiserstrasse benannt ist.

oder ?

Anac*

-----------------------------------------------------------------------------



Re: Re: Brockhaus 49 (Atoz,  5. Dez 1997, 20:51:45):
~#! rn=Anacrion rt=881328751 rg=puiz
~#! tid=881328604
Klaro kenn ich datt Kaff war nicht Elvis mal da? ;)))

-----------------------------------------------------------------------------



Brockhaus 50 (Cauno, 12. Dez 1997, 14:39:55):
29./30.11. Ein Don King seiner Zeit!
           Wer gilt als Urvater der Box-Promoter?

Der Englaender *James Figg* (*1694, +1734). Er war ein beruehmter Fechter,
der 300 Preiskaempfe relativ unbeschadet ueberstand, und galt als
"champion boxer". Figg unterhielt eine Fecht- und Boxschule und gruendete
1719 ein "Amphitheater" mit "Gladiatorenkaempfen", fuer die der
Kupferstecher William Hogarth (*1697, +1764) die Werbeplakate schuf.
Darueber hinaus strukturierte Figg auf voellig neue Weise die SPortszene,
die natuerlich auch Wettszene war. Er war Alleinorganisator der
Boxkaempfe, kassierte alle Einnahmen und zahlte den Boxern vorher
festgelegte Boersen. Das bewaehrte sich.


01.12. Triumph der Wissenschaft!
       Was ist das neueste Pflanzenschutzmittel gegen Mehltau?

*Leitungswasser!* Durch eine Testreihe, bei der Gurken vierzigmal taeglich
besprueht wurden, fanden Forscher der Universitaet Hannover heraus, dass
Leitungswasser den Pilzbefall der Pflanzen genauso stark reduziert wie
Fungizide. Diesen Effekt erzielt die Substanz mit der Formel H2O nicht
allein durch ihre Naesse, sondern vor allem durch ihre chemische
Zusammensetzung.
Sollen wir das nun als gut oder schlecht bewerten?


02.12. Napoleon war auch nach seinem Tod noch Gegenstand heftigster
       Verehrung. Welche Reliquien standen und stehen seinen Verehrern
       zur Verfuegung?

Haare, Gedaerme, ein Weisheitszahn, Herz und Magen sowie ... Doch davon
spaeter. Da *Napoleon Bonaparte* (*1769, +1821) nach seinem Ableben auf
St. Helena kahlgschoren wurde, konnten Hunderte von Erinnerungsstuecken
gefertig werden. Gedaerme wurden bis zu einem Luftangriff 1941 im Royal
College of Surgeons in London bewahrt. ein 1817 gezogener Weisheitszahn
ist inzwischen verschwunden. Herz und Magen wurden in Silbergefaessen
aufbewahrt. Ja, und dann bot das Auktionshaus Christie's 1972 ein
Koerperteil an, das angeblich des Kaisers Beichtvater an sich gebracht
haben soll: Napoleons Panis. Das 2,5 cm lange Ding wurde im Katalog
beschrieben als "kleiner, vertrockneter Gegenstand von der Form eines
Seepferdchens" (pardon, SIre, wir zitieren ja bloss ...)


03.12. Naturheilkundliche Praeparate verbinden sich mit ihrem Namen.
       Wer war Veleda?

*Veleda* (um 70 n.Chr,) war eine germanische Seherin. Sie lebte an der
Lippe im Land der Brukterer abgeschieden in einem Turm im Wald. Ihre
Weissagungen wurden von Dienern dem Volk oder mitunter anfragenden
Kriegern uebermittelt. Dem roemischen Gecshichtsschreiber Tacitus (*um 55,
+nach 116) zufolge genoss Veleda fast goettliche Verehrung. Sie
unterstuetzte mit Tat und Seherkraft den Aufstand verschiedener
germanischer und gallischer Staemme unter Fuehrung des Bataverfuersten
Civilis gegen die Roemer, die sie wiederum um Friedensvermittlung baten.
Nach einem weiteren Aufstand wurde die Pythia Germaniens nach Rom
verschleppt, wo sich ihre Spur verlor.


04.12. Fuenf Jahre nach Jeanne d'Arcs Tod wurden die Feiern zu ihrem
       Gedenken abgeschafft. Warum?

Die beiden Brueder von *Jeanne d'Arc* (*1412, +1431) kreuzten 1436 mit
einer Frau in praechtiger Ruestung in Orleans auf und behaupteten, Johanna
sei dem Scheiterhaufen entkommen, und eine andere Frau sei an ihrer Stelle
hingerichtet worden. Die Buerger von Orleans waren begeistert und sagten
prompt die gerade anstehenden Gedenkfeiern fuer die Volksheldin ab. Vier
Jahre lang liess es sich das Trio in diversen Staedten wohl ergehen.
Schliesslich gestand die falsche Johanna - ein kriegerisches Weibsbild
namens Claude des Armoises, das schon in der papstlichen Armee gedient
hatte - den Betrug ein. Claude und die Brueder der echten Johanna kamen
ungeschoren davon, und das Geruecht von Jeanne d'Arcs Ueberleben ist bis
heute nicht verstummt.


05.12. Kennen Sie Friedberg? Und wer war sein beruehmtester Besucher?


*Elvis Presley* (*1935, +1977). In dem huebschen oberhessischen Staedtchen
Friedberg, genauer gesagt im amerikanischen Militaerstuetzpunkt Fort Hood,
leistete der Star aller Rock-Stars bei der 3. Panzerdivision (Kompanie D
beim 1. Bataillon) 1958-1960 seinen Wehrdienst ab. Waehrend in dieser Zeit
dem amerikanischen Fiskus wegen des Verdienstausfalls des "King of Rock'n
Roll" mindestens sechsstellige Dollarbetraege durch die Lappen gingen,
bezog Elvis einen Wehrsold von 78 Dollar monatlich. Schuetze Presley wurde
uebrigens waehrend seiner Dienstzeit in seinem alten Beruf eingesetzt: als
Lastwagenfahrer.


06./07.12. Wo lebte der Nikolaus?


08.12. Das Land der unbegrenzten Moeglichkeiten ...
       Wer wurde Kaiser der USA?


09.12. Dufte! Wie fixiert man Parfuemproebchen in Frauenzeitschriften?


10.12. Money, money, money ...
       Wo wurde die erste international Boerse eroeffnet:
       - in Zuerich
       - in Augsburg
       - in Antwerpen?


11.12. Liberalitas Hispaniae: Warum lebten die spanischen Mauren so
       tolerant mit Christen und Juden zusammen?


12.12. Woher stammen die Comics:
       - aus Amerika
       - aus Europa?

-----------------------------------------------------------------------------



Re: Brockhaus 50 (Li, 16. Dez 1997, 12:00:32):
~#! rn=Cauno rt=881933995 rg=puiz
~#! tid=881933995
1.) Der Nikolaus (der hlg.) lebte in Anatolien. Ich glaube er war Bischof von
Smyrna (Bischof war er jedenfalls). Er zeigte bei einer hungersnot
eigeninitative, indem er mehrere Kornschiffe in einen belagerten Hafen fuehrte
(Daher der Brauch sich zum 6.12. was zu schenken).

Kaiser der USA? 
Da gab es mal einen Schauspieler, der Sich Kaiser von USA nannte. Mark Twain
hat ueber ihn berichtet. Silvana, kram mal deine Sandman-Comics aus, da stand
die Geschichte doch drin! :-)
die Comics stammen mit sicherheit aus Europa, zumindestens de Vorlaeufer von
dme, was man heute Comics nennt (war Wilhelm busch auchschon ein
Comiczeichner?)
Li

-----------------------------------------------------------------------------



Re: Re: Brockhaus 50 (Caradhras, 16. Dez 1997, 19:23:07):
~#! rn=Li rt=882270032 rg=puiz
~#! tid=881933995
Kaiser der USA? Irgendwann mal Anfang dieses Jahrhunderts oder so
gab es diesen Schauspieler, wie Li schon schrieb. Er lebte in San
Franzisko und erklaerte sich dort zum Kaiser der USA. Die Leute
ringsherum fanden sein Gebahren so lustig, dass sie alle mitspielten,
er war urspruenglich ein ziemlich armer Schlucker gewesen, so in den
50er oder 60er Jahren des Alters glaube ich. Sein Name faellt mir
grade nicht mehr ein, aber IMHO gibts in Frisco noch irgendwo eine
Tafel, auf der der erste und einzige Koenig der USA verewigt ist.

        *wink*     Bergchen Caradhras
PS: Mal daheim nachwuehlen, da steht mehr ueber ihn

-----------------------------------------------------------------------------



Re^3: Brockhaus 50 (Pra, 16. Dez 1997, 20:22:12):
~#! rn=Caradhras rt=882296587 rg=puiz
~#! tid=881933995
Es gibt einen Lucky Luke Comic mit dem Titel 'Der Kaiser von Amerika'.
Da muesste die Geschichte eigentlich auch drin stehen (vermutlich in zwei 
Versionen - der von Morris und der geschichtsnaeheren im Anhang).

Pra.

-----------------------------------------------------------------------------



Re: Re: Brockhaus 50 (Kobayashi, 17. Dez 1997, 08:28:58):
~#! rn=Li rt=882270032 rg=puiz
~#! tid=881933995
Der Nikolaus lebte tatsaechlich in Kleinasien (heutige Tuerkei) und war
Bischof von Mira (Myra). Der Brauch des Schenkens basiert aber nicht auf der
Sache mit dem Kornschiffen, sondern auf die Legende des Kaufmanns mit den drei
Toechter.
Der Kaufmann wollte, weil er arm war und so keine Mitgift fuer die Toechter
zahlen konnte, diese an ein Freudenhaus verkaufen. Der Bischof hoerte davon,
und warf nachts (evtl. durch den Kamin *na, klingelts* ) fuer jede Tochter ein
Goldstueck ins Haus. So konnten die Toechter doch noch standesgerecht
heiraten.

Kobayashi

-----------------------------------------------------------------------------



Brockhaus 51 (Cauno, 19. Dez 1997, 13:54:06):
06./07.12. Wo lebte der Nikolaus?

Wohl weder im tiefen Tann noch in Lappland. Er scheint im 4. Jahrhundert
als Bischof im *tuerkischen Myra,* dem heutigen Demre, gelebt zu haben.
Allgemein beliebt wurde er ab 1083, als seine Gebeine ins sueditalienische
Bari ueberfuehrt wurden.
Zum Schutzpatron der Kinder wurde er deshalb erkoren, weil er drei
Maedchen mit je einem Beutel Gold beschenkt haben soll, damit sie nicht im
Bordell landeten.
Heute fuellen wir zum Gedenken an Nikolaus unseren Kindern die Stiefel -
vielleicht also auch, um sie symbolisch vor den Gefahren des Lebens zu
schuetzen!


08.12. Das Land der unbegrenzten Moeglichkeiten ...
       Wer wurde Kaiser der USA?

Im September 1859 erschien im "San Francisco Bulletin" auf der Titelseite
eine Proklamation, derzufolge sich *Joshua Norton* (*1819, +1880) als
Norton I. zum Kaiser der Vereinigten Staaten erklaerte. In den folgenden
21 Jahren seiner Regentschaft erklaerte er den Kongress fuer abgeschafft,
wurde "Protektor von Mexiko" und kuemmerte sich in San Francisco um
oeffentliche Belange. Er ass und trank ueberall in der Stadt umsonst,
bekam stets Freikarten fuers Theater und war in seiner praechtigsten
Phantasieuniform die ganze Freude seiner Mitbuerger. In vollem Ornat
pflegte er Ladenbesitzer und reiche Geschaeftsleute zu besuchen und ihnen
"Steuern" abzuknoepfen. einem Sarg folgten 10 000 "Untertanen".


09.12. Dufte! Wie fixiert man Parfuemproebchen in Frauenzeitschriften?

Auf den Werbeseiten der Parfumhersteller werden die *Geruchsproben meist
durch Kratzen oder eine abzuziehende Klebefolie freigesetzt. Damit das so
problemlos geht, werden die Duftoele zunaechst in Wasser zu winzigen
Tropfen verteilt. Dann werden sie auf einer FOlie versprueht und mit einer
Kunstharzschicht ueberzogen. Mit einer zweiten Harzfolie wird dieser Film
dann auf Papier fixiert. Beim Rubbeln oder Abziehen platzt so die Haut der
Mini-Duftkapseln und setzt die Aetherische Oele frei.


10.12. Money, money, money ...
       Wo wurde die erste international Boerse eroeffnet:
       - in Zuerich
       - in Augsburg
       - in Antwerpen?

Die *Antwerpener Buerse* ist die aelteste der Welt. Sie wurde 1531
eroeffnet. Die Augsburger Boerse, sie besteht heute nicht mehr, entstand
neun Jahre spaeter. Zuerich folgte erst ueber 300 Jahre spaeter: 1877.
Entstanden sind die Boersen aus dem Handel mit Rohstoffen und Waren.
Spaeter trat der Handel mit Wechselbriefen, also auf bestimmte Fristen
festgelegten Rueckzahlungszusagen von Darlehensnehmern, hinzu: Sie waren
die ersten Wertpapiere die gehandelt wurden.
Das Wort Boerse leitet sich von der Patrizierfamilie van der Beurse aus
Bruegge her, vor deren Haus sich im 13. Jahrhundert italienische Handler
zu treffen pflegten.


11.12. Liberalitas Hispaniae: Warum lebten die spanischen Mauren so
       tolerant mit Christen und Juden zusammen?

Waehrend ihrer 700jahrigen Herrschaft in Spanien kamen die Mauren sehr gut
mit ihren nichtislamischen Mitbuergern aus. Das lag zum einen daran, dass
Gestalten das Alten Testaments und Jesus selbst im Koran eine gewichtige
Rolle spielen.
Geauso wichtig fuer das harmonische Zusammenleben war das Steuersystem.
CHristen und Juden mussten eine Kopftsteuer bezahlen, die nicht
uebermaessig hart war, aber eine stabile *Einkommensquelle* fuer die
Kalifen und Emire bildete. Deshalb wurden die nichtmaurischen Buerger
geradezu ermuntert, an ihrem Glauben festzuhalten.


12.12. Woher stammen die Comics:
       - aus Amerika
       - aus Europa?

Aus *Europa.* Was immer die Amerikaner auch behaupten moegen: Das erste
Comic-Blatt erschien am 12. Dezember 1874 in London und nannte sich "Funny
Folks". Bereits 1890 waren Comic-Zeitschriften zur Massenware geworden und
das Wort "comic" die uebliche Bezeichnung fuer sie. Aber da Comics in den
USA als nationales Kulturgut betrachtet werden, kam man dort nicht auf die
Idee, einmal in der ALten Welt nachzufragen, und feierte erst 1995 den
100. Comic-Geburtstag.


13./14.12. Eins wie das andere - wie werden die Fischstaebchen uniform?


15.12. 66 1/2 Karat! Wer bekam den "Cartier-Burton"-Diamanten geschenkt?


16.12. Welche Spinne ist die gefaehrlichste:
       - Vogelspinne
       - Schwarze Witwe
       - Tarantel?


17.12. Manche Muskelprotze biegen Eisenstangen. Geht das auch mit Steinen?


18.12. "Sie, das ist Beamtenbeleidigung!"
       Wird dieses Vergehen eigentlich besonders hart bestraft?


19.12. Abendrot, gut' Wetter Bot'. Was sagt die Wissenschaft?

-----------------------------------------------------------------------------



Re: Brockhaus 51 (Anatol, 19. Dez 1997, 15:00:24):
~#! rn=Cauno rt=882536046 rg=puiz
~#! tid=882536046
Die schwarze Witwe ist meines Wissens die einzige der drei aufgefuehrten
Spinnenarten, die bei Biss locker den Exitus eines gesunden Menschen (nicht
durch den Schock) hervorrufen kann.

Anatol - kein Arachnophobe :)


-----------------------------------------------------------------------------



Re: Re: Brockhaus 51 (Caradhras, 29. Dez 1997, 11:51:46):
~#! rn=Anatol rt=882540024 rg=puiz
~#! tid=882536046
Jou, das wuerde ich auch sagen. Wenigstens wenn es stimmt, was im 
James Bond von sich gegeben wird, ist die Schwarze Witwe die toedlichste
davon.

Hm, seltsam, mit Anatol einer Meinung? Es muss Weihnachten sein! :-)

    Guten Rutsch noch!         Carabergfrosch *quak*

-----------------------------------------------------------------------------



Die letzte Brockhaus-Seite (Cauno, 13. Jan 1998, 14:42:50):
22.12. Wo fand der groesste Goldrausch der Geschichte statt?

In *Kanada* am Klondike und am Yukon River. Auf seinem Hoehepunkt kamen
1986 mehr als hunderttausend Goldsucer hierher. Bis 1966 wurde in der
Umgebung von Dawson City Gold im Wert von 300 Millionen kanadischen Dollar
gewonnen.
Vielleicht gehen Sie im naechsten Urlaub mal zum Schuerfen?


23.12. Warum sieht man in einem Femelwald keine Schonung?

Weil ein *Femelwald,* auch Plenterwald genannt, anders bewirtschaftet
wird. Im Femelwald werden keine groesseren Flaechen abgeholzt, sondern nur
Einzelbaeume oder kleine Gruppen. Die nachwachsenden Jungbaeume sind
unterschiedlich alt und dadurch widerstandsfaehiger als gleichzeitig
angenpflanzte.
Diese Art von Forstwirtschaft beschert uns einen gemischten, in seiner
Gesamtheit stets erhalten bleibenden Hochwald. Welch eine Fraude, durch
einen solchen Wald zu gehen ...


24.12. Die groesste Glocke der Welt ist nie gelaeutet worden. Warum nicht?

Als die Glocke mit dem Namen "Zar Kolokol" 1735 auf den Turm des
Iwan-Welikij-Klosters im *Moskauer Kreml* gezogen werden sollte, fiel sie
herab. "Zar Kolokol" ist acht Meter noch, hat an der breitesten STelle
einen Umfang von 20 Metern und wiegt rund 200 000 Kilogramm.
Bei ihrem Sturz sprangen Stuecke mit einem Gesamtgewicht von 11 000
Kilogramm ab, und die Glocke bohrte sich sechs Meter tief in die Erde.


25.12. Sherlock Holmes wurde fuer seine Anhaenger zur realen Person.
       Wer war das reale Vorbild fuer die Romanfigur?

Der Schoepfer von Holmes und Watson, Arthur Conan Doyle (*1839, +1930),
studierte waehrend seiner Ausbildung zum Arzt im schottischen Edinburgh.
Einer seiner Lehrer war *Dr. Joseph Bell* (*1837, +1911), Chirurg und
Medizinischer Rat am dortigen Koeniglichen Militaerhospital.
Bell konnte bei Fremden auf Anhieb durch logische Schlussfolgerungen
wesentliche Aussagen ueber deren Lebensweg und Angewohnheiten treffen.
Doyle selbst gab spaeter zu, dass er Bells Methoden verwertet und
erweitert habe, als er seinen wissenschaftlich arbeitenden Detektiv schuf.
Die Vorbilder fuer Dr. med. John H. Watson duerften nicht ganz so rar
gewesen sein.


26.12. Der Mond ist aufgegangen ... Und wie ist er entstanden?

Tut uns leid: wieder einmal mehrere, genau gesagt drei Theorien.
*Theorie 1:* Der Mond war einmal Teil der Erde. Damals drehte sich die
Erde sehr viel schneller als heute und wurde dabei auseinandergezogen, bis
ein Stueck abriss. Und zwar dort, wo jetzt der Pazifik ist.
*Theorie 2:* Der Mond war ein Asteroid, der von der Schwerkraft der Erde
eingefangen wurde.
*Theorie 3:* Der Mond entstand zugleich mit der Erde und bildete sich wie
sie aus der kosmischen Materie, die zu den Planeten und Satelliten unseres
Sonnensystems kondensierte.


27./29.12. In diesen kalten Tagen ist es an der Zeit, des Erfinders des
           Grogs zu gedenken. Wer war's?

Es war der englische Admiral *Edward Vernon* (*1684, +1757). Von den
Matrosen wurde er nur "Old Grog" genannt, da er bei jedem Wetter in einem
Monstrum von Mantel an Deck erschien, der aus einem groben, "Grogram"
genannten Stoff bestand. 1740 erliess er den Befehl, die Rum rationen der
Mannschaften mit Wasser zu verduennen, um die ueberhand nehmenden
Pruegeleien im Suff einzudaemmen. Brummig und veraechtlich nannten die
alten Seebaeren dieses Getraenk "Grog".


29.12. Wo ruhen die Gebeine des heiligen Thomas Becket?

So selbstverstaendlich die Antwort zu sein scheint: Nein, sie ruhen nicht
in der Kathedrale von Canterbury. *Thomas Becket* (*1118), Kanzler
Heinrichs II., dann Erzbischof von Canterbury, wurde am 29. Dezember 1170
von vier Rittern Heinrichs in der Kathedrale erschlagen. Aber auch ueber
dreihundertfuenfzig Jahre spaeter war der streitbare Bischof noch immer
ein Aergernis: Nachdem sich Heinrich VIII. (*1491, +1547) 1535 zum
Oberhaupt der anglikanischen Staatskirche erklaert hatte, liess er die
Gebeine Beckets verbrennen.


30.12. Er musste erst Millionaer werden, um seiner Leidenschaft froenen zu
       koennen: Wer war als Kaufmann und Altertumsforscher gleichermassen
       erfolgreich?

*Heinrich Schliemann* (*1822, +1890). Mit 25 Jahren gruendete er in St.
Petersburg ein eigenes Handelskontor, das ihm innerhalb von zehn Jahren
ein Vermoegen einbrachte. Statt weiter Geld zu scheffeln, unternahm er ab
1858 ausgedehnte Studienreisen rund um den Erdball, studierte Archaeologie
und promovierte auch. Zwischen 1870 und 1890 machte er, vor allem in Troja
und Mykene, aeusserst erfolgreiche Ausgrabungen, bei denen er
wissenschaftlich wegweisend vorging. Vor Grabungsbeginn wertete er
zunaechst systematisch literarische Quellen, einheimische Berichte und
topgraphische Untersuchungen aus. Der von ihm gehobene "Dchatz des
Priamos" ist im Berliner Museum fuer Vor- und Fruehgeschichte zu
bewundern.


-----------------------------------------------------------------------------



Spaeleologie (Yendi,  5. Mar 1998, 19:45:18):
Kein Preis diesmal, tut mir leid -- aber ich waere dankbar, wenn mir jemand
die Entstehungsgeschichte des Wortes "Spaeleologie", also Hoehlenkunde,
erklaeren koennte: Wie es scheint, ist es ein griechisch/lateinisches
Mischwort, aber was sind die Wurzeln? "Spelos"? Gibt es sowas?

Yendi,
        jeglicher humanistischen Bildung bar


-----------------------------------------------------------------------------



Re: Spaeleologie (Xenu,  6. Mar 1998, 01:14:56):
~#! rn=Yendi rt=889123518 rg=puiz
~#! tid=889123518
hilft dir vielleicht:

lat. spelunca < grch. spelygx Hoehle

Xenu hat auch kein Graecum - aber ein Deutsches Woerterbuch (Siehe Spelunke)

-----------------------------------------------------------------------------



Re: Spaeleologie (Augra,  6. Mar 1998, 12:11:40):
~#! rn=Yendi rt=889123518 rg=puiz
~#! tid=889123518
Alos, soweit ich weis, heisst das nicht Spaeleologie, sondern Speleologie, und
kommt von griech. "Spelaion" -> Hoehle.

A. Weissnix

-----------------------------------------------------------------------------



Re: Re: Spaeleologie (Xenu,  6. Mar 1998, 13:56:50):
~#! rn=Augra rt=889182700 rg=puiz
~#! tid=889123518
Weitere Nachforschungen haben die von Augra angegebene Herkunft bestaetigt.

Also: Spelaeologie < lat. spelaeum < grch. spelaion  "Hoehle, Grotte"

spelygx hat zwar soweit ich das feststellen konnte dieselbe Bedeutung, gehoert
aber etymologisch nicht hierher.

Xenu
haette wohl besser gleich das Lateinlexikon zu Rate gezogen

-----------------------------------------------------------------------------



Re^3: Spaeleologie (Zarniya,  6. Mar 1998, 15:26:20):
~#! rn=Xenu rt=889189010 rg=puiz
~#! tid=889123518
Kommt da dann auch das Wort "Spelunke" her? :)

Zarniya

-----------------------------------------------------------------------------



nen kleines Raetsel... (Sharia, 27. Mar 1998, 13:53:34):

Ich habs ja wirklich nich gefasst ... ich hab hier mal nen im MG so begehrtes
Buchstabenverdrehwort welches ein Schueler aus der 3. Klasse loesen sollte...
ich wuerd gern wissen wie lange ihr braucht um das zu loesen .. also bitte
nicht die Loesung in die Mpa posten sondern die loesungen mit Zeitangabe an
mich mailen... das verdrehte Wort lautete:


        B O M E T O S 


und wie gesagt: 3. Klasse ....

kann also (eigentlich) so schwer sein :-)


Sharia



achja als Belohnung fuer den erstloeser gibts 100.000 Muenzen :-)
Erstloeser=die erste Mail mit der richtigen Loesung die bei mir ankommt
:-)))))

-----------------------------------------------------------------------------



Re: nen kleines Raetsel... (Sharia, 27. Mar 1998, 13:54:48):
~#! rn=Sharia rt=891003214 rg=puiz
~#! tid=891003214
mitteilungen an mich zaehlen nicht als Loesung :-))))
Sharia

-----------------------------------------------------------------------------



Re: nen kleines Raetsel... (Yendi, 30. Mar 1998, 14:42:44):
~#! rn=Sharia rt=891003214 rg=puiz
~#! tid=891003214

Aeh -- ein deutscher Schueler, oder ein puertoricanischer?

YTY



-----------------------------------------------------------------------------



Re: Re: nen kleines Raetsel... (Hobo, 30. Mar 1998, 15:13:01):
~#! rn=Yendi rt=891261764 rg=puiz
~#! tid=891003214
Ein deutscher.. allerdings haben wir uns auf der Fete darauf geeinigt, dass
das Wort, dass dabei rauskommt nicht unbedingt zum Wortschatz eines
Drittklaesslers gehoert.

 Hobo - weiss es

-----------------------------------------------------------------------------



Re^3: nen kleines Raetsel... (Yendi, 30. Mar 1998, 15:17:01):
~#! rn=Hobo rt=891263581 rg=puiz
~#! tid=891003214

Also, wenn da noch ein "R" drinwaere, haette ich ein schoenes...



-----------------------------------------------------------------------------



LOESUNG VON BOMETOS !!! (Nairolf,  4. Apr 1998, 21:44:01):

Soo da Sharia im Maileditor haengt muss ich das machen ... die Loesung des
Buchstabenraetsels von BOMETOS war: bemoost !!!

Gewinner war Freund, der von Sharia allerdings keine 100.000 Muenzen bekam :-)

2. Platz geht an Xenu, der ein 45kB langes file mit allen moeglichen
kombinationen angelegt hat und ne rechtschreibpruefung drueber jagte .. 

Freund sagte mir gerade, dass bei ihm die ganze Firma drangesessen hat und sie
schliesslich auch ein Programm geschrieben haben dafuer .. es waren wohl 12
DIn A4 Seiten mit je 7 Spalten wobei sie wohl glueck hatten dass das wort auf
der ersten seite war :-)))))))


Hobo war wohl erschreckend: Sie hat das Wort auf der Mudfete nach Freunds
Aussage nach 5 Minuten geknackt gehabt und Acrimon war immerhin der einzigste
der zugegeben hat, dass ers nich rausbekommen hat :-) 

Ihr anderen alle habts wohl scheinbar nichtmal versucht :-)))

Soo und jetzt denkt nochmal drueber nach dass das nen Wort war was
Grundschueler herausfinden mussten (IRRE !!) 


im Auftrag von Sharia: Nairolf

-----------------------------------------------------------------------------



Re: LOESUNG VON BOMETOS !!! (Sharia,  4. Apr 1998, 21:44:56):
~#! rn=Nairolf rt=891719041 rg=puiz
~#! tid=891719041
achja:

Xenu und Freund fanden ausserdem noch das Wort: BETMOOS .. kann mir jemand
sagen was DAS heisst ? :-)
Ciao Sharia

-----------------------------------------------------------------------------



Re: LOESUNG VON BOMETOS !!! (Overlord,  4. Apr 1998, 21:57:26):
~#! rn=Nairolf rt=891719041 rg=puiz
~#! tid=891719041


Ich gebe auch zu, dass ichs nicht geschafft habe. Habe tagelang gebruetet und
RL-Bekannte auch. Was heisst hier nicht versucht?

Ovi, das Brett vom Kopf entfernend

-----------------------------------------------------------------------------



Re: LOESUNG VON BOMETOS !!! (Therin,  4. Apr 1998, 22:09:54):
~#! rn=Nairolf rt=891719041 rg=puiz
~#! tid=891719041

Aussage nach 5 Minuten geknackt gehabt und Acrimon war immerhin der einzigste
der zugegeben hat, dass ers nich rausbekommen hat :-) 

Uh oh... irgendwie kann ich das grade von Acrimon nicht glauben.
Wenn, dann waere er der "einzige" und nicht der "einzigste"...
Oder wollen wir darauf warten, dass er das selber korrigiert :-))

-> schmarrn

T.


-----------------------------------------------------------------------------



Re: Re: LOESUNG VON BOMETOS !!! (Gloinson,  5. Apr 1998, 20:25:40):
~#! rn=Therin rt=891720594 rg=puiz
~#! tid=891719041
Ich habs auch nach 10 Minuten gelassen. Aus meinem reichhaltigen Er-
fahrungsschatz mit 'Meine Mutti die Grundschullehrerin' :) wage ich
zu behaupten, das zumindest kein deutsches Kind bis Klasse 6 die Loesung
findet :)

Gloin

-----------------------------------------------------------------------------



Re^3: LOESUNG VON BOMETOS !!! (Sharia,  6. Apr 1998, 00:25:36):
~#! rn=Gloinson rt=891800740 rg=puiz
~#! tid=891719041
Oh doch Gloin :-) Es haben tatsaechlich Kinder geschafft und das ist das
erschreckende.. aber die sassen teilweise auch mehrere Stunden da.

Sharia

-----------------------------------------------------------------------------



Re^4: LOESUNG VON BOMETOS !!! (Embe,  6. Apr 1998, 06:58:03):
~#! rn=Sharia rt=891815136 rg=puiz
~#! tid=891719041
k"onnte das daran liegen, das kinder einen wesentlich kleineren
wortschatz haben, und daher auch nicht so viele m"oglichkeiten
zum probieren?

gruss, eMBee.

-----------------------------------------------------------------------------



Re^5: LOESUNG VON BOMETOS !!! (Bensonmam,  6. Apr 1998, 08:54:14):
~#! rn=Embe rt=891838683 rg=puiz
~#! tid=891719041
Hmm, wenn sich jemand tatsaechlich die Muehe gemacht haben sollte, alle
Moeglichkeiten durchzuprobieren und dabei alfabetisch vorgegangen ist, muss er
ja ziemlich schnell fuendig geworden sein; die Buchstaben im Loesungswort sind
ja in alfabetischer Reihenfolge!
Vielleicht haben besagte Drittklaessler es so versucht...

j. Bensonmam

-----------------------------------------------------------------------------



Re: LOESUNG VON BOMETOS !!! (Yendi,  6. Apr 1998, 12:46:57):
~#! rn=Nairolf rt=891719041 rg=puiz
~#! tid=891719041
Na, ich habe zumindest ueber die Kanaele meiner Frustration Luft gemacht...

Aber was ich sofort gesehen habe: Mit einem "R" drin haette das eine heftige
"TROMBOSE" gegeben. :)

YTY



-----------------------------------------------------------------------------



Re: Re: LOESUNG VON BOMETOS !!! (Torf, 11. Apr 1998, 14:37:27):
~#! rn=Yendi rt=891859617 rg=puiz
~#! tid=891719041
Ich erkenne die Loesung "BEMOOST" nicht an. Einzig wahre Loesung
herausgefunden mit 4-stuendiger Hilfe eines Fremdwoerterlexikons und eines
Anglistikprofessors ist:"TOSEMOB". Trotzig - Torf

-----------------------------------------------------------------------------



Re^3: LOESUNG VON BOMETOS !!! (Sharia, 13. Apr 1998, 18:24:57):
~#! rn=Torf rt=892298247 rg=puiz
~#! tid=891719041
*lach* danke danke ich finde es faszinierend wie lange sich die Leute darueber
Gedanken machen koennen :-) aber die Lehrerin wollte tatsaechlich "BEMOOST"
als Antwort hoeren :-)

-----------------------------------------------------------------------------



Re^4: LOESUNG VON BOMETOS !!! (Zephyr, 13. Apr 1998, 19:41:50):
~#! rn=Sharia rt=892484697 rg=puiz
~#! tid=891719041
Zephyr steckt Sharia in ein Emsboot.

-----------------------------------------------------------------------------



puiz=quiz? (Embe, 13. Apr 1998, 20:35:03):
ganz dumme frage:
wieso heisst diese rubrik eigentlich puiz und nicht quiz?

gruss, eMBee.

-----------------------------------------------------------------------------



Re: puiz=quiz? (Pra, 14. Apr 1998, 12:06:05):
~#! rn=Embe rt=892492503 rg=puiz
~#! tid=892492503
So etwas nennt sich einstufige Rekursion. Der Name dieser Rubrik ist
ein Beispiel fuer den Inhalt dieser Rubrik. 
oder so aehnlich.

btw.: wie heisst Die Frau von Methusalix?

Pra.

-----------------------------------------------------------------------------



Re: Re: puiz=quiz? (Babs, 15. Apr 1998, 01:17:18):
~#! rn=Pra rt=892548365 rg=puiz
~#! tid=892492503
Iljana Rogowa... oder doch Galama?
*gruebel*

-----------------------------------------------------------------------------



Re^3: puiz=quiz? (Pra, 15. Apr 1998, 10:14:33):
~#! rn=Babs rt=892595838 rg=puiz
~#! tid=892492503
das waere mir neu...

also, nur um falschen Vermutungen vorzubeugen:
Gutemine ist die Frau von Majestix; Yellosubmarine ist die Frau von
Verleihnix, und Falbala ist die Verlobte von dem 'Schoenling'.

Aber wie heisst die (affengeile) Frau von Methusalix?

Pra.

-----------------------------------------------------------------------------



Re^4: puiz=quiz? (Nimra, 15. Apr 1998, 12:42:43):
~#! rn=Pra rt=892628073 rg=puiz
~#! tid=892492503

laut der internationalen Asterix-Seite: La Femme d'Agecanonix
oder auf deutsch: Frau Methusalix
siehe: http://www.asterix.tm.fr/france/2dossier/do12_01.asp

Nimra

-----------------------------------------------------------------------------



Re^5: puiz=quiz? (Pra, 15. Apr 1998, 15:21:10):
~#! rn=Nimra rt=892636963 rg=puiz
~#! tid=892492503
O.k. 

Nimra erhaelt 100 Gummipunkte oder wahlweise 100 virtuelle Sesterzen...

Vielen Dank fuer die URL! Sowas habe ich gesucht.

Besteht Interesse an weiteren Fragen ueber z.B. Asterix?

Pra.

-----------------------------------------------------------------------------



Re^6: puiz=quiz? (Embe, 15. Apr 1998, 16:16:15):
~#! rn=Pra rt=892646470 rg=puiz
~#! tid=892492503
ich bin in einer asterix-mailing-liste da werden solche sachen immer wieder
gebracht, wens interressiert....

gruss, eMBee. (dessen homemud ASTERIX heisst :-)

-----------------------------------------------------------------------------



Re^7: puiz=quiz? (Pra, 15. Apr 1998, 16:35:50):
~#! rn=Embe rt=892649775 rg=puiz
~#! tid=892492503
ja, mich interessiert's :-)

Wie ist die Adresse der Mailing-Liste?

Pra.

-----------------------------------------------------------------------------



Re^8: puiz=quiz? (Embe, 15. Apr 1998, 16:46:59):
~#! rn=Pra rt=892650950 rg=puiz
~#! tid=892492503
ok, asterix mailingliste is hier:
asterix@strindberg.ling.uu.se

subscribe mit mail an 
asterix-request@stp.ling.uu.se
im body der text:
subscribe

viel spass :-)

gruss, eMBee.

-----------------------------------------------------------------------------



Nix drin ? (Augra,  1. Jul 1998, 11:10:38):

Was ist hier denn los? Ich hab shon lange zeit eine nettes Puiz vermisst, habt
Ihr ale die Lust verloe[Dren? Das war hier doch mal ne sehr rege Rubrik.

Also, Raetselschreiber vor!

Da man immer mit gutem Beispiel vorangehen sollte, geths hier los:

Eine Frage, zu der ich leider selbe die richtige Antwort nicht weiss:
Letztens erwaehnte ein Freund  ein Filmzitat:

"Wir schuetzen die Demokratie, aber wir praktizieren sie nicht."

Wo gehoerts hin?

A. Weissnix

-----------------------------------------------------------------------------



Re: Nix drin ? (Pra,  1. Jul 1998, 11:33:28):
~#! rn=Augra rt=899284238 rg=puiz
~#! tid=899284238
Da Du die Antworte nicht weisst - ich tippe auf einen Film, den ich nicht
gesehen habe:  :-)

'Wag the Dog'

Pra.

-----------------------------------------------------------------------------



Re: Re: Nix drin ? (Augra,  1. Jul 1998, 12:01:12):
~#! rn=Pra rt=899285608 rg=puiz
~#! tid=899284238
hm. Kann hinkommen. koennte direkt das Motto dieses Films sein. kann mich aber
wirklich nicht erinnern, es gehoert zu hae[Dben. :)

Augra Freifrau von Weissnix auf Alzheimer

-----------------------------------------------------------------------------



Re: Nix drin ? (Catweazle,  1. Jul 1998, 12:05:43):
~#! rn=Augra rt=899284238 rg=puiz
~#! tid=899284238
Crimson Tide, war neulich im Fernsehen...
YTC

-----------------------------------------------------------------------------



Re: Re: Nix drin ? (Augra,  1. Jul 1998, 12:20:20):
~#! rn=Catweazle rt=899287543 rg=puiz
~#! tid=899284238
Hm. Ja...weitere tips?

a.Weissnix

-----------------------------------------------------------------------------



Re: Nix drin ? (Daria,  2. Jul 1998, 15:31:32):
~#! rn=Augra rt=899284238 rg=puiz
~#! tid=899284238
Hi,

Ich weiss zwar die Loesung nicht, aber fuer alle Freunde des
Filmzitatequizes aeh puizes gibts unter
http://www.uni-paderborn.de/paderborn/kino/index.html
unter Kwizz Kinoraetsel.

Viel Spass

Daria

-----------------------------------------------------------------------------



Mathematiker (Morgoth, 10. Jul 1998, 12:03:04):
Treffen sich 2 Mathematiker. M1 fragt M2: Nach, wie gehts Dir. M2: Gut. Und
Dir?
M1: Och, ganz gut. Ich habe drei Toechter. M2: Oh, wie alt sind sie?
M1: Ihr alter addiert gibt 13 und ihr alter multipliziert gibt die Hausnummer
dieses Hauses. M1 deutet auf das Haus auf der gegenueberliegenden
Strassenseite.
M2 gruebelt und sagt: Das reicht nicht.
M1: Ach ja, die aelteste hat einen Hund.

Viel Spass

Morgoth

-----------------------------------------------------------------------------



Re: Mathematiker (Ringor, 10. Jul 1998, 12:51:04):
~#! rn=Morgoth rt=900064984 rg=puiz
~#! tid=900064984
Du hast die Fragestellung vergessen ;-)

Gefragt ist natuerlich das Alter der einzelnen Toechter. Und ja, die Angaben
reichen aus fuer eine *eindeutige* Loesung.

Ringor

-----------------------------------------------------------------------------



Re: Re: Mathematiker (Pra, 10. Jul 1998, 12:52:25):
~#! rn=Ringor rt=900067864 rg=puiz
~#! tid=900064984
naja, reicht aus nur in solchen hypothetischen Fragen. Auch bei
Zwillingen (gleiches Alter in Jahren) ist eine der beiden aelter...

Pra.

-----------------------------------------------------------------------------



Re^3: Mathematiker (Ringor, 10. Jul 1998, 12:57:55):
~#! rn=Pra rt=900067945 rg=puiz
~#! tid=900064984
Und du glaubst ernsthaft, dass ein Mathematiker mit Sicherheit sagen kann,
welche seiner Toechter die um wenige Minuten aeltere ist?

Dass dieser hypothetische Mathematiker ueberhaupt das Alter aller drei
Toechter kennt, wundert mich eigentlich schon ;-)

Ringor

-----------------------------------------------------------------------------



Re^4: Mathematiker (Morgoth, 10. Jul 1998, 12:58:54):
~#! rn=Ringor rt=900068275 rg=puiz
~#! tid=900064984
Nr. 1 : BOING
Nr. 2 : Azrael
Nr. 3 : ???


-----------------------------------------------------------------------------



Re^4: Mathematiker (Pra, 10. Jul 1998, 13:01:40):
~#! rn=Ringor rt=900068275 rg=puiz
~#! tid=900064984
Ein Mathematiker gibt den Toechtern zuallererst einmal Namen. Und vermutlich
heisst die eine dann 'Seniora', die andere 'Mediocra' und die Dritte
'Juniora' oder so. Dann kann er die Reihenfolge an den Namen sehen :-)

Pra.

-----------------------------------------------------------------------------



Re^5: Mathematiker (Ringor, 10. Jul 1998, 13:04:07):
~#! rn=Pra rt=900068500 rg=puiz
~#! tid=900064984
Dann muss er aber gut geplant haben. Oder die Namen erst dann verteilen, wenn
alle Kinder da sind ;^)

Ringor

-----------------------------------------------------------------------------



Re^6: Mathematiker (Pra, 10. Jul 1998, 13:05:07):
~#! rn=Ringor rt=900068647 rg=puiz
~#! tid=900064984
Ein Mathematiker hat wahrscheinlich auch keine Probleme damit, die 
Toechter umzudefinieren, i.e. andere Namen bei Bedarf zu vergeben... ;-)

Pra.

-----------------------------------------------------------------------------



Re^6: Mathematiker (Ark, 10. Jul 1998, 13:05:29):
~#! rn=Ringor rt=900068647 rg=puiz
~#! tid=900064984
Wasn jetzt die Antwort? *neugierig guck*


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Mathematiker (Grimmborn, 10. Jul 1998, 13:05:55):
~#! rn=Ringor rt=900068647 rg=puiz
~#! tid=900064984
Viel interessanter duerfte sein, dass alle drei Toechter am gleichen Tag
Geburtstag haben und das auch noch "heute" ist.
Oder sollten einzelne Tage etwa gerundet werden?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^7: Mathematiker (Pra, 10. Jul 1998, 13:10:03):
~#! rn=Grimmborn rt=900068755 rg=puiz
~#! tid=900064984
das Alter wird auf ganze Jahre abgerundet.

Pra.

-----------------------------------------------------------------------------



Re^8: Mathematiker (Bensonmam, 10. Jul 1998, 13:19:35):
~#! rn=Pra rt=900069003 rg=puiz
~#! tid=900064984
Da gibts doch noch so was aehnliches:

Mathematiker (zu Simon und Paul): Ich hab mir zwei Zahlen (natuerliche Zahlen
und beide groesser gleich 2) ausgedacht.
Ihre Summe betraegt ... (fluestert Simon etwas ins Ohr),
ihr Produkt ist .... (fluestert Paul etwas ins Ohr). Um welche beiden Zahlen
handelt es sich?

Simon: Weiss nicht.
Paul: Weiss auch nicht.
Simon: Jetzt weiss ichs aber.
Paul: Dann weiss ichs auch.


Welche beiden Zahlen sind's?

Viel Spass,
j.Bensonmam

-----------------------------------------------------------------------------



Re^9: Mathematiker (Hobo, 10. Jul 1998, 14:26:16):
~#! rn=Bensonmam rt=900069575 rg=puiz
~#! tid=900064984
3 und 4?
summe: 7 = 2+5 oder 3 + 4
prdukt von 2*5 = 10 eindeutig, aber 3*4 = 12 = 2*6

 Hobo

-----------------------------------------------------------------------------



Re^10: Mathematiker (Nixihou, 11. Jul 1998, 15:30:51):
~#! rn=Hobo rt=900073576 rg=puiz
~#! tid=900064984
hmm, vielleicht versteh ich was falsch... aber:
was ist zB mit 2 und 8 ? auch da ist produkt 16 nicht eindeutig, 
und die summe 10 ist ebensowenig eindeutig....

nixihou, fehlen da ein paar erklaerungen..
 PS: 
 gehen nicht auch 10 + 2 = 12 und 10*2 = 20 (asuch beides uneindeutig)


-----------------------------------------------------------------------------



Re^11: Mathematiker (Ringor, 11. Jul 1998, 20:11:59):
~#! rn=Nixihou rt=900163851 rg=puiz
~#! tid=900064984
Bei 8 und 2 waere es bei den beiden "Weiss ich nicht" geblieben. Der Trick ist
ja, dass die beiden durch die Reaktion des anderen ja jeweils schliessen
koennen, welche Loesung es ist.

Ringor

-----------------------------------------------------------------------------



Re^12: Mathematiker (Embe, 11. Jul 1998, 20:58:36):
~#! rn=Ringor rt=900180719 rg=puiz
~#! tid=900064984
wieso?
wenn in beiden f"allen, beide 'weiss ich nicht' sagen,
wo is dann der unterschied?

gruss, eMBee.

-----------------------------------------------------------------------------



Re^13: Mathematiker (Ringor, 11. Jul 1998, 20:59:43):
~#! rn=Embe rt=900183516 rg=puiz
~#! tid=900064984
Bei der gestellten Aufgabe sagen erst beide "Weiss nicht", und kommen genau
durch diese Antworten auf die richtige Loesung. Lies die Aufgabe nochmal ;-)

Ringor

-----------------------------------------------------------------------------



Re^14: Mathematiker (Embe, 11. Jul 1998, 22:17:25):
~#! rn=Ringor rt=900183583 rg=puiz
~#! tid=900064984
also ich komm hier auf 4 m"ogliche l"osungen:
3,4
3,6
4,9
6,6

rechnet mal nach :-)

gruss, eMBee.

-----------------------------------------------------------------------------



Re^15: Mathematiker (Embe, 12. Jul 1998, 00:58:04):
~#! rn=Embe rt=900188245 rg=puiz
~#! tid=900064984
ok, ich hab gemerkt, das meine annahme,
das es nur um die zahlen 2-9 geht falsch is, 
und das es mit zahlen "uber 9 sogar noch weniger l"osungen gibt,

n"amlich 3,4 und 3,6

gruss, eMBee.

-----------------------------------------------------------------------------



Re^8: Mathematiker (Bensonmam, 13. Jul 1998, 11:41:41):
~#! rn=Pra rt=900069003 rg=puiz
~#! tid=900064984

Also, (3,6) geht nicht: Simon erfaehrt 9 als Summe und hat natuerlich keine
Ahnung, was die Summanden sind. Ebensowenig weiss Paul, welche Faktoren 18
ergeben. So weit, so gut. Aber auch nachdem Paul sagt "weiss nicht", kann
Simon noch nicht wissen, dass es um 3 und 6 geht, denn beispielsweise die
Zahlen 4 und 5 wuerden bis dahin denselben Dialog rechtfertigen.

Also, ich denke mal, dass (3,4) das einzig moegliche Paar ist (hab aber
natuerlich keinen Beweis dafuer. Eine interessante Verallgemeinerung (oder
Verkomplizierung) waere natuerlich ein Dialog wie der folgende:

S: Weiss nicht.
P: Weiss auch nicht.
S: Weiss immer noch nicht.
P: Ich auch nicht.
S: Dann weiss ichs aber jetzt.
P: Dann weiss ichs auch.

usw.; das ganze ist natuerlich beliebig verlaengerbar.

j.Bensonmam

-----------------------------------------------------------------------------



Geometrie (Guildo, 15. Jul 1998, 19:58:13):
Da Bensonmam den Besitzer gewechselt hat, kommt dieses Puiz jetzt von mir:

In ein Quadrat mit Seitenlaenge 1 werden vier Viertelkreisboegen
mit Radius 1 einbeschrieben, wobei die jeweiligen Mittelpunkte auf den Ecken
des Quadrats liegen. Dadurch ergibt sich in der Mitte des Quadrats eine Art
"deformierte Raute". Welchen Flaecheninhalt hat sie?

Viel Spass beim Gruebeln...
Guildo (hat Euch lieb!)

-----------------------------------------------------------------------------



Re^9: Mathematiker (Groo, 15. Jul 1998, 20:43:37):
~#! rn=Bensonmam rt=900322901 rg=puiz
~#! tid=900064984
Wenns um 
Dialog geht: 
S: Schoenes Wetter heute .
P: Find ich auch.
S: Ich habs nicht.
P: Ich hauch nicht.
S: Hat es X ?
P: Wenn X eins hat will ich auch eins..

G

-----------------------------------------------------------------------------



Re^10: Mathematiker (Guildo, 15. Jul 1998, 21:21:42):
~#! rn=Groo rt=900528217 rg=puiz
~#! tid=900064984
Nochn Dialog, diesmal zwischen zwei Sozialpaedagogen.

S: Du, weisst Du, wo hier der Bahnhof ist?
P: Nee, Du, aber ich finds echt ganz wichtig, dass Du das mal ansprichst, Du.

-----------------------------------------------------------------------------



Re^11: Mathematiker (Guildo, 15. Jul 1998, 21:23:17):
~#! rn=Guildo rt=900530502 rg=puiz
~#! tid=900064984
Und ein paar Minuten spaeter:

P: Na, Du, hast Du den Bahnhof gefunden?
S: Nee, Du, aber es geht mir schon viel besser damit!

Gruss,
Guildo.

P.S.: Grimmborn, bitte --> witze!

-----------------------------------------------------------------------------



Re: Geometrie (Rumata, 16. Jul 1998, 10:21:36):
~#! rn=Guildo rt=900525493 rg=puiz
~#! tid=900525493
Pi/3 ?
RUmata

-----------------------------------------------------------------------------



Re: Re: Geometrie (Guildo, 16. Jul 1998, 13:58:26):
~#! rn=Rumata rt=900577296 rg=puiz
~#! tid=900525493
Nein.
Guildo

-----------------------------------------------------------------------------



Re^3: Geometrie (Rumata, 16. Jul 1998, 14:15:09):
~#! rn=Guildo rt=900590306 rg=puiz
~#! tid=900525493
pi/3+1-sqrt(3) ?
Rumata, die sich doch glatt beim binomi verhauen hat :-)

-----------------------------------------------------------------------------



Re: Geometrie (Woody, 20. Jul 1998, 08:58:00):
~#! rn=Guildo rt=900525493 rg=puiz
~#! tid=900525493
Das funktioniert nur, wenn der DURCHMESSER 1 ist, und nicht
der Radius. Die sich ergebende Flaeche ist dabei trivialerweise
1-Pi/4 (die vier Viertelkreise fuegen sich flaechenmaessig zu
einem Kreis mit Flaeche Pi/4 zusammen, was man von der Gesamt-
flaeche des Quadrats abzieht).

-----------------------------------------------------------------------------



Re: Re: Geometrie (Guildo, 21. Jul 1998, 08:25:15):
~#! rn=Woody rt=900917880 rg=puiz
~#! tid=900525493
Nein, ich habe nicht Durchmesser gemeint, sondern RADIUS.

Guildo (ist ja auch nicht doof)

-----------------------------------------------------------------------------



Re^3: Geometrie (Mensana, 21. Jul 1998, 11:36:47):
~#! rn=Guildo rt=901002315 rg=puiz
~#! tid=900525493
Na wenn dem so ist, ist es doch auch ganz einfach. ;)
Die gesuchte Flaeche ist halt abs(1 - pi), was immer das nun sein mag.

Msar

-----------------------------------------------------------------------------



Re^4: Geometrie (Pra, 21. Jul 1998, 11:37:39):
~#! rn=Mensana rt=901013807 rg=puiz
~#! tid=900525493
war das als Witz gemeint oder ernst? 

Das ist jedenfalls ganz sicher falsch.

Pra.

-----------------------------------------------------------------------------



Re^5: Geometrie (Nixihou, 21. Jul 1998, 15:47:08):
~#! rn=Pra rt=901013859 rg=puiz
~#! tid=900525493
flaeche der verzerrten raute : 1/3pi -sqrt(3) +1

wenn ich mich nicht irre

nixihou, rechnend

-----------------------------------------------------------------------------



Re: Mathematiker (Catweazle, 24. Jul 1998, 14:38:33):
~#! rn=Morgoth rt=900064984 rg=puiz
~#! tid=900064984
2,2,9 :)
YTC

-----------------------------------------------------------------------------



Katholikenraetsel (Hardil, 24. Jul 1998, 22:02:56):

Der papst hat 5 Kinder.
Kardinal Ratzinger will wissen, wie alt sie sind.
Sagt Kollege Dyba: Das aelteste ist so alt wie die Summe der anderen vier.
Allerdings ist das aelteste auch so alt wie das Produkt der anderen vier.

Ist einfach, oder?
Aber das waere ja nicht die Rubrik Puiz, wenn es nicht noch schwerer wuerde.
Wenn ihr die Zahlen gescheit permutiert, und die Vorwahl von Singen (07731)
vorwaehlt, koennt ihr mit einem Kuimpel von mir telefonieren, dem am Mittwoch
die Reste seiner Menisken herausgenommen wurden.
Wenn jemand es schafft, ihn telefonisch zu erreichen und mir hier ne Mail mit
seinem Namen schickt, bekommt er auf der Party eine Kiste Bier von mir.

-hardil. Nix ist unmoeglich.

-----------------------------------------------------------------------------



Re: Katholikenraetsel (Grimmborn, 26. Jul 1998, 10:24:03):
~#! rn=Hardil rt=901310576 rg=puiz
~#! tid=901310576
Fuer die Telefonkosten (bis ich den anderen erzaehlt habe, wieso ich anrufe
und so komische Fragen stelle) kann ich mir das Bier auch selber kaufen...

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Katholikenraetsel (Acrimon, 30. Jul 1998, 20:46:57):
~#! rn=Grimmborn rt=901441443 rg=puiz
~#! tid=901310576
Das stimmt, denn pro Minute mit der Telekom nach Singen telefonieren kostet
... ? - naja, viel zu viel jedenfalls.
Es gibt 60 verschiedene Permutationen der Loesung, und selbst wenn ich bei der
dreiszigsten die richtige Nummer erwische, ist ein Kasten Bier billiger.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



runen (Mars, 31. Jul 1998, 17:38:42):
Mal was fuer Geheimschrift-Fans:

Bei den Vorschlaegen fuer das Par-T-Shirt-Motiv ist ein Bild mit
Runen dabei: 

http://mg.uni-muenster.de/Party/Party.10/tshirt/gorog7.jpg

Allerdings passen die Runen ueberhaupt nicht zum Bild. Wie lautet
die Inschrift, woher stammt sie, und wer ist der Verfasser?

  Mars

-----------------------------------------------------------------------------



Re: runen (Morgoth, 31. Jul 1998, 17:41:05):
~#! rn=Mars rt=901899522 rg=puiz
~#! tid=901899522
Das muesste aus der Ultima-Reihe sein. Uebersetzen ausm Kopf kann ich nicht
mehr, kann ich aber nachsehen.
M*

-----------------------------------------------------------------------------



Re: runen (Gorog,  2. Aug 1998, 21:39:14):
~#! rn=Mars rt=901899522 rg=puiz
~#! tid=901899522
Verfasser sollte Tolkin sein.
Es sind die vorderseiten einer Spielkarte.
Das Bild sollte rausgeschnitten werden, also nur das Bil is relevant nicht das
drumherumm.

-----------------------------------------------------------------------------



Re: Re: runen (Mars,  5. Aug 1998, 19:34:51):
~#! rn=Gorog rt=902086754 rg=puiz
~#! tid=901899522

Ok, da keiner drauf kommt, loese ich mal auf:

Bei den Runen handelt es sich um eine von J.R.R. Tolkien
( wer haette das gedacht :) leicht modifizierte Version 
von Elder Futhark, einer schon bei den Germanen oder
Wikingern benutzte Schriftart, die auch das Vorbild fuer
die Britannischen Runen aus Ultima ist.

Die woertliche Uebersetzung (Klammern sind ein Buchstabe)
lautet:

FIVE F(EE)T HIGH (TH)E DOR AND (TH)R(EE) MAY WOLK ABREAST

Die Runen stehen auf der Karte, die Gandalf in "Der kleine
Hobbit" an Thorin Eichenschild, Sohn von Thrain, Sohn von
Thror uebergibt, sie wurde von Thror angefertigt.

Eine schoene Version dieser Karte findet man unter

http://demon.unh.edu/images/tolkien/maps/thorins_map.jpg

aber ich weiss nicht, ob sie von Tolkien selbst stammt.


Mars

-----------------------------------------------------------------------------



Drachentoeter (Urthona,  6. Aug 1998, 17:18:13):

So manche Sch|lerin und so mancher Sch|ler trdumt wdhrend der Mathestunden von
einem Job, in dem sie oder er nie wieder mit Zahlen und Rechenaufgaben
zu tun haben. Burgfrdulein oder Ritter - das wdre etwas Feines, denken sie
sich. Wir wissen ja nicht, wie es mit den Burgfrduleins aussieht. Einen Ritter
kvnnen
mangelnde mathematische Kenntnisse jedenfalls in arge Bedrdngnis bringen. 

Da gibt es ndmlich die gef|rchteten Drachen mit mehreren Kvpfen und Schwdnzen.
Ein erfahrener Ritter vermag mit einem einzigen Schlag ein oder zwei Kvpfe
zugleich vom geschuppten Rumpf zu trennen. Doch was ein rechter Drache ist,
der verf|gt |ber Zauberkrdfte: Wird ihm nur ein Kopf abgehauen, wdchst
stattdessen sogleich ein neuer. Nur wenn mit einem Schlag zwei Hdupter zu
Boden fallen, sprie_t keines nach. Noch komplizierter wird es bei den
Schwdnzen:
F|r einen abgetrennten Schwanz kommen zwei neue nach, werden zwei Schwdnze
zugleich abgeschlagen, wdchst daf|r ein Kopf. Um mehr als zwei Kvpfe oder
Schwdnze zugleich vom Drachen zu lvsen, ermangelt es selbst Spitzenrittern an
Kraft. Als Ausgleich gibt es keine Fehlschldge, jeder Hieb f|hrt
unausweichlich
zur Amputation. Erfahrungsgemd_ dauern Kdmpfe so lange, bis der Ritter dem
Drachen alle Kvpfe und Schwdnze abgeschlagen hat oder selbst erschvpft
verspeist wurde. 

Ein Ritter tut also gut daran, sich eine optimale Strategie zu |berlegen,
bevor er in die Schlacht geht. Vor allem drei Fragen sollte er beantworten
kvnnen: 

    1.Wieviele Hiebe mu_ ein Ritter wenigstens austeilen, um den tyischen
Anfdngerdrachen mit drei Kvpfen und drei Schwdnzen zu besiegen? 
    2.Gibt es unbesiegbare Drachen, von denen ein Ritter lieber die Finger
lassen sollte? Welche? 
    3.Wieviel Schldge sind mindestens vonnvten, um einen Drachen mit n Kvpfen
und m Schwdnzen zu besiegen? 

Sorry wegen des Formates...scheiss Umlaute


-----------------------------------------------------------------------------



Re: Drachentoeter (Boing,  6. Aug 1998, 20:05:25):
~#! rn=Urthona rt=902416693 rg=puiz
~#! tid=902416693
Ich hab noch nie nen Drachen mit Kvpfen und Schwdnzen gesehen, was
ist denn das? :)
  Boing

-----------------------------------------------------------------------------



Re: Re: Drachentoeter (Urthona,  6. Aug 1998, 20:41:30):
~#! rn=Boing rt=902426725 rg=puiz
~#! tid=902416693
koepfe und schwaenze natuerlich. ich habs gepastet.... :(

-----------------------------------------------------------------------------



Re: Re: Drachentoeter (Asmodis,  9. Aug 1998, 18:13:43):
~#! rn=Boing rt=902426725 rg=puiz
~#! tid=902416693
Ich hab noch nie nen Drachen in RL gesehen :-)

-----------------------------------------------------------------------------



Internet und wie alles begann ... (Hate, 13. Okt 1998, 09:05:19):
Wer schrieb am 7. April 1969 das erste "Request for Comments" und praegte
damit diesen pragmatischen und offenen Stil in der Entwicklung von
Netzwerken und Protokollen?

Hate.

-----------------------------------------------------------------------------



Re: Internet und wie alles begann ... (Hood, 13. Okt 1998, 17:00:13):
~#! rn=Hate rt=908262319 rg=puiz
~#! tid=908262319
der titel war 'host software' und kam von steve crocker.
wers mal lesen will: http://andrew2.andrew.cmu.edu/rfc/rfc1.html

...in den zeiten von suchmaschinen viel zu einfach :)

------
patryn

-----------------------------------------------------------------------------



Re: Re: Internet und wie alles begann ... (Hate, 14. Okt 1998, 13:25:48):
~#! rn=Hood rt=908290813 rg=puiz
~#! tid=908262319
Okay, dann machen wir einfach mal weiter. Noch bevor die ganzen
Spezifikationen ausgehandelt wurden um "Host-to-Host"-Kommunikation
zu betreiben wurden schon Rechner zusammengebaut, die das Netz unabhaengig
von den Angeschlossenen "Hosts" funktionstuechtig machten. Sogenannte
"Interface Message Processor"-en (IMPs). 

Frage: Wer wurde von ARPA mit der Konzeption und Produktion dieser IMPs
       beauftragt und welche Basis (welcher Computer und Typ) wurde fuer
       deren Herstellung benutzt?

Hate.

-----------------------------------------------------------------------------



Re^3: Internet und wie alles begann ... (Hood, 14. Okt 1998, 15:35:39):
~#! rn=Hate rt=908364348 rg=puiz
~#! tid=908262319
nun ja...schon schwieriger,
Spezifikationen fuer das geplanze (Forschungs-)Netz wurden Ende Juli 1968 in
einem Request for Quotation (RFQ) oder Request for Proposal (RFP) an 140
Unternehmen versandt, die als Anbieter in Frage kamen.
12 meldeten sich daraufhin, BBN gewann die ausschreibung dank guter
beziehungen :)
verwendet wurde ein sogenannter minicomputer Honeywell 516, da er am
universellsten schien und bereits studien dazu bei BBN existierten.
das war etwa 1969, wer mehr wissen will: dank suchmaschinen
 http://www.histech.rwth-aachen.de/www/Kinkartz/ARPANET.HTM

------
patryn

-----------------------------------------------------------------------------



Re^4: Internet und wie alles begann ... (Hate, 15. Okt 1998, 08:51:07):
~#! rn=Hood rt=908372139 rg=puiz
~#! tid=908262319
Naja, wenigstens jemand, der mit dem Netz umgehen kann.
Ich habe aber noch eine weitere Frage:

  Wer ist dafuer verantwortlich, dass das "@"-Zeichen als Trennung fuer
  Namen und Rechneradresse benutzt wird?

Hate.

-----------------------------------------------------------------------------



Re^5: Internet und wie alles begann ... (Jimdigriz, 16. Okt 1998, 18:56:05):
~#! rn=Hate rt=908434267 rg=puiz
~#! tid=908262319
Hoim,

na ich versuchs mal,
ich geh mal davon aus, dass du hauptsaechlich den 
Kontext der Nachrichtenuebermittlung meinst
(email, news, und vorlaeufer).

Mein guess waere: V. Cerf und Jon Postel, wie auch der Cerf
 mit Vornamen heissen mag.
 Meine Quelle waere RFC771 "Mail Transition Plan",
 @ bzw 'at' wird allerdings schon frueher erwaehnt naemlich schon
 in rfc724 (Ken Pogran, John Vittal, Dave Crocker, Austin Henderson),
 und moeglicherweise in rfc680, nicht aber in rfc561.

Je nachdem ob man nun durch den Syntax-Spezifikationskram
durchsteigt, koennte also durchaus auch schon die
schergen vin rfc724 dafuer verantwortlich sein,
(oder rfc 680).

Whatever...
 JdG

-----------------------------------------------------------------------------



Re^6: Internet und wie alles begann ... (Hate, 20. Okt 1998, 10:12:29):
~#! rn=Jimdigriz rt=908556965 rg=puiz
~#! tid=908262319
Also das ist zwar ne nette Ausfuehrung, aber die Antwort ist diesmal
leider nicht in den RFCs zu finden :-)

Hate.

-----------------------------------------------------------------------------



Re^7: Internet und wie alles begann ... (Hood, 20. Okt 1998, 17:31:46):
~#! rn=Hate rt=908871149 rg=puiz
~#! tid=908262319
also ich bin auch ueberfragt, nach at suchen bringt nich so viel...oder
besser gesagt zu viel, wie soll man sowas eingrenzen :)

------
patryn

-----------------------------------------------------------------------------



Re^8: Internet und wie alles begann ... (Wurzel, 21. Okt 1998, 20:21:23):
~#! rn=Hood rt=908897506 rg=puiz
~#! tid=908262319
hmm...
in den zeiten, bevor sich bei uns internet breitgemacht hat ende der
achtziger jahre gab es das BITNET, das ibm-hobel in aller welt
verbunden hat. dabei wurde der klammeraffe auch schon fuer adressen
verwendet... also ist es wohl keine internetspezifische geschichte.
woher es allerdings kommt, keine ahnung.

wurzel

-----------------------------------------------------------------------------



Re^9: Internet und wie alles begann ... (Grimmborn, 21. Okt 1998, 22:00:15):
~#! rn=Wurzel rt=908994083 rg=puiz
~#! tid=908262319
Das Internet (ok, die Anfaenge) stammt von Ende 1969. Da wurden die ersten
vier Rechner verbunden. TCP/IP kam dann am 1.1.1983 dazu.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^9: Internet und wie alles begann ... (Hate, 22. Okt 1998, 10:45:14):
~#! rn=Wurzel rt=908994083 rg=puiz
~#! tid=908262319
Das BITNET ist technisch erst nach dem ARPANET einzuordnen und wenn wir
ueber die Anfaenge des Internet sprechen, dann reden wir vom ARPANET.
Und dort ist die Antwort auch zu suche. STichwort: "MsgGroup", das waren
die, die sich mit dem Thema Email auseinandergesetzt haben. Anfangs wurde
ja Email noch per zusaetzlicher FTP-Protokoll-Erweiterungen uebertragen
und erst viel Spaeter wieder herausgenommen und als SMTP eingesetzt.

Hate.

-----------------------------------------------------------------------------



Re^10: Internet und wie alles begann ... (Pra, 22. Okt 1998, 15:39:45):
~#! rn=Hate rt=909045914 rg=puiz
~#! tid=908262319
und noch eine Anmerkung zum BITNET:

Das Bitnet hat das @ nur uebernommen, als es Gateways zum Internet gab.
meistens musste man dann im Bitnet auch noch das @ ausschreiben: 
PRA AT DEMUDMG
 - so haette eine mud-Adresse im BITNET ausgesehen :-)

Pra. Sentimental. Aber nicht zu sehr.

-----------------------------------------------------------------------------



Der Jaeger und sein Hund. (Catweazle, 23. Okt 1998, 16:07:44):
Eine uebungsaufgabe vom Physik-Erstsemester-Uebungszettel:
----
Morgens um 6 Uhr bricht der Jaeger zu seiner 10 km entfernten Jagdhuette auf.
Sein Hund laeuft doppelt so schnell, kehrt an der Jagdhuette um, laeuft wieder
bis zu seinem Herrn zurueck und pendelt so staendig zwischen Jaeger und Huette
hin und her. 
Welche Strecke hat der zurueckgelegt, wenn der Jaeger um 8 Uhr an der Huette
angelangt ist?
-----
Gesucht ist die Antwort
a) eines Mathematikers
b) eines Physikers

Have fun,
   YTC

-----------------------------------------------------------------------------



Re: Der Jaeger und sein Hund. (Alpha, 23. Okt 1998, 16:10:07):
~#! rn=Catweazle rt=909151664 rg=puiz
~#! tid=909151664
20km....
Was sollen Physiker da eigentlich antworten?
So doof sind ide doch nicht, als da was anderes rauskommen kann!

-----------------------------------------------------------------------------



Re: Re: Der Jaeger und sein Hund. (Dieder, 23. Okt 1998, 16:10:36):
~#! rn=Alpha rt=909151807 rg=puiz
~#! tid=909151664
Messfehler bei den Physikern einberechnet? :-)

Dieder

-----------------------------------------------------------------------------



Re^3: Der Jaeger und sein Hund. (Alpha, 23. Okt 1998, 16:11:19):
~#! rn=Dieder rt=909151836 rg=puiz
~#! tid=909151664
Machen Physiker sich da ne Skizze (Massstabgetreu) und messen es dann ab?
Alpha.

-----------------------------------------------------------------------------



Re^4: Der Jaeger und sein Hund. (Dieder, 23. Okt 1998, 16:12:02):
~#! rn=Alpha rt=909151879 rg=puiz
~#! tid=909151664
so aehnlich, wie sollen sie es auch sonst machen? :-)

Dieder

-----------------------------------------------------------------------------



Re^5: Der Jaeger und sein Hund. (Alpha, 23. Okt 1998, 16:13:13):
~#! rn=Dieder rt=909151922 rg=puiz
~#! tid=909151664
Rausgehen auf die Strasse, 10km abstecken, und nen Experiment - aber das gaebe
dann wohl erst recht Messfehler....
Alpha denkt da an gleichfoermige Bewegungen und so...

-----------------------------------------------------------------------------



Re^6: Der Jaeger und sein Hund. (Mahatmu, 23. Okt 1998, 16:17:02):
~#! rn=Alpha rt=909151993 rg=puiz
~#! tid=909151664
Ach, engstirniges Mathematikervoelkchen. Des Physikers liebstes Spielzeug ist
natuerlich die Fehlerberechnung, also wuerde er zumindest die Ausdehnung des
Jaegers als Fehlerfaktor (und des Hundes) in Betracht ziehen.

Gloin

-----------------------------------------------------------------------------



Re^7: Der Jaeger und sein Hund. (Grimmborn, 23. Okt 1998, 16:19:14):
~#! rn=Mahatmu rt=909152222 rg=puiz
~#! tid=909151664
Alles falsch.
Loesung des Physikers: 20 km, was sonst?
Loesung des Mathematikers: Das sind ja 5kmh, welcher Jaeger rennt denn so
schnell?

GdA

-----------------------------------------------------------------------------



Re^8: Der Jaeger und sein Hund. (Catweazle, 23. Okt 1998, 18:17:07):
~#! rn=Grimmborn rt=909152354 rg=puiz
~#! tid=909151664
Okok, die Frage war etwas dumm gestellt.
Der Physiker macht natuerlichen stumpfen Dreisatz, waehrend der Mathematik 
erst einmal eine Reihe ausrechnet.
Eine kleine Anekdote aus der Geruechtekueche dazu:
Es gab tatsaechlich mal einen Psychologen, der alle moeglichen Mathematiker
und Physiker genau diese Aufgabe gestellt hat. Dabei kam heraus, das die
Mathematiker im Schnitt 34, die Physiker jedoch nur 14 Sekunden gebraucht
haben. 
Als J.v.Neumann die Aufgabe gestellt wurde soll er nur 8 Sekunden gebracht
haben, woraufhin ihn der Psychologe verdutzt gefragt habe, wie er das so
schnell rausbekommen haette, wo er doch erstmal eine Reihe ausrechnen 
muesse. Darauf sagte v.Neumann:'Hab ich doch!'.

YTC

-----------------------------------------------------------------------------



Re^9: Der Jaeger und sein Hund. (Householder, 23. Okt 1998, 18:47:10):
~#! rn=Catweazle rt=909159427 rg=puiz
~#! tid=909151664
nene man hat zu neumann gesagt: komisch das ging aber schnell die meisten
mathematiker brauchten laenger weil sie es ueber eine geometrische reihe
ausrechenen ... neumann darauf: hab ich doch .... 

-----------------------------------------------------------------------------



Re: Re: Der Jaeger und sein Hund. (Jiddu, 23. Okt 1998, 19:08:44):
~#! rn=Alpha rt=909151807 rg=puiz
~#! tid=909151664
20 wuerd ich nich sagen - aber ich bin zu faul zu kontern ;)

-----------------------------------------------------------------------------



Re^9: Der Jaeger und sein Hund. (Alpha, 23. Okt 1998, 21:51:20):
~#! rn=Catweazle rt=909159427 rg=puiz
~#! tid=909151664
Dreisatz? Nennt man 2*10 Dreisatz?
Oje...Alphas Abi ist wohl zu alt. Oder zu neu?

-----------------------------------------------------------------------------



Re^10: Der Jaeger und sein Hund. (Guildo, 30. Okt 1998, 16:18:20):
~#! rn=Alpha rt=909172280 rg=puiz
~#! tid=909151664
Also, was das ganze mit Reihen oder so zu tun hat, versteh ich nicht. Der Hund
hat doch doppelt so viele Beine wie der Mensch und laeuft folglich doppelt so
weit, als 20 km. Nix mit Reihen.

Guildo

-----------------------------------------------------------------------------



Re^11: Der Jaeger und sein Hund. (Guildo, 30. Okt 1998, 16:19:02):
~#! rn=Guildo rt=909764300 rg=puiz
~#! tid=909151664
nachtrag: als = also

-----------------------------------------------------------------------------



Re^12: Der Jaeger und sein Hund. (Rantanplan,  3. Nov 1998, 10:27:18):
~#! rn=Guildo rt=909764342 rg=puiz
~#! tid=909151664
Ahaalso nur fuer Guildo...

Wir normieren erstmal die Strecke auf 1.

Dann laeufen wir los, wenn der Hund einmal gelaufen ist, hat der Jaeger
die halbe Strecke hinter sich, dann dreht der Hund um.
Da er doppelt so schnell laueft, treffen sich die beiden, wenn der Jaeger 1/3
der Reststrecke zurueckgelegt hat, also ist der Hund 2/3*1/2=1/3 der
Gesamtstrecke gelaufen, die lauft er auch wieder zurueck, also
1/3+1/3, mit dem selben Gedankengang kommt man dann im naechsten
Schritt auf 1/9+1/9 usw....

Also (da der Mathematiker annimmt der Hund laeuft unendlich oft zur
Huette und zurueck...

1+1/3+1/3+1/9+1/9+1/27+1/27+...

Ich hab es schon so geschrieben, dass man sieht...Aha zwei
Geometrische Reihen...

Also Sum_(n=0 to infinity)((1/q)**n)=1/(1-q)
und das mal zwei, und dann beachten, dass die 1 in der Summation nur einmal
vorkommt, also am Ende noch ne 1 abziehen...

Das macht 1/(1-1/3)=1.5
1.5*2-1=2

d.h. der Hund ist die doppelte Strecke gelaufen, q.e.d


-----------------------------------------------------------------------------



Re^13: Der Jaeger und sein Hund. (Ringor,  3. Nov 1998, 10:31:10):
~#! rn=Rantanplan rt=910088838 rg=puiz
~#! tid=909151664
Aber nur rein theoretisch.

Praktisch gesehen braucht der Hund Zeit zum Abbremsen, Wenden und wieder
Beschleunigen. Deshalb laeuft er nur etwas weniger als die doppelte Strecke in
der Zeit. ;-)

Ringor denkt . o O(Physiker)

-----------------------------------------------------------------------------



Re^14: Der Jaeger und sein Hund. (Rantanplan,  3. Nov 1998, 10:32:06):
~#! rn=Ringor rt=910089070 rg=puiz
~#! tid=909151664
Ausserdem muss noch bewiesen werden, dass die Umordnung, der Summation
bedenkenlos ist...
Oe*

-----------------------------------------------------------------------------



Re^15: Der Jaeger und sein Hund. (Paracelsus,  3. Nov 1998, 10:33:08):
~#! rn=Rantanplan rt=910089126 rg=puiz
~#! tid=909151664
Und was ist, wenn dem Hund unterwegs ein Kaninchen ueber den Weg laeuft?
Oder er die Faehrte einer laeufugen Huendin in die Nase bekommt?

Fragen ueber Fragen...

Para*

-----------------------------------------------------------------------------



Re^16: Der Jaeger und sein Hund. (Rantanplan,  3. Nov 1998, 10:33:48):
~#! rn=Paracelsus rt=910089188 rg=puiz
~#! tid=909151664
Also ICH als Hund weiss genau was dann passiert ;-))))
Ran*

-----------------------------------------------------------------------------



Re^17: Der Jaeger und sein Hund. (Morgoth,  3. Nov 1998, 10:34:53):
~#! rn=Rantanplan rt=910089228 rg=puiz
~#! tid=909151664
Hm, der Jaeger knallt den Hund ab, weil er denkt es waere ein Hase und gut is.
M*

-----------------------------------------------------------------------------



Re^15: Der Jaeger und sein Hund. (Rochus,  3. Nov 1998, 15:21:43):
~#! rn=Rantanplan rt=910089126 rg=puiz
~#! tid=909151664
Die Reihe konvergiert absolut, also musst Du Dir keine Gedanken um Umordnung
machen.

-----------------------------------------------------------------------------



Re^16: Der Jaeger und sein Hund. (Anatol,  3. Nov 1998, 15:26:35):
~#! rn=Rochus rt=910106503 rg=puiz
~#! tid=909151664
Angenommen, der Hund ist ein Bernhardiner, wirkt sich da die Traegheit
nicht massivst auf das Verhalten des Hundes aus? Was ist, wenn es sich
um einen Muensterlaenger handelt, fliesst da dessen Temperamentsfaktor 
in den "Wo ist der bloede Koeter jetzt schon wieder hin?"-Umweg des
Jaegers mit ein?

Anatol, wills eigentlich nicht wissen ;o)


-----------------------------------------------------------------------------



Re^17: Der Jaeger und sein Hund. (Jiddu,  3. Nov 1998, 15:44:16):
~#! rn=Anatol rt=910106795 rg=puiz
~#! tid=909151664
also ich hab das mit der traegheit und dem umkhren vorhin am bernhardiner an
der HE probiert. das einzige was bremst is das lag -- das is leider variabel.

-----------------------------------------------------------------------------



Re^11: Der Jaeger und sein Hund. (Tmm,  4. Nov 1998, 17:55:58):
~#! rn=Guildo rt=909764300 rg=puiz
~#! tid=909151664
Ich schreibe jetzt testhalber auch mal was in der MPA... Also in der Aufgabe
hiess es, der Weg betraegt 10 km, der Hund laeuft doppelt so schnell und beide
laufen die gleiche Zeit, wieso muss man da gross rechnen, dass der Weg des
Hundes 20km betraegt?

Gruss,
         Tmm

-----------------------------------------------------------------------------



Re^12: Der Jaeger und sein Hund. (Householder,  4. Nov 1998, 19:31:11):
~#! rn=Tmm rt=910202158 rg=puiz
~#! tid=909151664
hund
reply naja das prob ist wohl, dass der hund unendlich oft abremsen und wieder
beschleunigen muss deshalb ist die aufgabe schwachsinn :-)

-----------------------------------------------------------------------------



Re^13: Der Jaeger und sein Hund. (Rantanplan,  5. Nov 1998, 09:58:22):
~#! rn=Householder rt=910207871 rg=puiz
~#! tid=909151664
Zu Tmm: Es geht ja auch darum mit der Aufgabe zu zeigen, wie seltsam
so ein Mathematiker i.A. denkt, und man kann sie halt auch so loesen.

Zu Householder: Siehe oben, und wen interessiert bei einer Aufgabe die 
Realitaetsnaehe ????

Oe*

-----------------------------------------------------------------------------



Re^14: Der Jaeger und sein Hund. (Rumata,  5. Nov 1998, 10:00:37):
~#! rn=Rantanplan rt=910259902 rg=puiz
~#! tid=909151664
Wie waere es eigentlich, wenn wir das im MG mal nachspielen? Ich schlage
Rant* als Hund vor. Wer mach den Jaeger?

Rum*

-----------------------------------------------------------------------------



Re^14: Der Jaeger und sein Hund. (Grimmborn,  6. Nov 1998, 09:38:20):
~#! rn=Rantanplan rt=910259902 rg=puiz
~#! tid=909151664
Klar, als Astrophysiker, dessen Realitaeten mehrere Lichtjahre entfernt sind, 
wuerde mich die Realitaetsnaehe einer Aufgabe auch nicht interessieren...

GdA

-----------------------------------------------------------------------------



Re^13: Der Jaeger und sein Hund. (Mensana, 10. Nov 1998, 14:26:39):
~#! rn=Householder rt=910207871 rg=puiz
~#! tid=909151664
auf so was kann nur ein mathematiker kommen. der hund muss unendlich oft
abbremsen und beschleunigen. dann kommt der doch nie an.
ich denke seit archimedes kennen wir infinitissimal.

Msar (nen bloeder Experimentalphysiker)

-----------------------------------------------------------------------------



Re: waaaaah (Householder, 10. Nov 1998, 15:51:17):
~#! rn=Darkwing rt=910710219 rg=schmarrn
~#! tid=910710219
he !!! den mist hab ich doch schon geschrieben !!!
HH ein dummer theoretischer Physiker (aeh theoretisch ein Physiker ? keine
ahnung was ich meine :-) )

-----------------------------------------------------------------------------



Re: Re: waaaaah (Zillus, 10. Nov 1998, 15:53:34):
~#! rn=Householder rt=910713077 rg=puiz
~#! tid=910710219
Da ihr ja lauter Physiker seid :)
das ganze ist eh eine Frage des bezugssystems. Wenn man alles relativ zum Hund
betrachtet, muss immer der jaeger beschleunigen und abbremsen. Wie sieht die
Sache dann aus ;-) ?

zillus.

-----------------------------------------------------------------------------



Re^3: waaaaah (Key, 10. Nov 1998, 17:14:29):
~#! rn=Zillus rt=910713214 rg=puiz
~#! tid=910710219
Ich weiss zwar nimmer genau die Fragestellung aber fuer mich ist alles klar
...
Der Jaeger ist ein Kleriker, stellt sich vor der Hund sei ein Messdiener und
rennt hinter dem Hund her weil er ihn von hinten nehmen will :)

Key

-----------------------------------------------------------------------------



Re^3: waaaaah (Rumata, 11. Nov 1998, 09:29:40):
~#! rn=Zillus rt=910713214 rg=puiz
~#! tid=910710219
Releativitaet gilt nur fuer gleichmaeszige bewegte Objekte, nicht fuer
beschleunigte. Oder was meinst wieso nicht der Baum umfaellt, wenn jemand
dagegenfaehrt?

Rumata
:)

-----------------------------------------------------------------------------



Re^4: waaaaah (Jimdigriz, 13. Nov 1998, 17:59:18):
~#! rn=Rumata rt=910776580 rg=puiz
~#! tid=910710219

Moment,
sicher gilt Relativitaet auch bei beschleunigten
Objekte/Inertialsystemen, nur gilt dann nicht
die "Spezielle Relativitaetstheorie", die man noch halbwegs
verstehen kann, sondern die Allgemeine RT, worueber
man sich schon ziemlich den Kopf zerbrechen kann,
wenn man sich fuer sowas interessiert...

JdG

-----------------------------------------------------------------------------



Re^5: waaaaah (Rumata, 16. Nov 1998, 10:06:10):
~#! rn=Jimdigriz rt=910979958 rg=puiz
~#! tid=910710219
Ja, dann wuerde die Beschleunigung durch Gravitationsquellen erklaert
werden, die abwechselnd am Haus und beim Jaeger entstehen.
Rumata

-----------------------------------------------------------------------------



Kraftwerke (Catweazle,  2. Dez 1998, 14:58:19):
Ein altes Raetsel, trotzdem gut.

Male auf ein Blatt Papier 3 Kaestchen. In das erste schreibst Du Wasserwerk,
ins zweite E-Werk und ins dritte Heizwerk.
Dadrunter malst Du nochmal drei kaestchen, besser Hauesschen mit den Nummern
1-3.
Aufgabe:
Verbinde alle drei Haueser mit je einer Linie mit jedem der Kraftwerke. Es
duerfen sich dabei allerdings keine der Verbindungslinien ueberschneiden,
ueberkreuzen oder durch eines der Kaestchen/Haeusschen gezeichnet werden.

Aufgabe klar? Viel Erfolg.

YTC

-----------------------------------------------------------------------------



Re: Kraftwerke (Alpha,  2. Dez 1998, 15:07:09):
~#! rn=Catweazle rt=912610699 rg=puiz
~#! tid=912610699
Ts...
Der K3,3 ist nicht plaettbar.
Kuratowski.

-----------------------------------------------------------------------------



Verbinden (Acrimon,  3. Dez 1998, 15:10:44):
Ebenso alt wie die letzte Aufgabe und genauso gut:

Gegeben sind neun Punkte.


o     o     o

o     o     o

o     o     o


Verbinde sie mit mit vier geraden Strichen, ohne den Stift abzusetzen!


Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re: Verbinden (Anacrion,  3. Dez 1998, 16:03:45):
~#! rn=Acrimon rt=912697844 rg=puiz
~#! tid=912697844
Geht auch mit 3.
Anac*
nn
ups

-----------------------------------------------------------------------------



Re: Re: Verbinden (Rumata,  3. Dez 1998, 16:44:45):
~#! rn=Anacrion rt=912701025 rg=puiz
~#! tid=912697844
es geht sogar mit einem
ja auch wenn der stift duenn ist
rumata

-----------------------------------------------------------------------------



Re^3: Verbinden (Yendi,  3. Dez 1998, 17:07:29):
~#! rn=Rumata rt=912703485 rg=puiz
~#! tid=912697844
OK, das mach mal vor. Ich komme in den 6. Stock und druecke Dir einen Edding
in die Hand, mit dem Du dann auf dem Bildschirm rummalen kannst. Ich putz Dir
auch hinterher den Monitor. Na?

Yendi, zueckt schonmal das Alkohol-Laeppchen


-----------------------------------------------------------------------------



Re: Verbinden (Ceilo,  3. Dez 1998, 22:06:23):
~#! rn=Acrimon rt=912697844 rg=puiz
~#! tid=912697844
Ja, ja, kenn ich... aber bei diesen Punkten geht's auch mit drei Strichen!

Ceilo, der Wankende

-----------------------------------------------------------------------------



Re^3: Verbinden (Ceilo,  3. Dez 1998, 22:07:25):
~#! rn=Rumata rt=912703485 rg=puiz
~#! tid=912697844
Ganz leicht schrg immer wieder um die Erde ziehen?

Ceilo, der Wankende

-----------------------------------------------------------------------------



english (Phobos,  4. Dez 1998, 09:13:06):

Das sind doch alles uralte Raetsel hier in der Rubrik. Mal was ganz anderes.
Minderjaehrige bitte nur mit Genehmigung der Eltern weiterlesen :)



And now for something completely different:


   What is a four-letter word that ends in k and means the same as
   intercourse?

   What word starts with f and ends with u-c-k?

   What four letter word begins with f and ends with k, and if you can't get
   one you can use your hands?


  Viel Spass beim Raten
      Phobos

-----------------------------------------------------------------------------



Re: english (Morgoth,  4. Dez 1998, 09:14:44):
~#! rn=Phobos rt=912762786 rg=puiz
~#! tid=912762786
Hey, den haettest Du in 'witze' posten sollen. Ich bruell mich weg vor Lachen.
Ha ha ha.
Kannst Du den mal erklaeren??

M* denkt (argl, sowas flaches wuerd ja nichtmal ich bringen)

-----------------------------------------------------------------------------



Re: Re: english (Phobos,  4. Dez 1998, 09:23:15):
~#! rn=Morgoth rt=912762884 rg=puiz
~#! tid=912762786

Bevor weitere Anfragen kommen: Diese Loesung ist falsch :)

  Phobos

-----------------------------------------------------------------------------



Re^7: primzahlen (Grimmborn,  8. Dez 1998, 00:27:02):
~#! on=Azzuro ot=912610012 og=witze
~#! rn=Muadib rt=912606937 rg=witze
~#! tid=912377193
Wenn ihr schon alle so schlau seid habe ich zwei Aufgaben.
Fuer die erste habe ich die Loesung. Fuer die zweite noch nicht:

1.) Auf dem Dachboden haengen 3 Gluehbirnen, die mit drei Schaltern in einer
1:1-Beziehung verbunden sind. Der Anfangszustand der Lampen ist aus.
Ihr steht im Keller und sollt herausbekommen welche Lampe mit welchem Schalter
verbunden ist.
Ihr duerft beliebig oft schalten....jedoch nur einmal auf den Dachboden gehen
um nachzusehen. Phaenomene wie "durch Mauern sehen", "Partner die helfen"...
sind auszuschliessen.

2.) Hierfuer benoetige ih die loesung:
Es ist nacht. Vier Personen wollen ueber eine Bruecke gehen. Person 1 braucht
dafuer 1 min, Person 2 braucht 2 min, Person 3 braucht 5 min. und Person 4
braucht 10 min um die Bruecke zu ueberqueren.
Die Bruecke ist so schmal, dass immer nur 2 Personen gleichzeitig hinueber
gehen koennen.
Aus Sicherheitsgruenden muessen sie eine Taschenlampe mit sich fuehren, wobei
die Gruppe nur ueber eine Lampe verfuegt.
Bsp.: Person 4 geht mit Person 2 ueber die Bruecke; Person 2 geht mit
Taschenlampe wieder zurueck, holt Person 3 ab usw.
Allerdings stehen zur ueberquerung nur 17 min zur Verfgung.

Antworten zur 2. Aufgabe bitte per mail an mich. :-)

gruss
Azzuro, immer noch der Meinung es geht nicht.

-----------------------------------------------------------------------------



Re^8: primzahlen (Grimmborn,  8. Dez 1998, 00:27:08):
~#! on=Azzuro ot=912610833 og=witze
~#! rn=Azzuro rt=912610012 rg=witze
~#! tid=912377193
Ok. ich habe die Loesung von der 2. Aufgabe.
Dank an Matis, Hobo, Magicolli.
Weitere Mails nicht mehr noetig. :-)

Azzuro, jetzt schlauer

-----------------------------------------------------------------------------



Re^10: primzahlen (Grimmborn,  8. Dez 1998, 00:27:22):
~#! on=Azzuro ot=912611558 og=witze
~#! rn=Catweazle rt=912610883 rg=witze
~#! tid=912377193
Wegen der grossen Resonanz:

http://www.oose.de/boe/feuil/dsa/dsa.htm

Noch mehr Denksportaufgaben. Auch wenn ich die meissten schon kannte.

-----------------------------------------------------------------------------



Re^5: primzahlen (Grimmborn,  8. Dez 1998, 00:27:34):
~#! on=Rochus ot=912622148 og=witze
~#! rn=Sirona rt=912551914 rg=witze
~#! tid=912377193
Ein Element p eines Ringes R, p!=0 und nicht aus R*, heisst prim,
wenn es keine Zerlegung p=ab mit a,b aus R aber nicht aus R* gibt.
R* ist die Menge der Einheiten u von R. Ein Element u heisst Einheit,
wenn es zu jedem r aus R ein r' aus R gibt mit r=ur'.

Beispielsweise ist N*={1} und Z*={1,-1}.
Also kurz: Einheiten sind keine Primzahlen.
(Da sich jede Zahl in Faktoren zerlegen laesst, von denen beliebig
viele Einheiten sind, waere die Primfaktorzerlegung sonst nicht eindeutig).

  Rochus

-----------------------------------------------------------------------------



Re^9: primzahlen (Grimmborn,  8. Dez 1998, 00:27:52):
~#! on=Teddy ot=912635988 og=witze
~#! rn=Azzuro rt=912610833 rg=witze
~#! tid=912377193
Koenntest du dann auch noch die Loesungen fuer die Dinger praesentieren?

Teddy, will nicht ewig dumm bleiben

-----------------------------------------------------------------------------



Re^10: primzahlen (Grimmborn,  8. Dez 1998, 00:28:04):
~#! on=Highlander ot=912679595 og=witze
~#! rn=Teddy rt=912635988 rg=witze
~#! tid=912377193
Ich nehme mal an, Du moechtest Die Loesung fuer das Brueckenraetsel. Nachdem
ich Azzuro grade schon eine mail geschickt habe, die er gar nicht mehr
haben wollte ;> moechte ich wenigstens die erleuchten, die die Loesung
verzweifelt suchen.
Wie schon erwaehnt, 4 Personen, die ich mal mit A bis D bezeichne.
Dazu verschiedene Laufzeiten. Paare Person/Laufzeit in Minuten:
A - 1, B - 2, C - 5, D - 10. Erlaubte Gesamtzeit: 17 min.
Loesung: Wer die beiden langsamen Leute einzeln laufen laesst, hat
verloren. Wenn einer davon mehrmals laeuft, ist auch Sense. Dann muessen
die beiden schnellen sich gegenseitig versorgen und die Loesung sieht so
aus (Person 1 - evtl. Person 2 - Laufzeit - Gesamtlaufzeit):
A - B - 2 - 2
A - x - 1 - 3
C - D - 10 - 13
2 - x - 2 - 15
1 - 2 - 2 - 17
Und schon sind alle ueber die Bruecke.

   HrT

-----------------------------------------------------------------------------



Re^11: primzahlen (Grimmborn,  8. Dez 1998, 00:28:14):
~#! on=Azzuro ot=912680960 og=witze
~#! rn=Highlander rt=912679595 rg=witze
~#! tid=912377193
hey hey...Ich wollte Dir nur die Muehe sparen zu schreiben, da ich die Loesung
schon von netten Menschen zumailt bekommen habe.
Trotz allem freue ich mich ueber jede Mail :-)
Die Raetselloesungen verschicke ich gerne per mail an interessierte, da ich
den Leuten, die noch ein wenig gruebeln wollen nicht den Spass verderben will.
Also einfach Mail an mich und die Loesung kommt.

Azzuro, ist doch kein Spielverderber

-----------------------------------------------------------------------------



Re^11: primzahlen (Grimmborn,  8. Dez 1998, 00:28:16):
~#! on=Pra ot=912693913 og=witze
~#! rn=Highlander rt=912679595 rg=witze
~#! tid=912377193
Es geht auch in 12 Minuten:

C - D - 10 - 10

C wirft die Taschenlampe ueber den Fluss, A oder B faengt sie auf.

A - B - 2 - 12

Pra. 

-----------------------------------------------------------------------------



Re^12: primzahlen (Grimmborn,  8. Dez 1998, 00:28:22):
~#! on=Acrimon ot=912700024 og=witze
~#! rn=Pra rt=912693913 rg=witze
~#! tid=912377193
Es geht auch in zehn Minuten:
Alle vier gehen gemeinsam hinueber.
Natuerlich nicht nebeneinander (das geht nicht), sondern hintereinander.

So einfach kann die Loesung sein!

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Re^13: primzahlen (Grimmborn,  8. Dez 1998, 00:30:40):
~#! on=Azzuro ot=912710253 og=witze
~#! rn=Acrimon rt=912700024 rg=witze
~#! tid=912377193
Das naechste Mal werde ich anscheinend die Aufgaben doch hieb und stichfest
definieren muessen.
Mir reicht es mit Loesungsvorschlaegen wie:
A ruft per Handy einen Helicopter und alle fliegen in 16 min rueber.
Alle halten sich an der Bruecke fest und kappen dann die Seile, Dann klettern
sie alle zusammen nach oben.
Desweiteren sind Schaltplaene und Konstruktionen unerwuenscht, wie ich durch
eingebaute Widerstaende die Leitungen, manipuliere und somit nachmessbar
mache....

Aber die Kreativitaet kann man Euch nicht absprechen. 

Azzuro, wird zum Defintionator

-----------------------------------------------------------------------------



Re^6: primzahlen (Grimmborn,  8. Dez 1998, 00:31:09):
~#! on=Rantanplan ot=912717962 og=witze
~#! rn=Rochus rt=912622148 rg=witze
~#! tid=912377193
Danke Rochus Du sparst mir wieder ne Menge tipparbeite, lest das gut durch, SO
wird ne Primzahl definiert und nicht mit dem durch eins gesuelze ;-))

Oe*

-----------------------------------------------------------------------------



Re^11: primzahlen (Grimmborn,  8. Dez 1998, 00:31:19):
~#! on=Jiddu ot=912722438 og=witze
~#! rn=Highlander rt=912679595 rg=witze
~#! tid=912377193
Da sind ja wirklich Primzahlen dabei aber irgendwie passt der rest nich zum
subject ;)
Jiddu->SchonInSchmarrn()

-----------------------------------------------------------------------------



Re: english (Phobos,  8. Dez 1998, 08:40:07):
~#! rn=Phobos rt=912762786 rg=puiz
~#! tid=912762786
OK, ich loes mal auf:


   What is a four-letter word that ends in k and means the same as
   intercourse?

   TALK

   What word starts with f and ends with u-c-k?

   FIRETRUCK

   What four letter word begins with f and ends with k, and if you can't get
   one you can use your hands?

   FORK


Angeblich soll es noch eine alternative Loesung geben, aber statt sie mir
zu verraten, haben mir die Leute entweder geschwiegen oder mir nur ein 
Schimpfwort an den Kopf geschmissen. :)

      Phobos

-----------------------------------------------------------------------------



noch ein raetsel (Paladin, 15. Dez 1998, 13:33:31):
ein elf, ein mensch und ein zwerg sind zum tode verurteilt und haben noch eine
chance wenn sie folgendes ratsel loesen: jedem der drei wird eine kugel auf
den kopf gelegt, die einem beutel entnommen werden, in dem sich 2 weisse und 3
schwarze kugeln befinden. einer der drei muss sagen, was er fuer eine kugel
auf seinem kopf hat. der elf steht hinten und kann die kugel des menschen und
des zwergen sehen, der mensch steht in der mitte und kann nur die des zwergen
sehen, der zwerg steht vorn und kann gar keine sehen. die drei duerfen sich
nicht untereinander beraten, auch nicht darueber, wer die antwort geben soll. 

Viel Spass beim raetseln wuenscht euch Paladin

-----------------------------------------------------------------------------



Re: noch ein raetsel (Pra, 15. Dez 1998, 14:20:04):
~#! rn=Paladin rt=913728811 rg=puiz
~#! tid=913728811
Aeh - und was ist jetzt die Frage bei dem Raetsel?

Pra. Ratlos.

-----------------------------------------------------------------------------



Re: noch ein raetsel (Yendi, 15. Dez 1998, 16:22:50):
~#! rn=Paladin rt=913728811 rg=puiz
~#! tid=913728811
Tja, wenn der Zwerg vorne steht, werden sie wohl alle sterben... stuende der
Elf dagegen ganz vorn, dann haetten sie gute Chancen. :)


-----------------------------------------------------------------------------



Re: Re: noch ein raetsel (Paladin, 15. Dez 1998, 16:52:43):
~#! rn=Pra rt=913731604 rg=puiz
~#! tid=913728811
Hmm, ja vielleicht haette ich noch erwahnen sollen, dass der Zwerg am Ende die
richtige Antwort gibt und die Frage dabei ist natuerlich welche das ist und
wie er drauf gekommen ist. 

Hoffentlich isses jetzt vollstaendig - Paladin

-----------------------------------------------------------------------------



Re^3: noch ein raetsel (Jimdigriz, 15. Dez 1998, 17:16:26):
~#! rn=Paladin rt=913740763 rg=puiz
~#! tid=913728811
Hiho,

mal sehen ob ichs noch zusammen kriege.

Zunaechst mal sagen alle nix.
Haette Mensch und Zwerg je eine Weisse, wuesste
der Elf er haette eine schwarze und wuerde es
sagen. Der Mensch merkt nun dass der Elf nix sagt,
und macht sich seinerseitz gedanken, ausserdem
sieht er die Kugel vom Zwerg.
 1. Annahme: Der Zwerg hat eine Weisse kugel auf dem Kopf,
 dann wuesste der Mensch dass er selber keine Weisse auf
 dem Kopf hat (sonst haette der Elf ja schon was gesagt),
 also waere klar, dass er selber eine schwarze hat und koennte
 das einigermassen bald sagen. Aber der Mensch sagt ja auch nix.
 Also muss der Zwerg eine schwarze Kugel auf dem Kopf
haben, sonst haette entweder Elf oder Mensch schonwas
gesagt nach einigem nachdenken. Nachdem das nicht
geschehen ist, kann der Zwerg nur zu dem Schluss
kommen, dass er selber eine schwarze hat und sagt 
das schliesslich auch.

(Ich kenne noch eine leicht modifizerte Version,
wo alle drei Typen jeweils die anderen 2 sehen,
 und am schluss alle gleichtzeitig antworten).

Ciao,
 JdG.

P.S.: sorry fuer Spoiler, aber das neueste Raetsel wars wirklich nicht.. 

-----------------------------------------------------------------------------



Re^4: noch ein raetsel (Ark, 15. Dez 1998, 21:39:58):
~#! rn=Jimdigriz rt=913742186 rg=puiz
~#! tid=913728811
Ich weiss ja, dass ich jetzt wieder einen Sinnlos-Thread ausloese, aber ich
kann's mir nicht verkneifen: Zwerge sind eben doch die Kluegsten ;^)
Mit einem *Dwarves for Government*-Faehnchen wedelnd,


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^5: noch ein raetsel (Zephyr, 16. Dez 1998, 11:10:18):
~#! rn=Ark rt=913757998 rg=puiz
~#! tid=913728811

Also Ark, Du siehst das voellig falsch.. Yendi uebrigens auch.
Das ganze kann nur funktionieren wegen der verlaengerten Reaktions-
zeit (DENKzeit will ich da jetzt mal nicht sagen) des Zwerges.
Angenommen der Elf stuende vorne und der Zwerg hinten... dann
koennten Elf und Mensch daraus, dass der Zwerg nichts sagt, 
doch nicht die richtigen Schlussfolgerungen ziehn.. es koennte
ja auch einfach nur sein, dass der Zwerg noch im Denkprozess
*hust* haengt.. ;)
C4

-----------------------------------------------------------------------------



Re^6: noch ein raetsel (Yendi, 16. Dez 1998, 11:11:18):
~#! rn=Zephyr rt=913806618 rg=puiz
~#! tid=913728811
Zu Deutsch: Egal, wo der Zwerg steht, er ist schuld. Kennt man.


-----------------------------------------------------------------------------



Colaflasche (Yendi, 16. Dez 1998, 11:31:05):
Ich habe mir, nahcdem ich die letzten paar Male wegen des hohen Preises nur
damit geliebaeugelt hatte, auf dem SPIEL'98 ein Raetsel gekauft.
Das Ding besteht aus einer kleinen Colaflasche, in der ein roter Hartgummistab
steckt, aehnlich denen, die man frueher im Physikunterricht benutzte, um
statische Elektrizitaet zu demonstrieren.
Der Stab ragt ca. 5 cm aus der Flasche und hat ca. 2 cm oberhalb des unteren
Endes eine Querbohrung, durch die eine mit Mutter gekonterte M6(?)-Schraube
geht. Man kann erkennen, dass die Schraube aus einem Stueck besteht, weil 
1. eine Laengsbohrung vom unteren Ende des Stabes bis zur Querbohrung die
Schraube zeigt und 
2. Die Schraube auch auf der anderen Seite des Stabes wackelt, wenn man ein
Ende bewegt.
Der Stab hat des weiteren auf ungefaehr halber Hoehe eine
Aussparung/Kerbe/Ausfraesung, die gerade gross genug ist, um die Mutter
aufzunehmen und durch den Flaschenhals zu bugsieren (wenn man die Mutter denn
zu loesen imstande war), welche aber zu klein ist, um die Murmel
durchzuschleusen, die zu befreien das eigentliche Ziel ist.

Einem Arbeiskreis alkoholisierter Knobler ist es bereits gelungen, die Mutter
zu loesen und aus der Flasche zu holen. Die Schraube hat sich bis jetzt allen
Loesungsversuchen widersetzt, anscheinend ist sie tatsaechlich (wie auch
immer) in die Bohrung geschraubt.
Der Stab ist nur ungefaehr zwei mm duenner als die Flaschenoeffnung und nicht
biegsam.
Die Murmel hat ungefaehr denselben Durchmesser wie der Stab.

Vorschlaege, wie man dieses Tueftelei ohne Hilfe von schwerem Geraet oder
Transporterstrahlen _reversibel_ loesen kann?


Ratlos,
          Yendi



-----------------------------------------------------------------------------



Re: Colaflasche (Jameson, 16. Dez 1998, 17:48:40):
~#! rn=Yendi rt=913807865 rg=puiz
~#! tid=913807865
Das hab ich schon mal geschafft vor einer Weile, weiss aber nicht mehr
auswendig, wie ich das gemacht hab. Hat was damit zu tun, die Mutter an
der Flaschenwand/Aussparung/wasauchimmer entlang von der Schraube zu
loesen und die Schraube irgendwie lockerzuruetteln. Das war nicht einfach,
so weit ich mich erinnere. Ich hab es auch wieder zusammengebastelt.

jAmeson

-----------------------------------------------------------------------------



Brockhaus-Kalender? (Murkes, 17. Dez 1998, 09:42:33):
Letztes Jahr (oder ist es noch laenger her?) hat doch Cauno immer die Fragen
aus einem Brockhaus-Kalender gepostet. Hat jemand eine Ahnung wie das Ding
genau heisst? Ich suche naemlich noch ein Weihnachtsgeschenk....

Viele Gruesse 
Murkes

-----------------------------------------------------------------------------



Re^4: noch ein raetsel (Songoku, 17. Dez 1998, 12:56:27):
~#! rn=Jimdigriz rt=913742186 rg=puiz
~#! tid=913728811
Kann niocht sein. 
Damit wird ja ausgesagt, dass der Zwerg etwas hat, was man als Intelligen
bezeichnen kann.
Sayonara!

-----------------------------------------------------------------------------



Re: Brockhaus-Kalender? (Pra, 17. Dez 1998, 14:42:20):
~#! rn=Murkes rt=913887753 rg=puiz
~#! tid=913887753
Der Kalender heisst 'BROCKHAUS-Kalender. Was so nicht im Lexikon steht.'

Schade eigentlich, dass Cauno das posten eingestellt hat. Kann man
aber auch verstehen - ist schliesslich viel Schreibarbeit.

Ausserdem kann man den Kalender inzwischen auch taeglich im Internet
lesen: 'http://www.brockhaus.de/kalender1.html'

Pra.

-----------------------------------------------------------------------------



Re: Colaflasche (Jimdigriz, 17. Dez 1998, 19:14:59):
~#! rn=Yendi rt=913807865 rg=puiz
~#! tid=913807865
Hiho,

ja das Ding ist ziemlich genial, zunaechst
muss man ewig rumpfriemeln um die Mutter mit
der Murmel zu loesen, und dann geht die Schraube doch 
ncht weg ? Oder etwa doch ? 

Der trick ist folgender: man stelle die Flasche
auf den Kopf und knallt das Stabende ordentlich
gegen eine harte Unterlage, sodann sollte 
sich die Schraube (vorsichtig bitte, und 
die Flasche nicht wieder umdrehen) entfernen lassen.
nun geht auch alles raus.
Das Geheimnis ist tatsaehclih die Laengsbohrung, die
allerdings nicht nur bis zur Querbohrung der Schraube
geht, sondern noch ein bischen tiefer und genau darin
befindet sich ein kleiner magnetischer Stift.
Die Schraube hat ebenfalls eine kleine Kerbe wo der 
Stift dann arretiert und die Schraube am drehen und
rausgehen hindert.
 Fies, gell ;)

Warnung: wenn mans weiss, kriegt mans recht leicht
auseinander, aber es wieder zusammenzubauen ist echt
teuflisch. Die Schraube in die Position zu kriegen, dass 
der Stift wieder einrastet und dann die Mutter drauf
zuschrauben kann ganz schoen nerven und Geduld kosten.

(nein, ich bin damals auch nicht draufgekommen),

Viel Spass,
 JdG

-----------------------------------------------------------------------------



Re^6: noch ein raetsel (Asmodis, 20. Dez 1998, 14:19:27):
~#! rn=Zephyr rt=913806618 rg=puiz
~#! tid=913728811
Welcher Denkprozess ? Also bitte ...
Der Elf und der Mensch sagen nix, weil der Gestank vom Zwerg
sie umgehauen hat, und Zwerge sollen denken koennen ? naja ...

-----------------------------------------------------------------------------



Kalender-Raetsel (Yendi,  3. Feb 1999, 13:38:40):
Voriges Jahr hatte sich jemand die Muehe gemacht, Raetselfragen aus dem
Brockhauskalender abzutippen. Falls Interesse besteht, werde ich diese
Tradition fortfuehren. Nachfolgend also die ersten Fragen:


Mit., 27. Jan.:

Ein "Dunkles Lachen".
Woran starb der Autor dieses Romans?



Don., 28. Jan.:

Auch _ich_ in Arkadien.
Wer ist urspruenglich dieses "ich"?



Mon., 1. Feb.:
Eilt seit einer Weile:
Welche Monumentaluhr wurde vor 500 Jahren eingeweiht?




-----------------------------------------------------------------------------



grosses puiz (Phobos,  8. Feb 1999, 19:57:34):

  Ihre Chance!

  Verdienen Sie 666.666 Muenzen, steuerfrei und rebootfest.
  Unmoeglich? Nein!

  Nehmen Sie Teil an einer voellig anderen Art des Teamkampfes. Gleiche
  Chancen fuer alle - keine Scripte, keine Komplettloesungen.

  Und so geht es:

  Wer teilnehmen moechte, findet am Ende dieses Artikels eine Liste von
  Fragen, aus denen so viele wie moeglich richtig beantwortet werden
  sollen. Dies geht im Team natuerlich besser als allein, da man sich
  dann die Arbeit (aber natuerlich auch die Belohnung :) teilen kann.

  Die Antworten sind per Mail an mich zu senden; es brauchen nicht alle
  Antworten zusammen geschickt werden, jeweils die zuletzt gegebene Ant-
  wort auf eine Frage zaehlt, auch wenn die Frage vorher schon einmal
  richtig beantwortet wurde. Wer Antworten in die MPA schreibt, wird von
  der Teilnahme ausgeschlossen.

  Die Aufgaben geben je nach Schwierigkeitsgrad verschieden viele Punkte.
  Die Spielergruppe oder der Spieler mit den meisten Punkten gewinnt.
  Die Bearbeitungszeit betraegt 3 Wochen. Waehrend dieser Zeit werden
  keine Auskuenfte ueber die bisher erreichten Punkte gegeben.

     1. Preis:  600000 Muenzen (verpackt in einem Bank-Zweitie)
     2. Preis:   60000 Muenzen
     3. Preis:    6000 Muenzen
     4. Preis:     600 Muenzen
     5. Preis:      60 Muenzen
     6. Preis:       6 Muenzen

  Auch Magiergruppen duerfen teilnehmen, wenn sie die Spieler um ein
  Vermoegen bringen wollen. (Da man Magiern mit Geld keinen Anreiz
  bieten kann, muss man eben an ihre Schadenfreude appellieren ;).

  Mitmachen lohnt sich also fuer alle!

  Viel Spass beim Raetseln

        Phobos

-----------------------------------------------------------------------

  Hier die Fragen. Die Punktezahl sind am Ende angegeben.

  Bitte aus Fairnessgruenden KEINE LOESUNGEN IN DIE MPA SCHREIBEN!!!

  Abgabetermin ist Montag, 1.Maerz (Datum des Poststempels)


    1)  Wie heisst das naechste Element in diesen Folgen:
        a)  15, 52, 99, 144, 175, 180, 147, ?
        b)  1, 20, 2, 7, 18, 19, 0, 1, ?
        c)  W, H, D, N, E, I, D, ?

    2)  Was kann man trinken, kann es aber auch lassen?

    3)  Nenne eine Zahl, in der die Ziffern 1 bis 8 jeweils doppelt
        vorkommen und zwischen den 1en eine andere Ziffer steht,
        zwischen den 2en zwei andere Ziffern usw.

    4)  Wie oft konnte Noah angeln gehen?

    5)  Die Zahl 1210 hat die Eigenschaft, dass die Ziffern von links
        nach rechts jeweils die Anzahl der Ziffern 0 / 1 / 2 / 3 in
        dieser Zahl angibt (eine 0, zwei 1en, eine 2, null 3en).
        Welche Zahl mit zehn Ziffern hat die Eigenschaft, dass die
        Ziffern von links nach rechts jeweils die Anzahl der Ziffern
        0 / 1 / ... / 9 in dieser Zahl angeben?

    6)  Gesucht ist ein Wort mit drei Buchstaben:
        UTE: enthaelt keinen Buchstaben des Wortes
        VON: enthaelt genau einen Buchstaben, und sogar an der
             richtigen Stelle
        NEU, IVO, EGO:
             enthalten jeweils genau einen Buchstaben, aber nie an der
             richtigen Stelle

    7)  Setze fuenf Damen so auf ein 11*11-Schachbrett (A1 .. K11),
        dass alle 121 Felder entweder besetzt oder bedroht sind

    8)  FOEBK   Welcher Buchstabe liegt genau unter dem Buchstaben,
        PDLSW   der genau zwischen dem Buchstaben genau hinter dem
        GAYUJ   Buchstaben genau ueber P und dem Buchstaben genau
        THQCN   vor dem Buchstaben genau unter W liegt?
        XMVIR

    9)  Nimm mir ein Siebtel, so bin ich ein Achtel, aber ich bin
        kein Bruch.

   10)  Ordne die zehn Ziffern 0 bis 9 so zu einer Zahl an, dass
        jeweils die Zahl aus den ersten n Ziffern von links durch
        n teilbar ist (A durch 1 , AB durch 2, ABC durch 3, ... ,
        ABCDEFGHIJ durch 10)

   11)  In einer Schublade liegen 3 blaue, 4 gruene und 5 rote
        Kugeln. Ohne hineinzuschauen, sollen moeglichst wenige
        Kugeln entnommen werden, so dass man folgende Bedingungen
        erfuellt:
           a)  Man hat 3 Kugeln einer beliebigen Farbe.
           b)  Man hat 3 gruene Kugeln.
           c)  Man hat von jeder Farbe mindestens eine Kugel.
           d)  Man hat eine blaue und eine rote Kugel.

   12)  Jede der folgenden Personen luegt entweder oder sagt die
        Wahrheit. Welche Farbe hat das Haus?
          A: "Das Haus ist gruen."
          B: "D sagt die Wahrheit."
          C: "Das Haus ist gelb."
          D: "B und C luegen."
          E: "Das Haus ist rot."
          F: "E luegt."
          G: "Das Haus ist blau."

   13)  EN   Im Feld links kann man das Wort NEBEN 5-mal, EBENE 10-mal
        BE   und BEBEN 8-mal auf verschiedene Weisen buchstabieren, wenn
         B   man auf einem beliebigen Feld anfaengt und nur auf waage-
             recht bzw. senkrecht (aber nicht diagonal) direkt benach-
             barte Felder wechseln darf. Jedes Feld darf beliebig oft
             benutzt werden.

         NEBEN    Auf wieviele Arten kann man unter den gegebenen
         EBENE    Bedingungen in dem links stehenden Feld die Woerter
         BENEB    a) NEBEN, b) EBENE bzw. c) BEBEN buchstabieren?
         EBENE
         NEBEN

   14)  552986     Teile das links stehende Quadrat in 4      aaaaaa
        872476     deckungsgleiche Teile auf, die jeweils     aaabbb
        911411     alle Ziffern von 1 bis 9 enthalten.        bbbbbb
        332339     Loesung bitte in einer Form wie im         cccccc
        672478     Beispiel rechts (die gezeigte Loesung      cccddd
        689455     ist natuerlich falsch) angeben             dddddd

   15)  Teile die drei angegebenen Figuren in         ##     oo
        jeweils zwei deckungsgleiche Teile auf        ##   = ox
        (siehe rechtes Beispiel). Die beiden          ##     ox
        Teile duerfen auch spiegelverkehrt sein.       ##     xx

        a) ##             b) #####           c)    ####
            ####             #####                #######
          #######            ########              ####
          ########           ########            #####
             ###              #######             #####
                              #######               #

   16)  Wenn  CXV=elf  ist, und  MDCL=drei  ist, wieviel ist dann ILCD ?

   17)  Gib einen mathematisch korrekten Satz der folgenden Form an,
        wobei alle drei Zahlen mit Buchstaben auszuschreiben sind:

        "Dieser Satz besteht aus ... Woertern, ... Silben und ...
         Buchstaben."

   18)  Setze die Zahlen 1 bis 19 so ein, dass ein magisches Sechseck
        entsteht, bei dem die Zahlen in jeder Reihe dieselbe Summe
        haben:
                           . . .
                          . . . .
                         . . . . .
                          . . . .
                           . . .

   19)  Welches ist das kuerzeste Wort der deutschen Sprache
        mit den Buchstaben pf am Anfang, und am Ende?

   20)  . . . . D E . .    Im Quadrat links sollen die Punkte so durch
        . . . . . . . .    Buchstaben (a bis e) ersetzt werden, dass
        . B . . . . B .    jeweils ein Weg ueber waagerecht und senk-
        . . . . C . . .    recht (aber nicht horizontal) benachbarte
        A . . . . . . A    Felder entsteht, der die entsprechenden
        . . . . . E . .    beiden Grossbuchstaben verbindet.
        . D . . . . . .
        . . . . . . . C

   21)  Von den vier Aussagen auf den Tuerschildern ist genau eine wahr.
        Hinter welcher Tuer befindet sich der Schatz?

        Tuer 1:  "Der Schatz ist hinter Tuer 2 oder Tuer 3."
        Tuer 2:  "Der Schatz ist hinter Tuer 1 oder Tuer 4."
        Tuer 3:  "Der Schatz ist hinter dieser Tuer."
        Tuer 4:  "Der Schatz ist nicht hinter dieser Tuer."

   22)  Was ist das besondere an dem folgenden Satz?
        "A quick brown fox jumps over the lazy dog."
        Zusatzaufgabe (ohne Punkte): Gib einen moeglichst kurzen
        deutschen Satz mit derselben Eigenschaft an.

   23)  Bei jeder der folgenden Aussagen ist ein bestimmtes Wort
        gesucht. Dabei sind im Satz Wortspiele oder Umschreibungen
        enthalten, oft bilden ein oder mehrere Woerter des Satzes
        ein Anagramm des Loesungswortes.
        Die Buchstabenanzahl der Loesung ist in Klammern angegeben.

        Beispiele:
           -  Achtung, da rauchts im Busch!  (5)
              --> Strauch  (Busch, Anagramm von 'rauchts')
           -  Gruselig - ne alte Kiste liegt im Gras.  (4)
              --> Sarg  (gruselig, alte Kiste, Anagramm von 'Gras')


        a)  Einst war er teil eines Felsens.  (5)
        b)  Ein wildes Tier, aber kein Rabe.  (4)
        c)  Welcher Vogel baute hier sein Nest?  (5)
        d)  Womit kann man alles kaufen? Na damit!  (7)
        e)  Haarige Angelegenheit - da haben wir den Salat. Wem schenkt
            der Paul einen Nerz?  (8)
        f)  Ein Nilstaat ist voellig ueberflutet.  (8)
        g)  Nachtarbeiter, Einzelgaenger - Er wurde nicht durch Erben
            reich.  (10)
        h)  Warum ist er in der Ebene und nicht in der Wueste?
            Weil er da gern ist!  (9)
        i)  Ich zermartere mir das Gehirn, wo finde ich bloss einen
            Fisch?  (6)
        j)  Womit werden nicht nur in der Abendsonne gern Monster
            verbeult?  (11)
        k)  Ach, totes Elend - Was bleibt von Dir uebrig?  (13)
        l)  War es nass? Es wars!  (6)
        m)  Wo hat der verwirrte Forscher Till denn die Geheimformel
            aufgeschrieben? (12)
        n)  Das ist schlecht gewuerzt, trotz Pfeffer und Salz im Topf
            fehlt noch was. (4)

   24)   Auf einem Zettel stehen zehn Aussagen:

         1.  Von den Aussagen 9 und 10 ist mindestens eine wahr.
         2.  Dies ist entweder die erste wahre oder die erste falsche
             Aussage.
         3.  Es gibt drei aufeinanderfolgende Aussagen, die alle
             falsch sind.
         4.  Die Differenz zwischen den Nummern der letzten wahren
             und der ersten falschen Aussagen ist ein Teiler der
             gesuchten Zahl
         5.  Die Summe der Nummern aller wahren Aussagen ist die
             gesuchte Zahl.
         6.  Dies ist nicht die letzte wahre Aussage.
         7.  Die Nummer jeder wahren Aussage ist ein Teiler der
             gesuchten Zahl.
         8.  Die gesuchte Zahl ist gleich dem prozentualen Anteil
             der wahren Aussagen.
         9.  Die Anzahl der Teiler der gesuchten Zahl (abgesehen
             von 1 und der Zahl selbst) ist groesser als die Summe
             der Nummern der wahren Aussagen.
        10.  Es gibt keine drei aufeinanderfolgenden wahren Aussagen.

        a)  Welche Aussagen sind wahr?
        b)  Welches ist die gesuchte Zahl?

   25)  Wenn genau eine der folgenden Aussagen richtig ist,
        welcher Wochentag ist dann heute?

        a)  Der Tag nach morgen ist Mittwoch.
        b)  Nein, heute ist Mittwoch.
        c)  Ihr habt beide unrecht; morgen ist Mittwoch.
        d)  Quatsch. Heute ist weder Montag noch Dienstag noch
            Mittwoch.
        e)  Ich bin mir sicher, dass gestern Donnerstag war.
        f)  Nein, morgen ist Donnerstag.
        g)  Ich weiss nur, dass gestern nicht Samstag war.

   26)  Ein Springer will auf einem 4*4-Quadrat (A1 .. D4) von
        A1 nach A4. Wieviele Felder kann er dabei maximal auf-
        suchen, ohne ein Feld doppelt zu betreten? Gib eine Zug-
        folge an.

   27)  In diesem Mobile sind alle Staebe im Gleichgewicht. Die Faeden
        sind gewichtlos, aber nicht die Staebe. Die Buchstaben stellen
        verschiedene Gewichte dar. Durch welche Gewichte (so wenig wie
        moeglich) kann man das Fragezeichen ersetzen?

                        |
              xxxxxxxxxxxxxxxxxxxxx
              |                   |
           xxxxxxx             xxxxxxx
           |     |             |     |
        xxxxxxx  B             |     A
        |     |  E             |     C
        ?     |  E          xxxxxxx  C
              |             |     |  C
           xxxxxxx          |     A  C
           |     |       xxxxxxx  A  C
           |     B       |     |  A
           |     F       A     |  D
           |             D     C  F
        xxxxxxx          D        F
        |     |          D
        D     |
        D     F

   28)  Welches einsilbige deutsche Wort hat 10 Buchstaben?

   29)  Entschluessele den folgenden Geheimtext:

        WIR XSRMRHRM NRG WRN PRMGIRYRHH
        HRHHRM RU WRI HGIRHHR RMW RIARSOGRM HRXS DRH.
        WR PRN WR KRORAR: QR DRH RHG WRMM WRH?
        WIR XSRMRHRM NRG WRN PRMGIRYRHH!

   30)  Streiche aus den nachfolgenden Buchstaben vier Konsonanten.
        Welches sinnvolle deutsche Wort ergeben dann die restlichen
        Buchstaben?

        V U N I A E R N K N O E H N M S L O N I C H A K N E I T T E N

   31)  Du kriechst durch ein unterirdisches Hoehlensystem und endest
        ploetzlich vor einer Steintuer. In einer Nische in der Wand sind
        sechs Vertiefungen. Aha, jetzt weisst Du endlich, wofuer der Beutel
        mit den sechs farbigen Steinen gut ist, den Du vor drei Tagen
        bei einem Skelett gefunden hast.
        Auf der gegenueberliegenden Wand sind einige Zeilen in einer
        unverstaendlichen Schrift eingeritzt. Zum Glueck kann Dein
        Begleiter die Zeichen entziffern:

        1. Rot vor Gruen bringt Tod.
        2. Blau vor Gelb bringt Tod.
        3. Weiss vor Rot bringt Tod.
        4. Schwarz am Rand bringt Tod.
        5. Gruen zwischen Gelb und Weiss bringt Tod.
        6. Blau nach Schwarz oder Rot bringt Tod.
        7. Rot zwischen Gelb und Schwarz bringt Tod.

        Das sind ja schoene Aussichten! Du oeffnest den Beutel und laesst
        die Steine auf den Boden fallen. Sie liegen in der Reihenfolge
        Schwarz - Weiss - Gruen - Rot - Gelb - Blau. Diese Reihenfolge
        wirst Du aber bestimmt nicht waehlen, da sie z.B. nach der 5.
        und 6. Regel toedlich ist. Waehrend Du noch ueber eine sinnvolle
        Kombination nachdenkst, fallen Dir in der Decke 6 Loecher auf,
        in denen jeweils etwas Metallisches zu glitzern scheint. Was
        das wohl zu bedeuten hat? Fuer welche Farben willst Du Dich
        entscheiden?

   32)  Drei Wuerfel haben auf jeder Seite einen Buchstaben aufgemalt.
        Bei mehrmaligem Wuerfeln ergeben sich die folgenden Woerter:

        AST, AVE, BUS, DOM, EIS, ERZ, ICH,
        IHM, NEU, RAD, RUF, TON, UHR, WER

        Welche Buchstaben sind auf den einzelnen Wuerfeln?

   33)  Den Buchstaben A bis Z sollen die Zahlen 1 bis 26 zugeordnet
        werden, so dass die folgenden Gleichungen erfuellt sind:

        O+G+L=28            M+Y=26              B+W=K
        K+P+G=28            O-F=E               B-J=T
        L*N=D               O-U=2               Z*3=V
        X+C=D               Q-H=J               V+3=Q
        A+2=N               Q+C=25              T-2 ungleich F
        M-4=N               S*2=R               I+P=23
        R+Z=22

   34)  Du findest eine Steintafel mit einer sonderbaren Beschriftung:

           1.  A. B. C. D. E. F. G. H. I. J. K. L. M. N. O. P. Q. R. S.
               T. U. V. W. X. Y. Z.
           2.  AA,B; AAA,C; AAAA,D; AAAAA,E; AAAAAA,F; AAAAAAA,G;
               AAAAAAAA,H; AAAAAAAAA,I; AAAAAAAAAA,J.
           3.  AKALB; AKAKALC; AKAKAKALD. AKALB; BKALC; CKALD; DKALE.
               BKELG; GLEKB. FKDLJ; JLFKD.
           4.  CMALB; DMALC; IMGLB.
           5.  CKNLC; HKNLH. DMDLN; EMELN.
           6.  JLAN; JKALAA; JKBLAB; AAKALAB. JKJLBN; JKJKJLCN. FNKGLFG.
           7.  BPCLF; EPBLJ; FPJLFN.
           8.  FQBLC; JQBLE; FNQFLJ.
           9.  CRBLI; BRELCB.
          10.  JPJLJRBLSLANN; JPJPJLJRCLTLANNN. JPSLT; JPTLJRD.
          11.  AQJLU; UQJLAQSLV.
          12.  ULWA; UPBLWB; AWDMALWDLDPU. VLWNA; VPCLWNC. VQJLWNNA;
               VQSLWNNNA. JPEWFGHLEFWGH; SPEWFGHLEFGWH.
          13.  GIWIHYHN; TKCYT. ZYCWADAF.
          14.  DQCPZPWNNIBRC.

        Was bedeutet "XYTPRZC" in dieser Notation?
        Zusatzfrage (ohne Punkte): Was bedeutet Aussage 14?

   35)  In dem folgenden Multiple-Choice-Test muss jeweils genau eine
        der Antworten A bis E angekreuzt werden, so dass alle Aussagen
        korrekt sind:

         1. Die erste Frage, deren Antwort B ist, ist Frage
              * (A)  1
              * (B)  2
              * (C)  3
              * (D)  4
              * (E)  5

         2. Das einzige Paar aufeinanderfolgender Fragen mit derselben
            Antwort sind die Fragen
              * (A)  6 und 7
              * (B)  7 und 8
              * (C)  8 und 9
              * (D)  9 und 10
              * (E)  10 und 11

         3. Die Anzahl der Fragen mit der Antwort E ist
              * (A)  0
              * (B)  1
              * (C)  2
              * (D)  3
              * (E)  4

         4. Die Anzahl der Fragen mit der Antwort A ist
              * (A)  4
              * (B)  5
              * (C)  6
              * (D)  7
              * (E)  8

         5. Die Antwort zu dieser Frage die dieselbe wie die Antwort
            zu Frage
              * (A)  1
              * (B)  2
              * (C)  3
              * (D)  4
              * (E)  5

         6. Die Antwort auf Frage 17 ist
              * (A)  C
              * (B)  D
              * (C)  E
              * (D)  keine der vorigen Antworten
              * (E)  alle der vorigen Antworten

         7. Die Antwort zu dieser Frage und die Antwort zu der naechsten
            Frage liegen im Alphabet
              * (A)  4 Stellen auseinander
              * (B)  3 Stellen auseinander
              * (C)  2 Stellen auseinander
              * (D)  1 Stelle auseinander
              * (E)  an derselben Stelle

         8. Die Anzahl der Fragen, deren Antwort ein Vokal ist, ist
              * (A)  4
              * (B)  5
              * (C)  6
              * (D)  7
              * (E)  8

         9. Die naechste Frage mit derselben Antwort wie diese Frage
            ist Frage
              * (A)  10
              * (B)  11
              * (C)  12
              * (D)  13
              * (E)  14

        10. Die Antwort zu Frage 16 ist
              * (A)  D
              * (B)  A
              * (C)  E
              * (D)  B
              * (E)  C

        11. Die Anzahl der Fragen vor dieser Frage mit der Antwort B
            ist
              * (A)  0
              * (B)  1
              * (C)  2
              * (D)  3
              * (E)  4

        12. Die Anzahl der Fragen, deren Antwort ein Konsonant ist, ist
              * (A)  eine gerade Zahl
              * (B)  eine ungerade Zahl
              * (C)  eine Quadratzahl
              * (D)  eine Primzahl
              * (E)  durch 5 teilbar

        13. Die einzige ungeradzahlige Frage mit Antwort A ist
              * (A)  9
              * (B)  11
              * (C)  13
              * (D)  15
              * (E)  17

        14. Die Anzahl der Fragen mit Antwort D ist
              * (A)  6
              * (B)  7
              * (C)  8
              * (D)  9
              * (E)  10

        15. Die Antwort zu Frage 12 ist
              * (A)  A
              * (B)  B
              * (C)  C
              * (D)  D
              * (E)  E

        16. Die Antwort zu Frage 10 ist
              * (A)  D
              * (B)  C
              * (C)  B
              * (D)  A
              * (E)  E

        17. Die Antwort zu Frage 6 ist
              * (A)  C
              * (B)  D
              * (C)  E
              * (D)  keine der vorigen Antworten
              * (E)  alle der vorigen Antworten

        18. Die Anzahl der Fragen mit Antwort A ist gleich
              * (A)  der Anzahl der Fragen mit Antwort B
              * (B)  der Anzahl der Fragen mit Antwort C
              * (C)  der Anzahl der Fragen mit Antwort D
              * (D)  der Anzahl der Fragen mit Antwort E
              * (E)  keiner der vorigen Antworten

        19. Die Antwort auf diese Frage ist
              * (A)  A
              * (B)  B
              * (C)  C
              * (D)  D
              * (E)  E

        20. Standardisierter Test : Intelligenz :: Barometer :
              * (A)  Temperatur (nur)
              * (B)  Wind-Geschwindigkeit (nur)
              * (C)  Laengengrad (nur)
              * (D)  Breitengrad (nur)
              * (E)  alle der vorigen Antworten

-----------------------------------------------------------------------

   Punkte (insgesamt 110):

       1)  3* je 2   10)  3         19)  1         28)  2
       2)  1         11)  4* je 1   20)  2         29)  4
       3)  2         12)  2         21)  1         30)  2
       4)  1         13)  3* je 2   22)  1         31)  2
       5)  3         14)  2         23)  14* je 1  32)  2
       6)  1         15)  3* je 2   24)  4 / 2     33)  5
       7)  2         16)  2         25)  2         34)  3
       8)  2         17)  3         26)  2         35)  10
       9)  1         18)  2         27)  2


-----------------------------------------------------------------------------



Re: grosses puiz (Zephyr, 10. Feb 1999, 12:46:05):
~#! rn=Phobos rt=918503854 rg=puiz
~#! tid=918503854

Haarstraeubend gut :)
begeistert, C4

PS: Kann mir irgendwer Raetsel 34 erklaeren? :)

-----------------------------------------------------------------------------



Re: grosses puiz (Phobos, 10. Feb 1999, 22:31:15):
~#! rn=Phobos rt=918503854 rg=puiz
~#! tid=918503854
Kleine Korrektur zu den Aufgaben:

Frage 20: 
Natuerlich sind nicht die horizontal benachbarten Felder ver-
boten, sondern die diagonal benachbarten Felder.

Frage 23:
Mist, wenn ausgerechnet das Beispiel nen Fehler enthaelt:
Strauch hat natuerlich (7) Buchstaben, nicht (5).

AE, OE, UE, SZ/SS werden jeweils als ZWEI Buchstaben gezaehlt.


Phobos

-----------------------------------------------------------------------------



Re: Re: grosses puiz (Phobos, 11. Feb 1999, 19:57:35):
~#! rn=Phobos rt=918685875 rg=puiz
~#! tid=918503854
Ok, dies sind hoffentlich die letzten Ergaenzungen:

allgemein:

Ich bin bei allen Aufgaben davon ausgegangen, dass die Umlaute jeweils
als zwei Buchstaben zaehlen (Uebliche Voraussetzung im MG sowie in den
meisten Raetsel-Heften). Wer mag, darf auch Alternativloesungen suchen
mit Umlauten als je einem Buchstaben, dabei ist aber die Existenz einer
Loesung nicht gewaehrleistet. Bitte in diesem Fall dazuschreiben, dass
man nur einen Buchstaben je Umlaut gerechnet hat.

28)
Das Wort muss nicht in der Grundform sein, sondern darf beliegig
dekliniert/konjugiert/... werden.

34)
Die Fragestellung enthaelt einen Buchstabenverdreher und ist etwas
unklar formuliert, also genauer (und noch undurchsichtiger):

Was bedeutet der Ausdruck 'XYTPZRC'? Ueberfuehre den Ausdruck dazu in
die Form 'XL.....' und gib deren Uebersetzung an.


  Phobos


-----------------------------------------------------------------------------



Re^3: grosses puiz (Phobos, 12. Feb 1999, 19:03:04):
~#! rn=Phobos rt=918763055 rg=puiz
~#! tid=918503854

Hio!

Noch ein kleiner Nachtrag:

Fuer den Fall, dass am Ende mehrere Gruppen dieselbe Punktzahl
haben (zufaellig oder durch Teamarbeit), werde ich als Stich-
frage die Zusatzaufgabe zu Frage 22 hinzuziehen. Haben zwei
Gruppen einen Satz gleicher Laenge gefunden, werden sie als
eine Gruppe betrachtet. Also macht euch schonmal Gedanken :)

   Phobos

-----------------------------------------------------------------------------



Re: grosses puiz (Hasim, 12. Feb 1999, 21:43:36):
~#! rn=Phobos rt=918503854 rg=puiz
~#! tid=918503854
Ist das ein IQ-Test fuer Mudder ??? ;)
Hasim, am Ergebnis interessiert

-----------------------------------------------------------------------------



Re: Re: grosses puiz (Phobos, 13. Feb 1999, 14:36:25):
~#! rn=Hasim rt=918855816 rg=puiz
~#! tid=918503854
Ergebnisse gibts natuerlich nur per Mail fuer Leute,
die teilgenommen haben ;)


-----------------------------------------------------------------------------



Warum funktioniert dieses Programm? (Hate, 17. Feb 1999, 16:27:45):
int main(int argc, char **argv) {
  int *array, i;

  array = (int *)malloc(100 * sizeof(int));

  for(i = 0; i < 100; i++)
        i[array] = i;

  
  for(i = 0; i < 100; i++)
        printf("%d=%d\n", i, i[array]);

  exit(0);
}

Hate.

-----------------------------------------------------------------------------



Re: Warum funktioniert dieses Programm? (Patryn, 17. Feb 1999, 16:49:22):
~#! rn=Hate rt=919268865 rg=puiz
~#! tid=919268865
ob das in die rubrik gehoert? :)
das lustige pointerkonzept von c verwunder doch immer wieder, sofern es
ein konzept gibt :)
  also der indexoperator nimmt den vermuteten array-bezeichner und nimmt
diesen als pointer an, hier sogar als intpointer.
   arrayPointer[index] wird also zu arrayPointer+index*sizeof(int)
ob ich nun schreibe i[array] oder array[i] ist wohl egal, muesste
die selben bereiche adressieren, da die interne int-laenge gleich der
wortbreite entspricht.

------
patryn

PS: nein, ich bin mir nicht sicher, ob das stimmt.
    loest mal jemand auf :)

-----------------------------------------------------------------------------



Re: Re: Warum funktioniert dieses Programm? (Sharia, 17. Feb 1999, 16:51:57):
~#! rn=Patryn rt=919270162 rg=puiz
~#! tid=919268865
coooool ich verstehe jetzt noch weniger als vorher ... das von Hate sah
wenigstens schoen aus :) 

Sharia

-----------------------------------------------------------------------------



Re^3: Warum funktioniert dieses Programm? (Hate, 17. Feb 1999, 16:57:33):
~#! rn=Sharia rt=919270317 rg=puiz
~#! tid=919268865
Das ist eigentlich ganz einfach.

C arbeitet mit Pointern. array ist ein pointer auf ein Feld von int's.
Die Arraysubscription in C ist definiert als x = arraypointer + index
Da "+" Kommutativ ist, kann man auch schreiben
index + arraypointer = arraypointer + i = x

Da der Compiler vor einer Auswertung, ob ein Konstrukt korrekt ist, diese
Umwandlung
in Pointer macht, also irgendwas[index] wird umgewandelt in irgendwas + index,
st
es egal, ob man array[index] oder index[array] schreibt.

Hate.

-----------------------------------------------------------------------------



Re: Re: Warum funktioniert dieses Programm? (Rochus, 17. Feb 1999, 17:00:54):
~#! rn=Patryn rt=919270162 rg=puiz
~#! tid=919268865
Ja, das ist richtig. In C ist
  array[i] == *(array+i) == *(i+array) == i[array]
wobei bei der Addition von einem Pointer auf Datentyp X und einer
Zahl die Adresse mit der Zeigerarithmetik array+i*sizeof(X) ermittelt wird.
Hoffentlich war das verstaendlich genug, Sharia :)


  Rochus

-----------------------------------------------------------------------------



Re^3: Warum funktioniert dieses Programm? (Sharia, 17. Feb 1999, 17:02:43):
~#! rn=Rochus rt=919270854 rg=puiz
~#! tid=919268865
find ich echt interessant .. hab ich irgendwo was verpasst ? :) soll ich euch
was ueber Genexpression etc erzaehlen .. wahhh aufhoeren ich raff nix mehrrr
... hilffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

Sharia

-----------------------------------------------------------------------------



Re^4: Warum funktioniert dieses Programm? (Rochus, 17. Feb 1999, 17:28:21):
~#! rn=Sharia rt=919270963 rg=puiz
~#! tid=919268865
Also, gaaaanz langsam:
Ein Array ist in C ein Zeiger auf sein erstes Element.
Wenn man also
  int a[3];
  a[0]=42;a[1]=7;a[2]=4711;
schreibt, hat man im Speicher an Adresse a den Wert 42, an Adresse
a+1*sizeof(int) den Wert 7, an Adresse a+2*sizeof(int) den Wert 4711,
z.B. fuer a=10000 und sizeof(int)=4:
  10000: 42
  10004: 7
  10008: 4711
Da a als Integer-Array definiert wurde, ist es ein Wert vom Typ (int *),
also ein Zeiger auf Werte der Laenge eines Integer-Wertes,
daher weiss der Compiler, dass bei der Addition von a und i
das i noch mit sizeof(int) multipliziert werden muss.
Man kann grundsaetzlich statt a[2]=4711 auch
*(a+2)=4711 schreiben, der Stern bedeutet, an die ADRESSE die sich
aus a+2 ergibt soll der Wert geschrieben werden.
Statt a als int a[3] zu definieren kann man auch a als int *a definieren
und anschleissend Speicher fuer 3 Integer-Werte reservieren, das
Ergebnis der Reservierung a zuweisen und dann Werte dorthin schreiben
(allerdings muss man dann den Speicher selber freigeben wenn man ihn
nicht mehr braucht), also es ginge auch
  int *a;
  a=malloc(3*sizeof(int));
  /* Eigentlich sollte man jetzt erst pruefen ob noch soviel Speicher
  frei war :-) */
  a[0]=42;a[1]=7;a[2]=4711;
  ...
  /* Wenn man den Speicher nicht mehr braucht: */
  free(a);

Soviel zum Kurs "Umgang mit Pointern fuer Anfaenger".
Im Teil fuer Fortgeschrittene kommen dann Heap&Stack, Zeiger auf
Funktionen und warum man einem Zeiger auf eine Funktion NICHT
einen Zufallswert zuweisen und anschliessend aufrufen sollte 
(gibt interessante Effekte :-)

  Rochus

-----------------------------------------------------------------------------



Re^5: Warum funktioniert dieses Programm? (Sharia, 17. Feb 1999, 17:31:53):
~#! rn=Rochus rt=919272501 rg=puiz
~#! tid=919268865
4711 kenn ich ... das is koelnisch wasser .. benutzt meine Omma immer ... aber
sonst .. hmmm :-) ich weiss nich ....
warst du mal in der Tuerkei ? da gibts totaaaaal schoene Doerfer und die haben
voll interessante Namen ...:-)

Sharia

-----------------------------------------------------------------------------



Re^5: Warum funktioniert dieses Programm? (Jiddu, 17. Feb 1999, 22:26:30):
~#! rn=Rochus rt=919272501 rg=puiz
~#! tid=919268865
Passen 42 und 4711 in die 4-bit Variable?
Oder hab ich wie meisstens wwas falsch verstanden? ,)

-----------------------------------------------------------------------------



Re^6: Warum funktioniert dieses Programm? (Songoku, 18. Feb 1999, 10:27:33):
~#! rn=Jiddu rt=919290390 rg=puiz
~#! tid=919268865
Ging das um Basic V2.0 aufm C64??
Sayonara!

-----------------------------------------------------------------------------



Re^3: grosses puiz (Phobos, 24. Feb 1999, 20:47:33):
~#! rn=Phobos rt=918916585 rg=puiz
~#! tid=918503854

Wer will nochmal, wer hat noch nicht?

Einsendeschluss fuer das Puiz ist der kommende Montag (1.Maerz),
also nutzt jetzt noch eure Chance, damit ihr euch nachher nicht
totaergert, wenn jemand mit 20 Punkten den 1. Preis gewinnt. ;)


  Phobos

---------------------------------------------------------------------------

"There is always another Bug."   -   Al Lowe


Aufgabe 24)
Hier hat sich leider noch ein hartnaeckiger Fehler eingeschlichen:


  4.  Die Differenz zwischen den Nummern der letzten wahren
      und der ersten WAHREN Aussage ist ein Teiler der
      gesuchten Zahl

Interessanterweise ist auch mit der falschen Version von Aussage 4
Loesungsteil (a) eindeutig loesbar (und sogar mit demselben Ergebnis),
allerdings ist die gesuchte Loesungszahl in Teil (b) dann nicht mehr
eindeutig.

TEIL (a) BRAUCHT ALSO NICHT NEU UEBERLEGT ZU WERDEN.

Wer mir bereits Loesungen zu Teil (b) nach der falschen Version geschickt
hat (oder noch schickt), bekommt trotzdem die volle Punktzahl, da die
Ueberlegungen weitgehend gleichbleiben.

-----------------------------------------------------------------------------



Re^3: grosses puiz (Yendi, 25. Feb 1999, 14:45:29):
~#! rn=Phobos rt=918763055 rg=puiz
~#! tid=918503854
Zu Aufgabe 34:
Wie soll ich den Ausdruck "XYTPZRC" denn in die Form "XL..." ueberfuehren,
wenn X_Y_... ist und nicht X_L_...? Umgekehrt kann ich mir das vorstellen...

YTY



-----------------------------------------------------------------------------



Re^4: grosses puiz (Nixihou,  1. Mar 1999, 16:29:08):
~#! rn=Yendi rt=919953929 rg=puiz
~#! tid=918503854

da im ausdruck "XYTPZRC" das Z ebenfalls durch Z_Y_... spezifiziert ist, 
kann man nur im endergebnis aus x_Y_ ein X_L_ machen... da man fast 
ohne weiteres von Z_Y_... auf das Z_L_ schliessen kann.

nixihou, gefrustet da er so wenig sagen darf

-----------------------------------------------------------------------------



And the Winner is: (Phobos,  2. Mar 1999, 13:27:23):

So, die Gewinner des grossen Puizes stehen fest:

Herzlichen Glueckwunsch an alle, die teilgenommen haben, ob jetzt mit 
mehr oder weniger Erfolg, ist eigentlich egal.

And the Winner is:

    1.   Acrimon     99 Punkte
    2.   Mucks       98 Punkte
    3.   Magicolli   93 Punkte
    4.   Aurian      88 Punkte
    5.   Zephyr      85 Punkte
    6.   Festin      78 Punkte

    7.   Daria       60 Punkte
    8.   Yendi       47 Punkte
    9.   Morgonate   39 Punkte
   10.   Spirill     32 Punkte
   11.   Paladin     12 Punkte

Erstaunlicherweise gab es _nur_ Einzelkaempfer, dabei waren die
Fragen teilweise so schwer, dass man in der Gruppe eigentlich
deutlich bessere Ergebnisse haette erzielen koennen.

  Phobos

-----------------------------------------------------------------------------



jodeln (Phobos,  2. Mar 1999, 17:00:28):
Falls jemand noch ein wenig raetseln moechte:

Ein paar Fragen habe ich noch, die werde ich nach und nach mal
hier posten und zur Diskussion in der mpa freigeben, dafuer gibts 
auch keine Preise. Waere aber schoen, wenn auch jemand anders ein
paar schoene Raetsel kennt, d.h. keine langweiligen Textaufgaben
der Art '3 Huehner legen in 3 Stunden 3 Eier, wieviel Eier legt
ein halbes Huhn in einer halben Stunde?'

  Phobos

---------------------------------------------------------------------

Bei einer Bergtour versuchst Du Dich einmal im Jodeln, und stellst
fest, dass das Echo ein merkwuerdiges, aber regelmaessiges Verhalten
an den Tag legt:

Ein Jodelwort besteht aus einer oder mehreren Silben, Du kannst
bisher nur die folgenden Silben : Di, Ri, Joe, Du
Wenn x ein beliebiges Wort ist, so ist xx die Wiederholung von x,
x' ist die Umkehrung von x:

z.B.         x = Di-Ri-Joe
      =>    xx = Di-Ri-Joe-Di-Ri-Joe    (zweimal hintereinander)
            x' = Joe-Ri-di              (von hinten nach vorne)

(Bindestriche dienen nur der Uebersichtlichkeit,
 Di-Ri-Joe-Di-Ri-Joe = DiRiJoeDiRiJoe)

Bei Deinen Versuchen hast Du folgende Gesetzmaessigkeiten bemerkt,
wobei x und y jeweils beliebige Jodelworte sind:

1. Das Echo auf Di-x-Di ist immer x.
2. Wenn y das Echo auf x ist, dann ist Di-y das Echo auf Ri-x.
3. Wenn y das Echo auf x ist, dann ist y' das Echo auf Joe-x.
4. Wenn y das Echo auf x ist, dann ist yy das Echo auf Du-x.

Beispiel:
    Das Echo auf Du-Di-Joe-Di ist Joe-Joe, denn das Echo auf Di-Joe-Di
    ist nach Regel 1 Joe.

Weitere Einzelheiten hast Du noch nicht feststellen koennen, aber
Du moechtest gerne jeweils ein Jodelwort finden, das als Echo

   a) sich selbst hat
   b) seine eigene Umkehrung hat
   c) seine eigene Wiederholung hat


-----------------------------------------------------------------------------



Re: jodeln (Zwocklhuber,  2. Mar 1999, 17:23:32):
~#! rn=Phobos rt=920394028 rg=puiz
~#! tid=920394028
Und was is da jetzt genau die aufgabenstellung? moeglichst lange Worte finden
oder was?

-----------------------------------------------------------------------------



Mittelerde (Zillus, 15. Mar 1999, 19:29:46):
Es ist unterdessen wieder so ruhig in dieser Rubrik, darum ein paar Fragen
ueber das wunderbare Land Mittelerde. Geldpreise gibts leider keine zu
gewinnen ;-)

1. Wo wurde Elronds Rat abgehalten?

2. Was riet Boromir den Gefaehrten, sollten sie zum Rothorn-Pass mitnehmen?

3. In welchem Monat brach Frodo von Beutelsend aus nach Bruchtal auf?

4. Wer oder was waren "Yrch"?

5. Unter wessen Beinen passt Bilbo gerade durch?

6. Wer schien sich in Bilbos Speisekammer genausogut auszukennen wie Bilbo
selber?

7. Was warf Sam am Drei-Viertel-Stein in die Luft?

8. Wessen Geldboerse konnte sprechen?

9. Was sind Drachenharm und Hummerhorn? (Kommen im Hobbit-Gedicht "Irrfahrt"
vor.)

10. Wer toetete Saruman?

Good Luck beim raten ;-)
Zillus

-----------------------------------------------------------------------------



Re: Mittelerde (Jasonrigid, 16. Mar 1999, 12:53:24):
~#! rn=Zillus rt=921526186 rg=puiz
~#! tid=921526186
Hm, zu 1. : Rivendell
zu 8. : Eine der Trollgeldboerse, also von Bert, Tom oder Bill.

Hm, nur 20 %, ich sollte mal wieder den Hernn der Ringe lesen *griNS*

Jason

-----------------------------------------------------------------------------



Re: Mittelerde (Morgoth, 16. Mar 1999, 12:54:41):
~#! rn=Zillus rt=921526186 rg=puiz
~#! tid=921526186
Gibts das auch in englischer Fassung? Wer hat schon die deutsche Uebersezung
gelesen **kotz**

M*

-----------------------------------------------------------------------------



Re: Re: Mittelerde (Caradhras, 16. Mar 1999, 15:22:24):
~#! rn=Morgoth rt=921588881 rg=puiz
~#! tid=921526186
Ich habe sie gelesen, suesser Morgoth. :) 
Und zwar 15 Mal. Aber zum Trost: Ich habe es auch schon auf Englisch
gelesen.
Aber zwei von den Fragen da oben kann ich auch nicht beantworten.
*gruebelrum*

        *wink*       Bergchen Rothorn Caradhras

-----------------------------------------------------------------------------



hilf dem architekten (Phobos, 16. Mar 1999, 17:19:25):

   Loesung des vorigen Raetsels (teilweise mehrere Loesungen
   moeglich):

   a) Du-Joe-Ri-Joe-Di-Du-Joe-Ri-Joe-Di
   b) Joe-Du-Joe-Ri-Joe-Di-Joe-Du-Joe-Ri-Joe-Di  ODER
      Du-Ri-Joe-Di-Du-Ri-Joe-Di
   c) Du-Du-Joe-Ri-Joe-Di-Du-Du-Joe-Ri-Joe-Di
      
  
-------------------------------------------------------------------------

   Der Architekt moechte ueber dem Schacht in der F&E einen Gedenk-
   stein anbringen, um die Namen all der toer^H^H^H^Hheldenhaften
   Spieler zu verewigen, die dort ihr Leben gelassen haben. Er hat
   sich dafuer ein solides Objekt, zusammengesetzt aus mehreren 
   Wuerfeln gleicher Kantenlaenge, vorgestellt. Von fuenf Seiten 
   betrachtet ergeben sich die folgenden Ansichten. Die sechste 
   Skizze ist dem Architekten leider aus der Hand gefallen und den 
   Schacht hinunter gesegelt.

            +-------+       +---+---+       +-------+
            |       |       |   |   |       |       |
        +---+---+---+       |   +---+       +-------+
        |   |   |           |   |   |       |       |
        +---+---+           +---+---+       +-------+

        +---+---+           +---+-------+
        |   |   |           |   |       |
        |   |   +---+       |   +---+---+
        |   |       |       |       |
        +---+-------+       +-------+

   Eine Linie im Innern bedeutet, dass dort zwei Flaechen aneinan-
   dertreffen, die eine unterschiedliche raeumliche Tiefe aus dem
   Sichtwinkel des Beobachters haben.
   Wer hilft dem Architekten? Wie sieht die Ansicht der sechten 
   Seite aus? (Die Ansicht darf um 90/180 Grad verdreht sein, aber
   nicht spiegelverkehrt.)


   Phobos

-----------------------------------------------------------------------------



geheimnachricht (Phobos, 22. Mar 1999, 18:43:23):

   Loesung des vorigen Raetsels:

     +-------+                    o ---- o ---- .
     |       |                  / |    / |    / |    Drahtgittermodell
     +---+   +---+            . --+- o --+- .   |    o = Wuerfel vorhanden
         |   |   |            |   o -|-- . -|-- .    . = Wuerfel nicht da
         +---+---+            | /    | /    | /
                              . ---- o ---- o

   Tiefe, die man von den sechs Seiten aus sieht:

   rechts   links    vorne    oben      hinten     unten         obere
     2 2     1 2     2 1      1 1        1 2 2       1 1     =>  Seite
     1 3     1 2     2 1 1      1 2      1 1       1 2           fehlt

   (1=vorne, 2=weiter hinten, 3=ganz weit hinten)


   Einige Leute haben alternative 3D-Darstellungsmoeglichkeiten 
   angegeben:

    ___
   |   |\ ___            |-------|
   |___| |   |\          |   x x |
    \   \|   | |         | x     |
     \___|   | |         |-------|
      |  |___|  \        |   x   |
      |___\   \ |        | x x   | 
       \_______\|        |-------|


------------------------------------------------------------------------

   In der Naehe der Nabla wird ein Zettel mit diesem Inhalt
   gefunden:
        
              1
          1 2 6 9 6 5 5 4 3 4
         +-+-+-+-+-+-+-+-+-+-+
       2 | | | | | | | | | | |
     1 1 | | | | | | | | | | |
       4 | | | | | | | | | | |
     2 1 | | | | | | | | | | |
     3 1 | | | | | | | | | | |
       8 | | | | | | | | | | |
       8 | | | | | | | | | | |
       7 | | | | | | | | | | |
       5 | | | | | | | | | | |
       3 | | | | | | | | | | |
         +-------------------+

   Auf der Rueckseite steht eine Notiz ueber durchgehende
   Zeichenketten aus '#' und Luecken aus '.' gekritzelt.
         
   Wer kann die geheime Nachricht entschluesseln?


         Phobos


-----------------------------------------------------------------------------



Der durstige Wanderer (Mucks, 30. Mar 1999, 14:17:46):
Ein Wanderer will eine Steinwueste durchqueren. Leider muesste er 20
Wegstunden bis zur naechsten Wasserstelle laufen, kann aber nur Wasser fuer
9 Wegstunden tragen, und ohne Wasser wuerde der Wanderer sterben.
Allerdings kann er Wasserschlaeuche am Wegesrand zum spaeteren Gebrauch
lagern.
An der Wasserstelle selbst gibt es mehr als genuegend Wasser und 
Wasserschlaeuche.

Wie kommt der Wanderer am schnellsten zur naechsten Wasserstelle?

                                                                Mucks

-----------------------------------------------------------------------------



Re: Der durstige Wanderer (Phobos, 30. Mar 1999, 22:20:29):
~#! rn=Mucks rt=922803466 rg=puiz
~#! tid=922803466
Ich biete mal 107.56 Wegstunden.

  Phobos

-----------------------------------------------------------------------------



Re: geheimnachricht (Phobos, 30. Mar 1999, 22:32:55):
~#! rn=Phobos rt=922128203 rg=puiz
~#! tid=922128203
Die Aufgabenstellung des letzten Raetsels fanden einige Leute zu
schwammig, also hier nochmal ne Chance:

   Das folgende 10*10-Feld soll mit '#' und '.' gefuellt werden.
   Dabei geben die Ziffern am Rand an, wieviel benachbarte Felder
   ein '#' enthalten; alle uebrigen Felder der Reihe sind '.'.
   '2 3' koennte z.B. '...##.###.' oder '##....###.' repraesen-
   tieren, aber nicht '..#####...' oder '.###...##.'.

                   1
               1 2 6 9 6 5 5 4 3 4
              +-+-+-+-+-+-+-+-+-+-+
            2 | | | | | | | | | | |
          1 1 | | | | | | | | | | |
            4 | | | | | | | | | | |
          2 1 | | | | | | | | | | |
          3 1 | | | | | | | | | | |
            8 | | | | | | | | | | |
            8 | | | | | | | | | | |
            7 | | | | | | | | | | |
            5 | | | | | | | | | | |
            3 | | | | | | | | | | |
              +-------------------+

   Phobos

-----------------------------------------------------------------------------



Re: Re: geheimnachricht (Phobos,  7. Apr 1999, 21:13:02):
~#! rn=Phobos rt=922833175 rg=puiz
~#! tid=922128203

Loesung des letzten Raetsels:

                   1
               1 2 6 9 6 5 5 4 3 4
              +-+-+-+-+-+-+-+-+-+-+
            2 |.|.|#|#|.|.|.|.|.|.|
          1 1 |.|#|.|#|.|.|.|.|.|.|
            4 |#|#|#|#|.|.|.|.|.|.|
          2 1 |.|.|#|#|.|.|.|.|.|#|
          3 1 |.|.|#|#|#|.|.|.|.|#|
            8 |.|.|#|#|#|#|#|#|#|#|
            8 |.|.|#|#|#|#|#|#|#|#|
            7 |.|.|#|#|#|#|#|#|#|.|
            5 |.|.|.|#|#|#|#|#|.|.|
            3 |.|.|.|.|#|#|#|.|.|.|
              +-------------------+


----------------------------------------------------------

Mal was fuer Kreative. Antworten bitte in die MPA:


Wie lang ist die Antwort auf diese Frage?



-----------------------------------------------------------------------------



Re^3: geheimnachricht (Rochus,  7. Apr 1999, 21:18:35):
~#! rn=Phobos rt=923512382 rg=puiz
~#! tid=922128203
Kurz.

-----------------------------------------------------------------------------



Re^3: geheimnachricht (Jiddu,  7. Apr 1999, 21:24:43):
~#! rn=Phobos rt=923512382 rg=puiz
~#! tid=922128203
Die Antwort auf Die Frage ist 45 Zeichen lang.
Jiddu, versteht es nicht ;)

-----------------------------------------------------------------------------



Re: Der durstige Wanderer (Mucks,  8. Apr 1999, 17:17:32):
~#! rn=Mucks rt=922803466 rg=puiz
~#! tid=922803466
Loesung:

Um moeglichst viel Wasser moeglichst weit Richtung Ziel zu tragen und   
dort zu lagern, muss man beim Laufen in Richtung Ziel moeglichst viel   
Wasser mit sich tragen, beim Zuruecklaufen moeglichst wenig Wasser mit
sich tragen. Daher sollte man immer mit vollem Wasserschlauch von der  
Wasserstelle losgehen, mit leerem Wasserschlauch zurueckkommen,
und bei Depots an denen man vorbeikommt soviel Wasser mitnimmen wie moeglich
(beim Hinweg) bzw. noetig (beim Rueckweg).

Das erste Depot wird nach A Wegstunden angelegt. Mit der zweiten Wasserladung
wird ein Depot in A+B Stunden Entfernung angelegt - das Wasser fuer die
ersten A Wegstunden kann man aus dem ersten Depot nehmen.
Das dritte Depot liegt in A+B+C Wegstunden Entfernung, 
das Wasser fuer das erste Wegstueck A nimmt man aus dem ersten Depot,
das Wasser fuer das zweite Wegstueck B aus dem zweiten Depot,
usw.

Sooft man also das erste Wegstueck von A Wegstunden geht, sooft wird auch
Wasser fuer A Wegstunden aus dem Depot genommen.

Sei x die Anzahl Depots, die Ausreicht um das Ziel zu erreichen.  
Dann wird das erste Wegstueck 2*x+1 oft gegangen, das zweite Wegstueck
2*(x-1)+1 usw.

Das erste Depot sollte man daher in 9 / (2*x+1) Wegstunden Entfernung
anlegen: dann enthaelt das Depot genau die Menge Wasser, die man
fuer das 2*x+1 Gehen der ersten Wegstrecke verbraucht.
Das zweite Depot legt man 9/(2*(x-1)+1) Wegstunden hinter dem ersten
Depot an usw.

Das letzte Depot liegt damit 9 Wegstunden vom Ziel entfernt,
das vorletzte Depot 9/3 Wegstunden vor dem letzten Depot,
das vor-vorletzte Depot 9/5 Wegstunden vor dem vorletzten usw.

Damit kann man mit x Depots 9/(2*x+1) + 9/(2*(x-1)+1) + ... + 9/3 + 9
Wegstunden erreichen.

9 + 9/3 + 9/5 + ... + 9/23 = 20.0192 > 20

Mit 11 Depots kommt man also sogar 0.0192 Wegstunden weiter als noetig.
Man kann also das erste Wegstueck 0.0192 Wegstunden verkuerzen, und damit
den Wasserbedarf (oder gesammte Laufstrecke) um 0.0192*23 verkuerzen.

Insgesamt braucht man also Wasser fuer 12*9 (elf Wasserdepots anlegen und
einmal zum Ziel laufen) minus 23*0.0192 Wegstunden,
also 107.558 Wegstunden.
                                                           Mucks

-----------------------------------------------------------------------------



Re^3: geheimnachricht (Jimdigriz,  8. Apr 1999, 20:28:46):
~#! rn=Phobos rt=923512382 rg=puiz
~#! tid=922128203
kurz

-----------------------------------------------------------------------------



Re^3: geheimnachricht (Acrimon, 19. Apr 1999, 21:36:32):
~#! rn=Phobos rt=923512382 rg=puiz
~#! tid=922128203
Sie ist ebenso lang wie die Frage selbst.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



quadrate (Phobos, 20. Apr 1999, 18:06:42):
    +-----+-----+-----+
    |   /   \   |     |
    | /       \ |     |
    +           +     |
    | \       / |     |
    |   \   /   |     |
    +-----+-----+-----+

Wieviele Blaetter quadratisches Papier braucht man mindestens,
um diese Figur zu erzeugen? Die Quadrate duerfen beliebige
Groesse haben, aber nicht geknickt/zerschnitten/... werden,
sondern nur uebereinander gelegt werden.


Die Figur kann aus drei Quadraten erzeugt werden:

    +-----------+        +-----------+-----+        +-----+-----+-----+
    |           |        |           |     |        | 2 /   \ 2 |     |
    |           |        |           |     |        | /       \ |     |
    |     1     |  --->  |     2     |  1  |  --->  +     3     +  1  |
    |           |        |           |     |        | \       / |     |
    |           |        |           |     |        | 2 \   / 2 |     |
    +-----------+        +-----------+-----+        +-----+-----+-----+


Wieviele Quadrate braucht man mindestens, um die folgende
Figur zu erzeugen?

    +-----+-----+-----+-----+
    |     |     |     |     |
    |     |     |     |     |
    +-----+     +-----+-----+
    |     |   /   \   |     |
    |     | /       \ |     |
    +-----+           +-----+
    |     | \       / |     |
    |     |   \   /   |     |
    +-----+     +-----+     |
    |     |     |           |
    |     |     |           |
    +-----+-----+-----------+


Phobos

-----------------------------------------------------------------------------



Re: quadrate (Pra, 20. Apr 1999, 18:21:16):
~#! rn=Phobos rt=924624402 rg=puiz
~#! tid=924624402
oki, ich hab jetzt eine Loesung mit 9. Gehts noch besser?

Pra.

-----------------------------------------------------------------------------



Re: Re: quadrate (Yendi, 21. Apr 1999, 18:51:48):
~#! rn=Pra rt=924625276 rg=puiz
~#! tid=924624402
Ich behaupte, dass nicht.

YTY


-----------------------------------------------------------------------------



Re^3: quadrate (Phobos,  5. Mai 1999, 11:17:08):
~#! rn=Yendi rt=924713508 rg=puiz
~#! tid=924624402
Ok, meine beste gefundene Loesung hat auch 9 Quadrate:

  a)  +-----------------------+       b)  +-----+-----------+-----+
      |  1                    |           |  1  |           |  1  |
      |                       |           |     |           |     |
      |     +-----------------+           |     |    4      +-----+
      |     |                 |           |     |           |  2  |
      |     |   2             |           |     |           |     |
      |     |     +-----------+           |     +-----+-----+-----+
      |     |     |           |           |     |     |           |
      |     |     |           |           |     |     |           |
      |     |     |    3      |           |     | 2   |    3      |
      |     |     |           |           |     |     |           |
      |     |     |           |           |     |     |           |
      +-----+-----+-----------+           +-----+-----+-----------+



  c)  +-----+-----+-----+-----+       d)  +-----+-----+-----+-----+
      |  1  |     |  7  |  1  |           |  1  |     |  7  |  1  |
      |     |     |     |     |           |     |  4  |     |     |
      +-----+     +-----+-----+           +-----+     +-----+-----+
      |  5  |           |  2  |           |  5  |   /   \ 4 |  2  |
      |     |  4        |     |           |     | /       \ |     |
      +-----+-----+-----+-----+           +-----+     9     +-----+
      |     |     |     |     |           |     | \       / |     |
      |  6  |     |  8  |     |           |  6  |   \   / 8 |     |
      +-----+ 2   +-----+     |           +-----+ 2   +-----+     |
      |     |     |           |           |     |     |           |
      |  1  |     |       3   |           |  1  |     |       3   |
      +-----+-----+-----------+           +-----+-----+-----------+

Phobos

-----------------------------------------------------------------------------



muenzen (Phobos,  5. Mai 1999, 11:20:16):
Moeglichst wenige Muenzen sollen so auf einen Tisch gelegt werden,
dass jede Muenze genau drei andere Muenzen beruehrt. Alle Muenzen
haben denselben Durchmesser (sind also voellig gleich) und liegen
flach auf der Tischplatte (also nicht schraeg, nicht mit dem Rand, 
und nicht uebereinander). Wie sieht eine minimale Anordnung der 
Muenzen aus?

  Phobos

-----------------------------------------------------------------------------



Re: muenzen (Pra,  5. Mai 1999, 13:38:41):
~#! rn=Phobos rt=925896016 rg=puiz
~#! tid=925896016
Die triviale Antwort ist 0. Aber das ist vermutlich nicht das, was
Du haben wolltest... :-) 

Mal ueberlegen...

Pra.

-----------------------------------------------------------------------------



Re: Re: muenzen (Anacrion,  5. Mai 1999, 16:36:05):
~#! rn=Pra rt=925904321 rg=puiz
~#! tid=925896016
Hmm. nach kurzem nachdenken wuerde ich fuer die dreiecksvariante stimmen ...


  o  o
 o oo o
  o  o
  o  o
 o oo o
 o  o


usw. usf. ...
Anac* - das aber noch nicht fuer den Schluss aller Dinge haltend

-----------------------------------------------------------------------------



Re: muenzen (Catweazle,  5. Mai 1999, 17:24:55):
~#! rn=Phobos rt=925896016 rg=puiz
~#! tid=925896016
Aehm, optimal ist doch mit Sicherheit, wenn die moeglichst weit voneinander
entfernt liegen. Also ordnet man die 3 im Winkel von 120Grad und die eine an.
Da kommt dann son Wabenmuster raus ...
YTC

-----------------------------------------------------------------------------



Re: Re: muenzen (Yendi,  5. Mai 1999, 17:29:09):
~#! rn=Catweazle rt=925917895 rg=puiz
~#! tid=925896016
Die Frage ist, ob es ueberhaupt eine endliche Loesung gibt.
Im Moment laufen im 602 praktische Tests, wir sammeln noch Groschen...

YTY


-----------------------------------------------------------------------------



Re: muenzen (Pra,  5. Mai 1999, 17:29:37):
~#! rn=Phobos rt=925896016 rg=puiz
~#! tid=925896016
Ich schaffs mit 16 Muenzen, aber habe keine Ahnung, wie ich das in ASCII
schreiben soll... vielleicht so: Man nehme 4 Stueck und ordne sie so an:
   o
  o o
   o
mache das ganze 4 Mal und drehe 2 von den Dingern um 90 Grad, und setze dann
alle 4 jeweils an den Ecken zusammen, dass sie sowas wie ein Rechteck bilden.

Pra.

-----------------------------------------------------------------------------



Re: Re: muenzen (Yendi,  5. Mai 1999, 17:31:29):
~#! rn=Pra rt=925918177 rg=puiz
~#! tid=925896016
Aeh -- genau. Weniger scheint bis jetzt nicht zu gehen.

YTY


-----------------------------------------------------------------------------



Re^3: muenzen (Anacrion,  5. Mai 1999, 17:57:29):
~#! rn=Yendi rt=925918289 rg=puiz
~#! tid=925896016
Hmm. Also doch die besteLoesung ? :)

Anac* 

-----------------------------------------------------------------------------



Quiz (Stoerti,  5. Mai 1999, 21:16:50):
Is zwar jetz kein Quiz, wo ich ne Antwort zu parat haette, aber evtl. weiss ja
jemand ne Loesung fuer mich :-)

Ich brauche einen Weg, wie ich alle erdenklichen Ausgaenge eines Raumes
berechnen kann.

Also Raeume, wie sie in muds vorkommen. Diese aber nur auf der Ebene von
Himmelsrichtungen : N,NO,O,SO,S,SW,W,NW

Von denen benoetige ich _alle_ moeglichkeiten (alle variationen).

(Ist fuer einen visuellen LPC Editor und ich mag nicht alle Variationen von
Hand malen (die icons halt))

Danke

-----------------------------------------------------------------------------



Re: Quiz (Hood,  5. Mai 1999, 21:25:00):
~#! rn=Stoerti rt=925931810 rg=puiz
~#! tid=925931810
sei A={N,NO,O,SO,S,SW,W,NW} die menge der moeglichen ausgaenge.
jeder raum hat dann eine teilmenge B von A als ausgaenge.
die menge all dieser teilmengen von A ist die potenzmenge von A.
die maechtigkeit einer potenzmenge ist 2^(anzahl der elemente von A).
-> 2^8=256 moeglichkeiten fuer raumausgaenge.

------
patryn

-----------------------------------------------------------------------------



Re: Re: Quiz (Stoerti,  5. Mai 1999, 21:40:24):
~#! rn=Hood rt=925932300 rg=puiz
~#! tid=925931810
Nein,sorry, war vielleicht etwas unguenstig ausgedrueckt.
Das es 256 moeglichkeiten sind, weiss ich (8^8 halt) 
Aber ich benoetige einen Algorytmus der mir alle Moeglichkeiten berechnet.
Sprich: 
Ich weiss, es gibt: N,NO,O usw. 
Ich will  als Ergebnis bekommen: 

N, {N,NO} (fuer einen raum mit ausgang; Nord und Nordost)
{N,O} fuer einen Raum mit Ausgang: Nord und Ost 

Und diese jener Moeglichkeiten moechte ich alle haben, diese aber
Rechnerberechnet, damit ich die Icons, die diese Raeume nachher darstellen,
nicht alle von Hand zeichnen muss, sondern erstellen lassen kann. 

-----------------------------------------------------------------------------



Re^3: Quiz (Stoerti,  5. Mai 1999, 21:42:40):
~#! rn=Stoerti rt=925933224 rg=puiz
~#! tid=925931810
4^4, sorry :-)

stoerti *liebt replys auf sich selbst)

-----------------------------------------------------------------------------



Re^3: Quiz (Hood,  5. Mai 1999, 21:46:47):
~#! rn=Stoerti rt=925933224 rg=puiz
~#! tid=925931810
man nehme die geordnete menge der 8 moeglichen ausgaenge.
dann lasse man einen index den bereich von 0 bis 255 durchlaufen.
den index wandelt man in eine dualzahl um. fuer gesetzte bits innerhalb
der dualzahl wird das jeweilige element aus der geordneten ausgangsmenge
in die fuer den index zu kreierende teilmenge hinzugefuegt.
damit bekommst du deine 255 mengen.

------
patryn

-----------------------------------------------------------------------------



Re^4: Quiz (Stoerti,  5. Mai 1999, 23:04:16):
~#! rn=Hood rt=925933607 rg=puiz
~#! tid=925931810
Danke, damit hast du mir weitergeholfen :-)

-----------------------------------------------------------------------------



Re: Quiz (Songoku,  6. Mai 1999, 11:28:44):
~#! rn=Stoerti rt=925931810 rg=puiz
~#! tid=925931810
visueller LPC Editor???
visueller LPC Editor???
visueller LPC Editor???


HABEN WILL :)


Sayounara!

-----------------------------------------------------------------------------



Re: Re: Quiz (Wurzel,  6. Mai 1999, 18:04:56):
~#! rn=Songoku rt=925982924 rg=puiz
~#! tid=925931810
nimm ed. du kannst alles sehen, also ist es visuell.
oder hab ich da was falsch verstanden?

wurzel

-----------------------------------------------------------------------------



Re: Re: Quiz (Stoerti,  6. Mai 1999, 23:08:10):
~#! rn=Songoku rt=925982924 rg=puiz
~#! tid=925931810
wenner fertig ist, sag ich bescheid, der liegt dann zum download bereit.

ich schreibe gerade einen uebersetzer, so das man den fuer jedes mud nutzen
kann. 

also die lpc grundlagen sollte man schon beherrschen um mit der scriptsprache
dann einmalig die syntaxen fuer das jeweilige mud eingeben kann :-)


-----------------------------------------------------------------------------



Re^3: Quiz (Songoku, 17. Mai 1999, 10:57:47):
~#! rn=Stoerti rt=926024890 rg=puiz
~#! tid=925931810
ein bischen kann ich schon aber warum einfach, wenn es auch komplkiziert geht.


(irgendwas habe ich doch wieder durcheinandrer gebracht aber was nur??)

Sayounara!

-----------------------------------------------------------------------------



Re^3: Quiz (Widewitt, 19. Mai 1999, 10:19:30):
~#! rn=Stoerti rt=925933224 rg=puiz
~#! tid=925931810
Tach,

Nimm Prolog dafuer ... :)

Gruesse Widewitt

-----------------------------------------------------------------------------



Waage (Caradhras,  2. Jun 1999, 16:30:51):
              Hallo!

Weiss jemand noch die Loesung zu dem Waage-Problem mit den 15 Kugeln,
von denen 14 gleich schwer sind und nur eine leichter oder schwerer 
ist? Man weiss vorher nicht, ob sie leichter oder schwerer ist und
soll sie in drei Vorgaengen mit der Waage herausfinden.
Es stand schon einmal hier, die Loesung, vielleicht hat sie ja
noch jemand parat.

          Mit Dank         Bergchen Caradhras

-----------------------------------------------------------------------------



3 Schalter (Bambulko,  2. Jun 1999, 16:44:10):
Also man ist im Keller eines Hauses und hat drei Schalter vor sich, von denen
einer fuer eine Lampe im ersten Stock ist. Die beiden anderen sind
funktionslos. Wie kann man durch nur einmaliges nachschauen erkennen, welcher
der richtige Schalter ist.
Man kann soviele Schalter umlegen wie man moechte, darf aber wie gesagt nur
einmal nachschauen gehen......

Bambulko

-----------------------------------------------------------------------------



Re: 3 Schalter (Anacrion,  2. Jun 1999, 16:55:43):
~#! rn=Bambulko rt=928334650 rg=puiz
~#! tid=928334650
Na ja ... einfach jeden der reihe nach 5 min anmachen und gucken wie heiss die
lampe ist :)

Anac*

-----------------------------------------------------------------------------



Re: Re: 3 Schalter (Wurzel,  2. Jun 1999, 17:40:13):
~#! rn=Anacrion rt=928335343 rg=puiz
~#! tid=928334650
viel einfacher. wenn die anderen beiden funktionslos sind, brauche ich
nicht zu wissen, welcher der richtige schalter ist, sondern betaetige gleich
alle drei und habe die gewissheit, dass der richtige dabei war.

wurzel heute mal pragmatisch

-----------------------------------------------------------------------------



Re: Waage (Wim,  2. Jun 1999, 22:22:27):
~#! rn=Caradhras rt=928333851 rg=puiz
~#! tid=928333851
Wieso erinnert mich das jetzt stark an die Tarko Reub Quest :)

-----------------------------------------------------------------------------



Re: 3 Schalter (Guard,  3. Jun 1999, 11:32:32):
~#! rn=Bambulko rt=928334650 rg=puiz
~#! tid=928334650
na ganz einfach, man legt 2 schalter um, wartet 5 min und macht einen schalter
wieder aus. wenn die lampe kalt ist, wart
aeh war es der dritte schalter, wenn die lampe warm ist aber aus war der
schalter den man wieder ausgemacht hat und den rest koennt ihr euch denken :)

Guard

-----------------------------------------------------------------------------



Re: Re: 3 Schalter (Hel,  3. Jun 1999, 11:38:24):
~#! rn=Guard rt=928402352 rg=puiz
~#! tid=928334650
Das funktioniert aber nur, wenn du weisst, welcher schalter zu welcher lampe
gehoert. Das war aber meinesartens nicht bekannt. Wenn du also nun die
beiden defekten erwischt hast, siehts schlecht aus ...

hel

-----------------------------------------------------------------------------



Re^3: 3 Schalter (Guard,  3. Jun 1999, 11:40:08):
~#! rn=Hel rt=928402704 rg=puiz
~#! tid=928334650
wenn ich die beiden kaputten schalter erwische ist die lampe kalt und aus

Guard

-----------------------------------------------------------------------------



Re: Waage (Hel,  3. Jun 1999, 11:45:29):
~#! rn=Caradhras rt=928333851 rg=puiz
~#! tid=928333851
Mit 3 Haufen a 5 Kugeln, die du gegeneinander auswiegst (3 wiegevorgaenge)
sollte klar sein,ob sie leichter oder schwerer ist. Du weisst zwar nicht
welche es ist, aber das war auch nicht gefragt ...

-hel

-----------------------------------------------------------------------------



Re^4: 3 Schalter (Hel,  3. Jun 1999, 11:54:50):
~#! rn=Guard rt=928402808 rg=puiz
~#! tid=928334650
dann sind alle kalt, und da du nich weisst, welcher schalter wozu gehoert,
bist du so schlau wie zuvir.
aeh zuvor.

-hel

-----------------------------------------------------------------------------



Re^5: 3 Schalter (Morgonate,  3. Jun 1999, 11:56:18):
~#! rn=Hel rt=928403690 rg=puiz
~#! tid=928334650
wieso alle? 3 schalter - eine birne, oder hab ich was falsch verstanden?


-----------------------------------------------------------------------------



Re^6: 3 Schalter (Hel,  3. Jun 1999, 11:59:14):
~#! rn=Morgonate rt=928403778 rg=puiz
~#! tid=928334650
hast recht ... sorry. ich hatte eine aenlich aufgabe im kopf,  da waren 3
schalter und 3 lampen, davon 2 defekt ... naja, dann ist das natuerlich der
richtige weg (kalt, warm oder leuchtend)

-hel

-----------------------------------------------------------------------------



Re^7: 3 Schalter (Trance,  3. Jun 1999, 22:11:02):
~#! rn=Hel rt=928403954 rg=puiz
~#! tid=928334650
Lege Schalter 1 fuer 30 Sekunden um, dann wieder zurueck.
Lege Schalter 2 um, geh hoch und schau nach.
Die Lampe ist aus, warm oder an ...

Trance

-----------------------------------------------------------------------------



Re: Re: Waage (Catweazle,  4. Jun 1999, 14:53:25):
~#! rn=Wim rt=928354947 rg=puiz
~#! tid=928333851
Das _ist_ aus der Tarko Reub Quest. Alles geklaut :-)
Dort funktioniert das allerdings mit Muenzen, aber nur mit zwoelfen.
Mit 15 Kugeln klappt das nicht, dafuer braucht man 4 Waegungen.
Die hundertprozentige Loesung kannste bei mir erfragen, wobei ich die 
nicht gern herausgebe :-)

YTC

-----------------------------------------------------------------------------



robin hood (Phobos,  8. Jun 1999, 15:05:13):
Robin Hood hat gestern 143500 Muenzen eingenommen. Die Haelfte davon hat
er versoffen, den Rest will der Ahnalfabaeth an die Weisen im Weisenhaus 
verschenken. Leider wird er unterwegs von einer Horde gieriger Zwerge
ausgepluendert, die das Geld beim woechentlichen Bingo-Abend verlosen.
Jeder Gewinner bekommt 420 Muenzen, jede Gewinnerin 490 Muenzen. Es stellt
sich heraus, dass jeder sechste Bewohner und jede siebte Bewohnerin der 
Zwergenstadt einen der Preise bekommt.

Wieviele Leute leben in dem Zwergenstadt?

  Phobos

-----------------------------------------------------------------------------



Re: robin hood (Guildo,  8. Jun 1999, 15:35:06):
~#! rn=Phobos rt=928847113 rg=puiz
~#! tid=928847113
Diese Aufgabe ist eindeutig nicht loesbar, weil von Leuten ueberhaupt keine
Rede war, sondern nur von Zwergen.

Guildo

-----------------------------------------------------------------------------



Re: Re: robin hood (Householder,  8. Jun 1999, 15:51:57):
~#! rn=Guildo rt=928848906 rg=puiz
~#! tid=928847113
war das eine besoffene gierige zwergenhorde oder einfach nur eine gierige
horde zwerge ?

-----------------------------------------------------------------------------



Re: robin hood (Murkes, 10. Jun 1999, 13:30:19):
~#! rn=Phobos rt=928847113 rg=puiz
~#! tid=928847113
Nach meiner Rechnung sind es 1025 Zwerge. Nur komme ich leider auf 510 Zwerge
und 515 Zwerginnen, von den Zwerginnen haben aber nur 73.57 gewonnen, die 73
machen mir keine Probleme, aber die Nachkommastellen...

Murkes, raetselt weiter.

-----------------------------------------------------------------------------



Re: robin hood (Calimera, 10. Jun 1999, 13:57:17):
~#! rn=Phobos rt=928847113 rg=puiz
~#! tid=928847113
wenn ich mich nicht vertan hab sind es 528 Maenner und 497 Frauen
also 1025 Zwerglein...

-----------------------------------------------------------------------------



Re: Re: robin hood (Hobo, 10. Jun 1999, 14:28:16):
~#! rn=Calimera rt=929015837 rg=puiz
~#! tid=928847113
Ich komme auch auf 1025 Zwerge, davon 486 Zwerge und 539 Zwerginnen ;). Also
gewinnen 81 Maenner, und 77 FRauen.

Nebenbei find' ich es gut, dass die Frauen mal mehr Geld bekommen ;)

  Hobo

-----------------------------------------------------------------------------



Re^3: robin hood (Grimman, 10. Jun 1999, 14:30:10):
~#! rn=Hobo rt=929017696 rg=puiz
~#! tid=928847113
Das die Frauen mehr Kohle kriegen, ist so eine Art Entwicklungshilfe oder
Solidaritaetszuschlag von den Maennern ;))

GrimMan --> Schmarrn

-----------------------------------------------------------------------------



Re^3: robin hood (Phobos, 10. Jun 1999, 16:04:48):
~#! rn=Hobo rt=929017696 rg=puiz
~#! tid=928847113
Also ich habe sie mal durchgezaehlt:

 990 Zwerge
  35 Zwerginnen

990 / 6 = 165;     165 * 420 = 69300
 35 / 7 =   5;       5 * 490 =  2450
                               -----
                               71750 * 2 = 143500

Stimmt, die Zwerginnen bekommen eindeutig zuviel Kohle :)

Phobos

-----------------------------------------------------------------------------



Re: Re: robin hood (Apsu, 10. Jun 1999, 18:48:13):
~#! rn=Murkes rt=929014219 rg=puiz
~#! tid=928847113
Zwergentransvestiten? :)

-----------------------------------------------------------------------------



Re^3: robin hood (Householder, 10. Jun 1999, 18:49:15):
~#! rn=Apsu rt=929033293 rg=puiz
~#! tid=928847113
sowas gibts nicht .... nur elfentransvestiten das aber dafuer wie sand am meer
...

-----------------------------------------------------------------------------



Re^4: robin hood (Grimmborn, 11. Jun 1999, 10:48:13):
~#! rn=Householder rt=929033355 rg=puiz
~#! tid=928847113
Die ganzen sog. "Loesungen" lassen eins voellig ausser acht: Der Anteil an
Zwerginnen betraegt in etwa ein Drittel, nie aber ueber 50%. Insofern ist die
ganze Aufgabe Bloedsinn und unrealistisch.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^3: robin hood (Acrimon, 11. Jun 1999, 21:57:59):
~#! rn=Hobo rt=929017696 rg=puiz
~#! tid=928847113
Hmm... also wenn ein Siebtel der Frauen 490 Muenzen und ein Sechsten der
Maenner 420 Muenzen gewinnen, dann bekommen die Frauen durchschnittlich 1/7 *
490 == 70 Muenzen und die Maenner durchschnittlich 1/6 * 420 == 70 Muenzen.
Die Frauen bekommen also ungefaehr genauso viel Geld wie die Maenner.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Nessie (Gnome, 17. Jun 1999, 21:33:07):
Ein Tourist kommt aus schottland wieder und erzaehlt daheim:
'Ich habe das Ungeheuer von Loch Ness gesehen. Glaubt mir!'

Familie: 'Tatsaechlich? Wie lang war es denn?'

'Ich stelle euch eine Aufgabe: Wenn Nessie 20 Meter und seine halbe
Laenge lang ist, wie lang ist es dann?'

Sohn: 'Natuerlich 30 Meter!'

Oder? Oder doch nicht?

Wie lang ist Nessie wirklich?

gnOme

-----------------------------------------------------------------------------



Re: Nessie (Householder, 17. Jun 1999, 22:21:12):
~#! rn=Gnome rt=929647987 rg=puiz
~#! tid=929647987
aeh 40 meter wuechd ich sagn

-----------------------------------------------------------------------------



Re: Nessie (Zino, 18. Jun 1999, 01:09:12):
~#! rn=Gnome rt=929647987 rg=puiz
~#! tid=929647987
Hmm, Aufstellen von Gleichungen zu einer Sachaufgabe und deren Loesung war
glaub ich im Mathematikunterricht in der 7. Klasse dran, wenn mich das hohe
Alter nicht truegt. Ist lange her, deswegen ist mir die Aufgabe zu schwer.

Zino (strohdumm)

-----------------------------------------------------------------------------



Re: Nessie (Atoz, 18. Jun 1999, 11:15:19):
~#! rn=Gnome rt=929647987 rg=puiz
~#! tid=929647987
Etwa 1,65 wuerd ich so schaetzen... koennten auch nur 1,60 sein... 

Oder schreibt die sich jetzt nur mit einem 's'???

Atoz - etwas verwirrt im Moment...

-----------------------------------------------------------------------------



Re: Re: Nessie (Sharia, 18. Jun 1999, 13:24:51):
~#! rn=Atoz rt=929697319 rg=puiz
~#! tid=929647987
1,65 - 1.67 wuerd ich mal sagen :) 

Sharia taetschelt Atoz

-----------------------------------------------------------------------------



Re^3: Nessie (Bambulko, 18. Jun 1999, 13:26:05):
~#! rn=Sharia rt=929705091 rg=puiz
~#! tid=929647987
Hmmm. hab ich irgendwas nicht mitbekommen, oder steh ich nur auf meiner langen
Leitung???

Ansonsten wuerde ich Householder recht geben...40m

Bambulko

-----------------------------------------------------------------------------



Re: Nessie (Hobo, 18. Jun 1999, 16:47:15):
~#! rn=Gnome rt=929647987 rg=puiz
~#! tid=929647987

Nessie hat mit 20 Metern Nessies halbe Laenge?

Ahja...


   Hobo

-----------------------------------------------------------------------------



Re^4: Nessie (Caradhras, 18. Jun 1999, 21:27:35):
~#! rn=Bambulko rt=929705165 rg=puiz
~#! tid=929647987
Jo, ich verstehe auch grade nicht, ob ich es nicht doch verstehe,
wenn ich auch fuer 40 Meter bin. Scheint doch etwas leicht zu sein. :)

    *gruebelgruebel kopfkratz*

Bergchen Caradhras - 15.003 Fuss hoch
PS: Jaja, ich weiss, ich bin nur ein Viertausender *maul* ;-)

-----------------------------------------------------------------------------



Re^5: Nessie (Gnome, 19. Jun 1999, 00:16:45):
~#! rn=Caradhras rt=929734055 rg=puiz
~#! tid=929647987
oh mann... seid doch net gleich beleidigt... :)
sie war halt recht einfach, mann muss ja nicht gleich immer die
mega-aufgaben stellen... klar, 40 m sinds.

ok, _etwas_ schwerer:

Ein Ziegelstein auf einer Waagschale befindet sich mit 3/4 eines
Ziegelsteins und einem Gewicht von 3/4 kg auf der anderen
Waagschale im Gleichgewicht. Wie schwer ist der Ziegelstein?

gnOme

-----------------------------------------------------------------------------



Re^6: Nessie (Kobayashi, 19. Jun 1999, 09:44:12):
~#! rn=Gnome rt=929744205 rg=puiz
~#! tid=929647987
Wieso schwerer? 3kg ....
,

-----------------------------------------------------------------------------



zauberwuerfel (Phobos, 24. Jun 1999, 18:16:15):

Neulich ist mir mein Zauberwuerfel runtergefallen, und dabei sind
leider ein paar kleine Wuerfel abgebrochen. Ich habe den Rest hier
mal aufgemalt. Linien bedeuten dabei unterschiedliche raeumliche
Tiefe. Wie sieht die sechste Seite aus?

    +---+---+           +---+---+---+       +---+---+---+
    |   |   |           |   |   |   |       |   |   |   |
    |---+---+---+       |   |   |   |       |   |   |   |
    |   |   |   |       |   |   |   |       |   |   |   |
    +---+---+---+       |   +---+---+       +---+   +---+
        |   |           |   |   |           |       |
        +---+           +---+---+           +-------+

    +---+---+---+       +---+---+---+
    |   |   |   |       |   |   |   |
    |   |   |   |       |   |   |   |
    |   |   |   |       |   |   |   |            ???
    +---+---+   |       +---+   +---+
        |   |   |           |       |
        +---+---+           +-------+


  Phobos

-----------------------------------------------------------------------------



Tresor (Matis, 24. Jun 1999, 18:20:06):
Ein Tresor hat ein 3-stelliges Schloss, an jeder Stelle kann man
eine der Ziffern 0 bis 9 einstellen. Leider ist das Schloss defekt,
so dass der Tresor bereits bei 2 richtigen Ziffern aufgeht.
Wieviele Kominationen muss man wohl mindestens austesten, um den
Tresor mit Sicherheit aufzubekommen.

Matis (weiss es selber nicht so genau ...)

-----------------------------------------------------------------------------



Re: Tresor (Phobos, 24. Jun 1999, 21:24:33):
~#! rn=Matis rt=930241206 rg=puiz
~#! tid=930241206
Hmm, ne offensichtliche obere Schranke ist 100: z.B. 000 .. 099
Im Moment seh ich da noch keine Verbesserungsmoeglichkeit

Phobos  -  geht heute nacht mal bei seiner Bank ueben

-----------------------------------------------------------------------------



Re: Re: Tresor (Guildo, 25. Jun 1999, 09:17:46):
~#! rn=Phobos rt=930252273 rg=puiz
~#! tid=930241206
Und eine offensichtliche untere Schranke ist 36, denn jede einzelne
Kombination "erschlaegt" 28 verschiedene Kombinationen, und 35 * 28 < 1000.
Gesucht ist hier also eine minimale "ueberdeckende" (heisst das so?) Teilmenge
in dem Graphen, dessen Punkte die Zahlen 000 bis 999 sind, und in dem zwei
Punkte benachbart sind, wenn sie Hamming-Abstand 1 haben.
Graphentheoretiker, bitte ausrechnen!

Gruss,
Guildo
------------------------------------------------
ceterum censeo tarkum reubem esse readligandam.


-----------------------------------------------------------------------------



Re^3: Tresor (Guard, 25. Jun 1999, 10:23:45):
~#! rn=Guildo rt=930295066 rg=puiz
~#! tid=930241206
hi,

wenn ich mich nich verlesen hab ist doch gar nicht klar, welche beiden der
drei raeder den tresor oeffnet? oder is das egal? wenn nicht gibbet drei
2er-kombis der raeder und a 100 versuche macht 300 maximum oder?

guard

-----------------------------------------------------------------------------



Re^4: Tresor (Grimmborn, 27. Jun 1999, 13:33:03):
~#! rn=Guard rt=930299025 rg=puiz
~#! tid=930241206
Es gibt 1000 Kombinationen. Davon oeffnen 30 den Tresor (jeweils zwei
festhalten und das dritte Rad in 10 beliebige Positionen setzen). Also muss
ich mindestens 971 Versuche machen um mit Sicherheit den Tresor zu oeffnen.

Ich sehe wirklich nicht wo da das Problem ist.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Tresor (Gnome, 27. Jun 1999, 16:29:43):
~#! rn=Grimmborn rt=930483183 rg=puiz
~#! tid=930241206
das problem liegt darin, dass deine loesung falsch ist.

es sind maximal 100 kombis noetig, nicht mehr.

gnOme

-----------------------------------------------------------------------------



artikel 24 (Householder, 27. Jun 1999, 16:44:34):
~#! rn=Gnome rt=930493783 rg=puiz
~#! tid=930241206
hm ist doch dasselbe wie wenn das schloss nua 2 stellig dafuer aber nicht
defekt waere also 100 versuche 

-----------------------------------------------------------------------------



Re: artikel 24 (Mucks, 28. Jun 1999, 10:43:13):
~#! rn=Householder rt=930494674 rg=puiz
~#! tid=930241206
Loesung mit 75 Versuchen:
a a b, wobei 0<=a<=4, 0<=b<=9  (50 Versuche)
c d 0, wobei 5<=c<=9, 5<=d<=9  (25 Versuche)
(die erste Zeile deckt alle Moeglichkeiten ab, die 0..4 an erster oder zweiter
Stelle haben; die zweite Zeile deckt alle Moeglichkeiten ab, die 5..9 an
erster und zweiter Stelle haben, also den Rest)
Ich weiss nicht, ob es noch bessere Loesungen gibt.
                                                             Mucks

-----------------------------------------------------------------------------



Re: Re: artikel 24 (Hobo, 28. Jun 1999, 10:47:51):
~#! rn=Mucks rt=930559393 rg=puiz
~#! tid=930241206
Aeh, Mucks...

Wo ist da z.B. 73 drin?

 Hobo - ist auch fr die 100 Versuche (bzw. 99, weil eine Kombi ja schon
eingestellt ist ;))

-----------------------------------------------------------------------------



Re^3: artikel 24 (Guard, 28. Jun 1999, 10:54:57):
~#! rn=Hobo rt=930559671 rg=puiz
~#! tid=930241206
Wo stand denn , das die ersten beiden Raeder das Schloss oeffnen? Es stand nur
da , das BEREITS ZWEI RAEDER den Tresor oeffnen! Welche, ist ueberhaupt nicht
klar! und es gibt DREI 2-Rad-Kombinationen bei 3 Raeder! also 3*99
Moeglichkeiten (die voreingestellte beruecksichtigend)

Guard

-----------------------------------------------------------------------------



Re^4: artikel 24 (Dieder, 28. Jun 1999, 11:00:49):
~#! rn=Guard rt=930560097 rg=puiz
~#! tid=930241206
hm, von 00-99 sinds 100 Moeglichkeiten.

Die bereits eingestellte beruecksichtigt, komme ich auf
(3*100) - 1
Moeglichkeiten.

Dieder

-----------------------------------------------------------------------------



Re^5: artikel 24 (Guard, 28. Jun 1999, 11:02:33):
~#! rn=Dieder rt=930560449 rg=puiz
~#! tid=930241206
ja, aber es sind ja 3 Positionen voreingestellt und fuer jede der 3
radkombinationen is eine voreinstellung dabei, bedeutet fuer jede kombination
brauche ich eine einstellung weniger -> 3*99 :)

Guard

-----------------------------------------------------------------------------



Re^6: artikel 24 (Dieder, 28. Jun 1999, 11:05:51):
~#! rn=Guard rt=930560553 rg=puiz
~#! tid=930241206
hm, ueberzeugt *tatter*.

andere Vorschlaege? ;)

Dieder, eroeffnet die Raterunde.

-----------------------------------------------------------------------------



oh je (Vector, 28. Jun 1999, 11:12:42):
Also, mal zu denen, die hier mit 3*99 (-1) argumentieren:
Wenn ihr schon so ,aehm einfache, schlussfolgerungen macht, dann bedenkt
wenigstens, dass dann auch mehrere Kombinationen zur Oeffnung des tresors
fuehren. z.b. reicht es, wenn das 1.+2. rad richtig stehen. Entsprechend dann
auch 1.3. , 2.3. etc.... also eine offensichtliche Schranke ist nun wirklich
100 (bzw 100-1).

-----------------------------------------------------------------------------



uebrigens (Vector, 28. Jun 1999, 11:16:50):
Wenn ihr euch an Matis Frage erinnert, dann ist die korrekte Antwort 1 (bzw
1-1) :)

-----------------------------------------------------------------------------



Re: oh je (Guard, 28. Jun 1999, 11:20:56):
~#! rn=Vector rt=930561162 rg=puiz
~#! tid=930561162
du gehst aber davon aus das irgendeine Kombination von 2 Raedern den Tresor
oeffnet. steht aber nich in der Aufgabe. deshalb wollte man vom worst case
ausgehen. oder?

Guard (is ja vielleicht betriebsblind und will ueberzeugt werden :))

-----------------------------------------------------------------------------



Re: oh je (Hobo, 28. Jun 1999, 11:22:46):
~#! rn=Vector rt=930561162 rg=puiz
~#! tid=930561162
Aus der Fragestellung geht nicht klar hervor, ob zwei bestimmte oder zwei
beliebige Raeder richtig eingestellt sein muessen, um den Tresor zu oeffnen.
Wenn es zwei beliebige sind, ist wohl die 99er Loesung richtig. Wenn es aber
zwei bestimmte sind, ist es nicht mehr 3*99 sonder,n 3*100 -1. Schliesslich
habe ich nur eine Kombination vorgegeben und nicht 3! Zur Erklaerung: Wenn ich
versuche, von einer Position ausgehend, alle 1000 moegliche Kombinationen
einzustellen, muss ich 999 mal das Rad verdrehen und nicht 997 mal.
Allerdings gibt es wohl eine schnellere Loesung, wenn es zwei bestimmte Raeder
sein muessen (Ich denk da nochmal drueber nach)

 Hobo - gibt dem greisen Dieder recht

-----------------------------------------------------------------------------



Re: Tresor (Dieder, 28. Jun 1999, 11:23:26):
~#! rn=Matis rt=930241206 rg=puiz
~#! tid=930241206
ein richtiger Profi (z.B. Einbrecher ;)) dreht alle Raeder einmal im Kreis,
lokalisiert damit sofort das defekte.
Danach braucht er noch max. 20 Moeglichkeiten (Hoerrohr an Tresor, 1. Rad
solange drehen bis leise klickt, dann das gleiche nochmal fuers 2. Rad
*grins*).

Da ich jedoch nicht zu o.g. Berufsgruppe gehoere, mach ich das auf Chaotenart:
Man nehme die Sprengladung, die normalerweise fuer den Wolpieclub gedacht ist,
und *bumm* ;))

Dieder, satanisch kichernd

-----------------------------------------------------------------------------



Re: uebrigens (Hobo, 28. Jun 1999, 11:26:21):
~#! rn=Vector rt=930561410 rg=puiz
~#! tid=930561410
Wie kommst Du darauf, Vector?
  Hobo

-----------------------------------------------------------------------------



Re: Re: oh je (Guard, 28. Jun 1999, 11:28:21):
~#! rn=Hobo rt=930561766 rg=puiz
~#! tid=930561162
die eine eingestellte kombination erschlaegt aber in jeder der moeglichen
2-Rad-Kombination einen Fall, deshalb fallen 3 moeglichkeiten raus, die 1. +
2. - kombination, die 1. + 3. Kombination und die 2. + 3. kombination.
also 3*100 - 3 -> 3*99

Guard

-----------------------------------------------------------------------------



Re^3: oh je (Hobo, 28. Jun 1999, 11:43:24):
~#! rn=Guard rt=930562101 rg=puiz
~#! tid=930561162
Tja, da gibt's ne kuerzere Moeglichkeit: 99 + 89 + 81 =269 Versuche

Vorgeheen: Erste Kombination sei 0 0 0
 0 0 1
...
0 9 9 -> 99 Versuche fer 2. und 3. Rad
Fuer erstes und drittes Rad sind jetzt schon 00 - 09 raus:
 10 0 
1 0 1
...
1 0 9
2 0 0
...
9 0 9 -> 89 Versuche

Fuer 1. und 2. Rad sind jetzt scon 00-09 und alle vielfachen von 10 draussen
(durch die Einstaellungen von 1. und 3. Rad vorher.
->
119
129
...
199
210
...

-> 81 Versuche

Aehm, Wenn ich mich irgendwo vertippt habe, seht es mir nach: Ich seh naemlich
grade nicht, was ich eingebe..

  Hobo

-----------------------------------------------------------------------------



:) (Vector, 28. Jun 1999, 11:56:23):
Genau davon gehe ich aus... richtig erkannt:)
Stand nicht in der Aufgabe? sowas:) Dann erklaer mir mal, wie ich den satz
sonst interpretieren soll: Da das Schloss jedoch defekt ist, oeffnet sich der
Tresor bereits, wenn 2 Raeder richtig stehen... also ich weiss ja nicht
Guard:)

-----------------------------------------------------------------------------



Re: :) (Householder, 28. Jun 1999, 11:57:48):
~#! rn=Vector rt=930563783 rg=puiz
~#! tid=930563783
ja das hoert sich vadammt danach an, dass sich das schloss oeffnetsobald 2
beliebige numman stimmen ...

-----------------------------------------------------------------------------



Re: :) (Hobo, 28. Jun 1999, 11:58:56):
~#! rn=Vector rt=930563783 rg=puiz
~#! tid=930563783
Und  die Frage ist mal wieder: Heisst 2  zwei bestimmte oder zewi beliebige
Hobo

-----------------------------------------------------------------------------



2. versuch (Vector, 28. Jun 1999, 12:02:16):
Ein Tresor hat ein 3-stelliges Schloss, an jeder Stelle kann man
eine der Ziffern 0 bis 9 einstellen. Leider ist das Schloss defekt,
so dass der Tresor bereits bei 2 richtigen Ziffern aufgeht.
Wieviele Kominationen muss man wohl mindestens austesten, um den
Tresor mit Sicherheit aufzubekommen.

Ist fuer mich eigentlich eindeutig.
Fehlt nur noch, dass jemand ne Dieskussion anfaengt, ob 1 groesser als 0,9
Periode ist:)

-----------------------------------------------------------------------------



Re: 2. versuch (Ringor, 28. Jun 1999, 12:06:14):
~#! rn=Vector rt=930564136 rg=puiz
~#! tid=930564136
Die Antwort "1" wuerde die Frage "Wieviele Kombinationen muss man mindestens
austesten, um den Tresor aufzubekommen?" beantworten.

Gefragt war aber nach der Mindestzahl, um ihn *mit Sicherheit* aufzubekommen.

Wenn Du immer im ersten Anlauf die richtige Kombination erwischt, Respekt. Das
war aber glaube ich nicht wirklich gefragt. ;-)

Ringor

-----------------------------------------------------------------------------



Re: Re: artikel 24 (Mucks, 28. Jun 1999, 12:48:03):
~#! rn=Mucks rt=930559393 rg=puiz
~#! tid=930241206
Zwirch und mir ist eine Loesung mit 50 Versuchen eingefallen (duerfte wohl
optimal sein, fuer 2 beliebige Raeder):
3 4 4          8 9 9
2 3 4          7 8 9
1 2 4          6 7 9
0 1 4          5 6 9
4 0 4          9 5 9
2 4 3          7 9 8
1 3 3          6 8 8
0 2 3          5 7 8
4 1 3          9 6 8
3 0 3          8 5 8
1 4 2          6 9 7
0 3 2          5 8 7
4 2 2          9 7 7
3 1 2          8 6 7
2 0 2          7 5 7
0 4 1          5 9 6
4 3 1          9 8 6
3 2 1          8 7 6
2 1 1          7 6 6
1 0 1          6 5 6
4 4 0          9 9 5
3 3 0          8 8 5
2 2 0          7 7 5
1 1 0          6 6 5
0 0 0          5 5 5
(die letzte Spalte = ( erste Spalte + zweite Spalte ) modulo 5)
                                                          
                                                              Mucks

-----------------------------------------------------------------------------



Re^4: artikel 24 (Guard, 28. Jun 1999, 12:59:20):
~#! rn=Hobo rt=930567230 rg=puiz
~#! tid=930241206
ich stimme Hobo da voll und ganz zu :)

Guard (hat sich ueberzeugen lassen :))

-----------------------------------------------------------------------------



Re^4: artikel 24 (Mucks, 28. Jun 1999, 12:59:26):
~#! rn=Hobo rt=930567230 rg=puiz
~#! tid=930241206
269 wird durch 569 abgedeckt (2.te Spalte, 4.te Zeile). Jede Zahl wird genau
einmal erschlagen, nicht mehrfach. x50 wird von 440, 330, 220, 110 oder 000
erschlagen falls x<5, oder von 555, 656, 757, 858 oder 959 falls x>=5 (rechte
Spalte).
                                                            Mucks
P.S. korrektur: ERSTE spalte = (zweite Spalte + dritte Spalte) modulo 5

-----------------------------------------------------------------------------



Re^5: artikel 24 (Hobo, 28. Jun 1999, 13:01:30):
~#! rn=Mucks rt=930567566 rg=puiz
~#! tid=930241206
Jau, Mucks, dann erklaer mir doch mal bitte, wo die Zahl x50 steht...
  Hobo

-----------------------------------------------------------------------------



Re: Re: artikel 24 (Widewitt, 28. Jun 1999, 13:35:49):
~#! rn=Mucks rt=930559393 rg=puiz
~#! tid=930241206
TAch auch,

Also ich denke, ich schaffs mit 1900 Versuchen (unter der Voraussetzung, dass
es nicht egal ist, welche raeder richtig sind).
Es spricht ja nichts dagegen, immer zwei raeder gleichzeitig zu drehen!
Also drehe ich die hinteren raeder immer gleichzeitig ( a b b ).
Das waeren dann 100 Versuche, bei denen ich das erste Rad abgehakt habe.
jetzt fehlen noch die hintern beiden, wobei ich die zahlen 11 22 33 usw. ja
schon habe, also fehlen nocht 90 Versuche. 

Gruessle Widewitt

-----------------------------------------------------------------------------



Re^3: artikel 24 (Hobo, 28. Jun 1999, 13:39:29):
~#! rn=Widewitt rt=930569749 rg=puiz
~#! tid=930241206
hmm, hat was

 Hobo - ueberzeugt

-----------------------------------------------------------------------------



Re: Re: oh je (Gnome, 28. Jun 1999, 13:52:00):
~#! rn=Hobo rt=930561766 rg=puiz
~#! tid=930561162
also, bin immer noch der meinung, dass 100 versuche genuegen.
natuerlich ist davon auszugehen, dass es EGAL ist, welche der 3 raeder
nun kaputt ist. die aufgabe ist ziemlich eindeutig.

worst case: keine der voreingestelltem ziffern (natuerlich ist das auch
            ein versuch, zaehlt also mit), stimmt mit der tatsaechlichen
            kombi ueberein. eines der drei raeder koennen wir ausser acht
            lassen, da bereits 2 richtige ziffern den tresor oeffnen.
            also werden alle 100 kombis durchgegangen. leider erschlaegt
            hier _keine_ kombi eine andere, da die reihgenfolge der
            ziffern doch noch beachtet werden muss (50x != 05x).

best case: an einem der beiden raeder, welches wir _nicht_ ausser acht
           lassen, ist bereits eine richtige eingestellt. so brauchen
           wir noch maximal 10 versuche, um den tresor zu oeffnen (auch
           hier wird die voreinstellung als versuch gezaehlt).

einwaende?

gnOme

-----------------------------------------------------------------------------



Re^3: oh je (Hobo, 28. Jun 1999, 14:15:49):
~#! rn=Gnome rt=930570720 rg=puiz
~#! tid=930561162
Wenn es egal ist, welches Rad nicht stimmt, hat Mucks schon recht: 50 Versuche
reichen. Begruendung *bet, dass cut&paste klappt*
Mucks hat mich ueberzeugt. Die Loesung mit den 50 Versuchen ist richtig. Die
Zahlen, die Mucks geschrieben hat 

(Artikel 50), kann man in 6 Gruppen unterteilen (die sich teilweise
ueberschneiden):
1.		2.		3.
x00 - x04	0x0 - 0x4	00x - 04x
x10 - x14	1x0 - 1x4	10x - 14x
..		...		...
x40 - x44	4x0 - 4x4	40x - 44x

4.		5.		6.
x55 - x59	5x5 - 5x9	55x - 59x
x65 - x69	6x5 - 6x9	65x - 69x
...		...		...
x95 - x99	9x5 - 9x9	95x - 99x

Eine dreistellige Zahl xyz gehoert in eine der folgenden 8 Faelle und wird
damit von folgender Gruppe abgedeckt:

x<5 y<5 z<5 -> Gruppe 1, 2, 3
x<5 y<5 z>5 -> Gruppe 3
x<5 y>5 z<5 -> Gruppe 2
x<5 y>5 z>5 -> Gruppe 4
x>5 y<5 z<5 -> Gruppe 1
x>5 y<5 z>5 -> Gruppe 5
x>5 y>5 z<5 -> Gruppe 6
x>5 y>5 z>5 -> Gruppe 4, 5, 6

 Hobo

-----------------------------------------------------------------------------



Re^3: oh je (Widewitt, 28. Jun 1999, 16:21:20):
~#! rn=Gnome rt=930570720 rg=puiz
~#! tid=930561162
noe :)

widewitt

-----------------------------------------------------------------------------



Re^4: oh je (Matis, 28. Jun 1999, 23:09:55):
~#! rn=Widewitt rt=930579680 rg=puiz
~#! tid=930561162
So, wie ich die Aufgabe gemeint hatte (Tresor oeffnet sich, sobald
eine Kombination eingestellt wird, die an mind. 2 (beliebigen) Stellen
mit der richtigen Kombination uebereinstimmt), habe auch ich 50 als 
Loesung. Allerdings kann ich nur nachweisen, dass man mit 50 Versuchen
den Tresor aufbekommt, aber nicht, dass weniger nicht ausreichen.
Eine Moeglichkeit waere brute force mit nem Computer (wenn der Je fertig
wird, habe nicht versucht, ne Zeitabschaetzung zu machen), ich suche 
aber eigentlich einen eleganteren Nachweis.
Also, Matheasse vor.

Matis

-----------------------------------------------------------------------------



Re: zauberwuerfel (Mucks, 29. Jun 1999, 14:23:58):
~#! rn=Phobos rt=930240975 rg=puiz
~#! tid=930240975
> Neulich ist mir mein Zauberwuerfel runtergefallen, und dabei sind
> leider ein paar kleine Wuerfel abgebrochen. Ich habe den Rest hier
> mal aufgemalt. Linien bedeuten dabei unterschiedliche raeumliche
> Tiefe. Wie sieht die sechste Seite aus?

    +---+---+           +---+---+---+       +---+---+---+
    |   |   |           |   |   |   |       |   |   |   |
    |---+---+---+       |   |   |   |       |   |   |   |
    |   |   |   |       |   |   |   |       |   |   |   |
    +---+---+---+       |   +---+---+       +---+   +---+
        |   |           |   |   |           |       |   
        +---+           +---+---+           +-------+

    +---+---+---+       +---+---+---+
    |   |   |   |       |   |   |   |
    |   |   |   |       |   |   |   |
    |   |   |   |       |   |   |   |            ???
    +---+---+   |       +---+   +---+
        |   |   |           |       |
        +---+---+           +-------+

    .        .      . .   von oben schraeg:  von unten:
  .   .    . . .    .             +---+          +---+
    .        .                   /   /|          |   |
                            +---+---+---+    +---+   +---+
                           /   /   /   /|    |   |       |
                          +---+---+---+ |    +   +---+---+
                          |  /   /|   | |    |       |
                          + +---+ +   + +    +---+---+
                          | |   | |   |/
                          + +   | +---+
                          | |   | |
                          +-+   + |
                            |   |/
                            +---+
                                                           Mucks

-----------------------------------------------------------------------------



verflixte Kugel (Guard, 30. Jun 1999, 17:00:44):
wenn man am nordpol 100 km nach sueden, 100 km nach osten und 100 km nach
norden geht steht man wieder am ausgangspunkt, logisch. Gibt es noch mehr
solcher Punkte auf der Erde? Wenn ja, wo muessten sie sich befinden?

gemeint sind also punkte, bei denen man nach 100 km sueden, 100 km osten und
100 km norden wieder am ausgangspunkt steht.

Guard

-----------------------------------------------------------------------------



Re: verflixte Kugel (Bambulko, 30. Jun 1999, 17:03:44):
~#! rn=Guard rt=930754844 rg=puiz
~#! tid=930754844
Ja unendlich viele: Alle die 100km noerdlich von einem Kreis um den Suedpol
liegen, der genau 100km umfang hat...

Bambulko

-----------------------------------------------------------------------------



Re: Re: verflixte Kugel (Guard, 30. Jun 1999, 17:06:00):
~#! rn=Bambulko rt=930755024 rg=puiz
~#! tid=930754844
war wohl zu einfach :)

-----------------------------------------------------------------------------



Zahlenfolge.... (Bambulko, 30. Jun 1999, 17:06:54):

Wer erkennt den Sinn der folgenden Folge:

8 3 1 5 9 6 7 2

Bambulko

-----------------------------------------------------------------------------



Re: Zahlenfolge.... (Alboin, 30. Jun 1999, 17:30:48):
~#! rn=Bambulko rt=930755214 rg=puiz
~#! tid=930755214
kann es sein das die Folge  nicht korrekt ist und eine Zahl fehlt? Also meiner
Meinung nach muesste es 

8 3 4 1 5 9 6 7 2 

heissen

Alboin

-----------------------------------------------------------------------------



Re: Re: Zahlenfolge.... (Bambulko, 30. Jun 1999, 17:35:50):
~#! rn=Alboin rt=930756648 rg=puiz
~#! tid=930755214
Huch, da fehlt wirklich eine Zahl....aber wo anders...

Also nochmal:

8 3 1 5 9 6 7 4 2 

Sorry, fuer den fehler.....

Bambulko

-----------------------------------------------------------------------------



Re^3: Zahlenfolge.... (Phobos, 30. Jun 1999, 17:59:49):
~#! rn=Bambulko rt=930756950 rg=puiz
~#! tid=930755214
ich bau mal ein paar mehr ein:

8 3 1 11 5 9 0 6 7 4 10 2 12

phobos

-----------------------------------------------------------------------------



Re: Re: verflixte Kugel (Alpha, 30. Jun 1999, 19:48:46):
~#! rn=Bambulko rt=930755024 rg=puiz
~#! tid=930754844
Na da gibts ja noch alle Kreise mit Umfang 100/n wobei n irgendeine
natuerliche Zahl ist....
Btw...wenn man auf dem Suedpol nach osten geht..bleibt man dann auf der Stelle
stehen?
Alpha.

-----------------------------------------------------------------------------



Zahlenfolge II (Yendi, 30. Jun 1999, 19:57:18):

Wie waere es hiermit:

1, 2, 4, 6, 3, 5, ?

(OK, der ist leichter, wenn man ihn im Originalzusammenhang sieht.
 Falls ihn in einer Woche noch keiner (korrekt) geloest hat, poste ich einen
 kleinen Tip)

YTY


-----------------------------------------------------------------------------



Re^4: Zahlenfolge.... (Paracelsus, 30. Jun 1999, 21:13:14):
~#! rn=Phobos rt=930758389 rg=puiz
~#! tid=930755214
Also einen SINN hat eine Zahlenfolge eigentlich nur, wenn es eine
Telephonnummer, eine Postleitzahl oder etwas aehnliches ist, oder?
Oder geht es darum, wie die Folge weitergeht? Und wohin wird uns
diese Folge fuehren? Und was ist der Sinn dieser Frage?

Paracelsus - Fragen ueber Fragen.
]:->

-----------------------------------------------------------------------------



Re: Zahlenfolge.... (Morgoth,  1. Jul 1999, 08:04:26):
~#! rn=Bambulko rt=930755214 rg=puiz
~#! tid=930755214
Nette telefonnummer ;-)

M*

-----------------------------------------------------------------------------



Re^3: verflixte Kugel (Vector,  1. Jul 1999, 09:13:45):
~#! rn=Alpha rt=930764926 rg=puiz
~#! tid=930754844
Die Frage stellt sich gar nicht erst, Alpha, da man am Suedpol nicht nach
osten gehen kann. (Besuch doch mal den Weihnachtsmann am Nordpol und schau dir
die Richtungen an).

-----------------------------------------------------------------------------



Re^3: verflixte Kugel (Householder,  1. Jul 1999, 11:23:18):
~#! rn=Alpha rt=930764926 rg=puiz
~#! tid=930754844
klar der suedpol is der punkt von dem aus man nua nach norden gehen kann :-)

-----------------------------------------------------------------------------



Zahlenfolge III (Grimmborn,  1. Jul 1999, 14:01:13):
Ich hab hier auch noch eine Zahlenfolge:

35 46 70 71 

Eine Zahl fehlt noch, das verrate ich schonmal, damits nicht zu schwer ist. 

Grimmborn der Atheist

-----------------------------------------------------------------------------



test (Stopdenbus,  1. Jul 1999, 16:14:29):
Ich komm da grad von nem Test und zwei aufgaben sind bei mir haengen
geblieben, mich wuerd mal eure Meinung interessieren:
Also, zuerst die etwas leichtere Aufgabe:
Da hats nen Glas mit Pillen, man soll rausfinden, wieviel Pillen drin sind:
wenn man taeglich 3 nimmt, fehlt am ende eine,
nimmt man 4, sinds 2,
bei 5 fehlen 3 und
bei 6 fehlen 4.
Durch naives Denken bin ich ma auf 2 Pillen im glas gekommen, wer hat ne
bessere Loesung und vor allem der Loesungsweg interessiert :)

2. aufgabe:
Eine Segelregatte, die Strecke ist nen gleichschenkliges Dreieck, sprich
alle 3 Seiten gleich lang. Eine Yacht faehrt die ersten 3/4 der gesamt-
strecke in 3 1/2h und die letzten in 4 1/2h. Fuer die mittlere Teilstrecke
braucht sie 10 min laenger wie fuer die erste.
Unter der Annahme, das das Schiff immer mit der gleichen Geschwindigkeit
faehrt, ist es moeglich die gesamtzeit fuer den Kurs zu berechnen ?
Meine antwort war "nein" auch wenn die Begruendung etwas konfus war. 
Was mich verwirrt hat, war der Text "Die ersten 3/4 der Gesamtstrecke und
das letzte 3/4 in blabla Stunden" War jetzt mit dem letzten 3/4 stueck 
3/4 vom letzten 1/4 gemeint, oder was ? Die betreuerin wollt sich darueber
net  auslassen ...

Viel Spass
  Stoppi

-----------------------------------------------------------------------------



Re: test (Paracelsus,  1. Jul 1999, 16:15:57):
~#! rn=Stopdenbus rt=930838469 rg=puiz
~#! tid=930838469
-> Aufgabe 2
Das ist dann aber ein gleichseitiges Dreieck

Para*.

-----------------------------------------------------------------------------



Re: Re: test (Stopdenbus,  1. Jul 1999, 16:37:11):
~#! rn=Paracelsus rt=930838557 rg=puiz
~#! tid=930838469
mein ich ja :)

Stoppi

-----------------------------------------------------------------------------



Re: test (Zino,  1. Jul 1999, 17:31:30):
~#! rn=Stopdenbus rt=930838469 rg=puiz
~#! tid=930838469
1. Aufgabe
Alle Zahlen, die bei der Division durch 3, 4, 5 und 6 den Rest 2 lassen,
sind Loesungen dieser Aufgabe. Das kgV von 3, 4, 5 und 6 ist 60, demnach
erfuellen die Loesungen die Gleichung n=60m+2, die ersten Zahlen sind also
2, 62, 122, 182 usw.

Mahatma

-----------------------------------------------------------------------------



Re: Re: test (Grimmborn,  1. Jul 1999, 21:19:51):
~#! rn=Zino rt=930843090 rg=puiz
~#! tid=930838469
Ich nehm mal zu Aufgabe 2 die wesentlichen Informationen raus:
- Das Schiff faehrt mit konstanter Geschwindigkeit
- Das Schiff braucht fuer 3/4 der Strecke 3 1/2 Stunden

Damit braucht es fuer die ganze Strecke 4/3 x 3 1/2 Stunden, egal ob es ein
Dreieck, ein Kreis oder ein Ikosaeder ist.
Oder hab ich da was uebersehen?

GdA

-----------------------------------------------------------------------------



Re^3: test (Paracelsus,  1. Jul 1999, 21:22:18):
~#! rn=Grimmborn rt=930856791 rg=puiz
~#! tid=930838469
Ja, hast Du: Es ist eine Segelregatta. Der Wind wird niemals so wehen, dass
das Schiff aus allen drei "Dreiecksseiten" die gleiche Geschwindigkeit
hat. Die Aufgabe ist also voellig unrealistisch ;)

Para*

-----------------------------------------------------------------------------



Re^4: test (Grimmborn,  1. Jul 1999, 23:24:44):
~#! rn=Paracelsus rt=930856938 rg=puiz
~#! tid=930838469
Noch schlimmer: Beim Kreuzen faehrt man nicht nur nicht geradeaus, sondern
muss auch noch die Drift beruecksichtigen. Aber fuer inkompetente
Aufgabensteller kann ich ja nun nichts...

GdA

-----------------------------------------------------------------------------



Re: Zahlenfolge.... (Willi,  2. Jul 1999, 09:30:18):
~#! rn=Bambulko rt=930755214 rg=puiz
~#! tid=930755214
erhoehe spieler
Mist - mein Passwort :((

-----------------------------------------------------------------------------



Re: Zahlenfolge III (Grimmborn,  2. Jul 1999, 10:33:26):
~#! rn=Grimmborn rt=930830473 rg=puiz
~#! tid=930830473
Hmm, verstehe nicht was daran so schwer war. Hier also die Loesung, gesucht
war die Fortsetzung der Zahlenfolge 35 46 70 71. Die Loesung lautet natuerlich
75. 

Grimmborn der Atheist. Schwer enttaeuscht.

-----------------------------------------------------------------------------



Re: Re: Zahlenfolge III (Dieder,  2. Jul 1999, 10:35:37):
~#! rn=Grimmborn rt=930904406 rg=puiz
~#! tid=930830473
und nach welchem System ging das jetzt?

Dieder, wohl auf der Leitung stehend.

-----------------------------------------------------------------------------



Re^3: Zahlenfolge III (Boing,  2. Jul 1999, 10:44:25):
~#! rn=Dieder rt=930904537 rg=puiz
~#! tid=930830473
Bei diesen Raetseln ist immer JEDE zahl richtig, weil man immer ein
Polynom mit Grad n+1 durch die Folge legen kann.
  Boing

-----------------------------------------------------------------------------



Re^3: Zahlenfolge III (Grimmborn,  2. Jul 1999, 10:44:31):
~#! rn=Dieder rt=930904537 rg=puiz
~#! tid=930830473
Das sind die Geburtsjahre meiner Familie, in zeitlicher Reihenfolge.

Grimm"das war doch ganz einfach"born

-----------------------------------------------------------------------------



Re^4: Zahlenfolge III (Guildo,  2. Jul 1999, 13:39:42):
~#! rn=Grimmborn rt=930905071 rg=puiz
~#! tid=930830473
Und welcher bist Du? Die 35?

Gruss,
Guildo

-----------------------------------------------------------------------------



Re: test (Hobo,  2. Jul 1999, 15:42:43):
~#! rn=Stopdenbus rt=930838469 rg=puiz
~#! tid=930838469
Zu Aufgabe 2:
Die Gesamtzeit fuer den Kurs laesst sich nicht berechnen, da die
Aufgabenstellung fehlerhaft oder die Angaben falsch sind:
1. gleiche Gschwindigkeit
2. 3/4 Teilstrecke in 3.5 Stunden, Restsrecke oder hinteres 3/4 oder wie auch
immer (jedenfalls 2. STrecke <= 1. Strecke) in 4.5 Stunden
-> Widerspruch: Geschwindigkeit = Strecke/Zeit.

-----------------------------------------------------------------------------



Re: Re: test (Acrimon,  4. Jul 1999, 04:53:59):
~#! rn=Hobo rt=930922963 rg=puiz
~#! tid=930838469
Vermutlich war gemeint:
1. im Bezugssystem des Windes gleiche Bootgeschwindigkeit
2. im Bezugssystem der Welt 3/4 der Teilstrecke in [usw.]
Dann gibts keinen Widerspruch mehr.

Acrimon, der Rote Ritter

-----------------------------------------------------------------------------



Raetsel (Streawkceur,  4. Jul 1999, 14:15:11):

      +/%!i.20

Was ist das?

rr

-----------------------------------------------------------------------------



Re: Raetsel (Hobo,  5. Jul 1999, 09:23:14):
~#! rn=Streawkceur rt=931090511 rg=puiz
~#! tid=931090511
Fehlermeldung von WinNT?

 Hobo

-----------------------------------------------------------------------------



Re^4: test (Phobos,  6. Jul 1999, 15:18:12):
~#! rn=Zino rt=931259118 rg=puiz
~#! tid=930838469

Hmm, mal ne Frage an die Zahlentheoretiker unter uns:
Gibt es eine verbindliche Definition fuer Modulo-Rechnung bei negativen
Zahlen?
Ich bevorzuge die Sichtweise, dass alle Zahlen im Abstand k denselben
Rest haben bei Division durch k, d.h.

 -4, -1, 2, 5  haben den Rest 2 bei Division durch 3.

In C ist es so, dass der Rest von -k gleich dem Rest von k ist, was beim
Rechnen zu Problemen fuehrt, wenn man sich in der Naehe von 0 bewegt.

Hat da jemand gesicherte Kenntnisse?


Phobos

-----------------------------------------------------------------------------



Re^5: test (Rochus,  6. Jul 1999, 15:25:34):
~#! rn=Phobos rt=931267092 rg=puiz
~#! tid=930838469
Ueblich ist eigentlich
  a mod n = r
mit
  a = q*n+r und 0<=r<n

Der %-Operator in C weicht von dieser Konvention bei negativen Zahlen ab.

-----------------------------------------------------------------------------



Re^6: test (Phobos,  6. Jul 1999, 15:44:27):
~#! rn=Rochus rt=931267534 rg=puiz
~#! tid=930838469
Jo. Ich benutze immer:

int  mod (int x, int y) {
  return  (x<0) ? (y+(x%y))%y : x%y;
}


Phobos

-----------------------------------------------------------------------------



Re^5: test (Pra,  6. Jul 1999, 15:55:46):
~#! rn=Phobos rt=931267092 rg=puiz
~#! tid=930838469
D.E.Knuth definiert in The Art of Programming I:

x mod y := x - y/floor(x/y), fuer y != 0; x mod 0 := x.  

Damit ist Deine Annahme bestaetigt. Z.B. ist -2 mod 3 = 1.

Die Definition gilt uebrigens fuer reelle Zahlen.

Pra. Blaetternd.

-----------------------------------------------------------------------------



Re^6: test (Phobos,  6. Jul 1999, 15:58:03):
~#! rn=Pra rt=931269346 rg=puiz
~#! tid=930838469
Hmm, macht Modulo-Rechnung auf reelen Zahlen ueberhaupt Sinn? Pi Rest e? :)

Phobos

-----------------------------------------------------------------------------



Re^7: test (Rochus,  6. Jul 1999, 16:04:48):
~#! rn=Phobos rt=931269483 rg=puiz
~#! tid=930838469
Ja, es macht Sinn.
  a mod n = r mit a = qn+r, 0<=r<n, q ganzzahlig
ist fuer reele a,n ebenso definierbar wie fuer ganze Zahlen.

Und jetzt ne Aufgabe fuer Fortgeschrittene:
Macht e^A, wobei A eine Matrix ist Sinn? ;-)

-----------------------------------------------------------------------------



Re^7: test (Pra,  6. Jul 1999, 16:05:34):
~#! rn=Phobos rt=931269483 rg=puiz
~#! tid=930838469
Was heisst in der Mathematik schon 'Das macht Sinn.' ?
Nimm es als gegeben hin (oder als 'definiert') und suche Anwendungen.

Uebrigens: Auch die Fakultaet ( n! ) ist fuer reelle Zahlen definiert...

Pra.

-----------------------------------------------------------------------------



Re^8: test (Rochus,  6. Jul 1999, 16:19:03):
~#! rn=Pra rt=931269934 rg=puiz
~#! tid=930838469
Hmm, nicht ganz richtig. Durch die Definition
  0!:=1, (n+1)!:=(n+1)*n!
ist die Fakultaet noch nicht eindeutig fuer alle reellen Zahlen definiert,
jedoch ist die Gamma-Funktion eine Fortsetzung der Fakultaet auf
den reellen Zahlen (und wenn ich mich nicht irre die einzige
STETIGE Fortsetzung, die die Gleichung f(x+1)=(x+1)f(x) erfuellt,
(mit f(0)=1) das muesste ich jedoch in meinem Infini-II-Script nachschlagen)
Da gibt es noch irgendwo ne Abweichung um 1 zwischen Fakultaet und
Gamma-Funktion, ich habe jedoch nicht mehr im Kopf ob bei Argument
oder bei Wert und in welche Richtung :)
Und fuer negative Werte sieht die Gamma-Funktion ziemlich wild aus ;-)


  Rochus

-----------------------------------------------------------------------------



Re^9: test (Pra,  6. Jul 1999, 16:31:38):
~#! rn=Rochus rt=931270743 rg=puiz
~#! tid=930838469
Jetzt wirds langsam wirklich off-topic :-)

yepp, die Gamma-Funktion kommt der Definition der Fakultaet fuer
reelle Zahlen nahe. Euler hat wohl die Fakultaet fuer reelle Zahlen
definiert, und Legendre hat spaeter die Gamma-Funktion entwickelt, mit
Hilfe derer sich Eulers Definition wohl auch ausdruecken laesst. 
Die Fakultaet ist auch nicht fuer _alle_ reellen Zahlen definiert. Fuer
negative ganze Zahlen ist sie undefiniert bzw. +/-unendlich.

Pra.

-----------------------------------------------------------------------------



Re^10: test (Grimmborn,  6. Jul 1999, 16:34:18):
~#! rn=Pra rt=931271498 rg=puiz
~#! tid=930838469
Ihr koennt mich ja schlagen, aber war gamma nicht eigentlich der Winkel der
der Seite c gegenueberliegt? Und was genau hat der jetzt fuer eine Funktion,
die an (welchen?) Fakultaeten als reell angesehen wird? Und wo genau kommen da
die Eulen ins Spiel?
Bin verwirrt. Bitte um Aufklaerung.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^11: test (Rochus,  6. Jul 1999, 16:42:16):
~#! rn=Grimmborn rt=931271658 rg=puiz
~#! tid=930838469
Der Winkel wird aber ueblicherweise mit einem kleinen Gamma bezeichnet,
fuer die Gamma-Funktion verwendet man das grosse Gamma :)
Die Gamma-Funktion ist folgendermassen definiert:
  Gamma(x) = Integral (von 0 bis unendlich) t^(x-1) e^(-t) dt
Viel Spass beim Ausrechnen ;-)

  Rochus

-----------------------------------------------------------------------------



Re^12: test (Grimmborn,  6. Jul 1999, 16:44:43):
~#! rn=Rochus rt=931272136 rg=puiz
~#! tid=930838469
Das Ausrechnen kann so schwer nicht sein, da ist ja nur ein x drin. Der Kram
wird also immer groesser, damit ist das Integral sicher unendlich.
Das war ja einfach, hab ich trotzdem was gewonnen?

GdA

-----------------------------------------------------------------------------



Re^10: test (Apsu,  6. Jul 1999, 16:47:33):
~#! rn=Pra rt=931271498 rg=puiz
~#! tid=930838469
Die Gamma-Funktion ist per analytischer Fortsetzung sogar fuer alle komplexen
Zahlen definiert mit Asnahme von {0,-1,-2,-3,...} und besitzt an den stellen
Pole lediglich erster Ordnung...

Apsu

-----------------------------------------------------------------------------



Re^13: test (Householder,  6. Jul 1999, 16:48:41):
~#! rn=Grimmborn rt=931272283 rg=puiz
~#! tid=930838469
hm integriert wird aba ueba t 
HH auch mal klugscheissend

-----------------------------------------------------------------------------



Re^13: test (Grimmborn,  6. Jul 1999, 16:52:23):
~#! rn=Grimmborn rt=931272283 rg=puiz
~#! tid=930838469
Rochus behauptet gerade dass er das anders gemeint habe, dass t sich
veraendern wuerde. Natuerlich ist das an den Haaren herbeigezogen, weil es um
Mathematik geht und da veraendert sich immer x, vielleicht noch y und z, aber
niemals t. Wenn sich andere Buchstaben veraendern ist das dann Physik oder
sowas.

Ich denke, Rochus ist einfach nur ein schlechter Verlierer.

Grimmborn der Atheist hat in der Schule aufgepasst, jawoll!

-----------------------------------------------------------------------------



Re^14: test (Householder,  6. Jul 1999, 16:54:04):
~#! rn=Grimmborn rt=931272743 rg=puiz
~#! tid=930838469
dabei hatte doch sorgfaeltigaweise noch ein "dt" hinta das integral geschriebn
:-) 

-----------------------------------------------------------------------------



Re^15: test (Grimmborn,  6. Jul 1999, 16:56:02):
~#! rn=Householder rt=931272844 rg=puiz
~#! tid=930838469
Ob er am Ende noch zwei Konstanten multipliziert werden oder nicht ist ja
nicht mein Problem, a^(x-1) waechst da locker drueber weg.

GdA

-----------------------------------------------------------------------------



Re^16: test (Anatol,  7. Jul 1999, 07:21:41):
~#! rn=Grimmborn rt=931272962 rg=puiz
~#! tid=930838469
Koennte man Spielern, die einen besonders dummen Tod gestorben sind, nicht
wahllos Artikel aus dieser Rubrik in die Sequenz packen? Ich kann mir kaum
eine haertere Strafe vorstellen... ;)

Anatol


-----------------------------------------------------------------------------



Re^17: test (Householder,  7. Jul 1999, 11:03:36):
~#! rn=Anatol rt=931324901 rg=puiz
~#! tid=930838469
das waer geil
besondas der letzte artikel (und diesa hier natuerlich auch)
HH sich die haende reibend

-----------------------------------------------------------------------------



was ist das? (Phobos,  8. Jul 1999, 14:50:18):
Grad gefunden:  Was ist das?

1. -O-
2. -O-O-
3.
   |-O
   |-O
   |-O


Phobos

-----------------------------------------------------------------------------



Re: was ist das? (Gnome,  8. Jul 1999, 14:51:50):
~#! rn=Phobos rt=931438218 rg=puiz
~#! tid=931438218
1. ein chinese beim radfahren
2. 2 chinesen aufm tandem
3. *zuck* (was aehnliches ;-)

gnOme

-----------------------------------------------------------------------------



Re: Re: was ist das? (Pra,  8. Jul 1999, 15:07:34):
~#! rn=Gnome rt=931438310 rg=puiz
~#! tid=931438218
3. wird sein: 3 Chinesen beim Pinkeln an 'ner hauswand.

Pra.

-----------------------------------------------------------------------------



Re: Zahlenfolge II (Yendi, 16. Jul 1999, 12:56:11):
~#! rn=Yendi rt=930765438 rg=puiz
~#! tid=930765438
Sorry, habe den Tip voellig vergessen:

Die Folge war in einer _franzoesischen_ Mensabroschuere erschienen.

Na, jetzt ist es doch einfach, oder?

YTY


-----------------------------------------------------------------------------



fehlersuche (Vector, 22. Jul 1999, 14:53:48):
 Wo ist den Fehler? (gruebel)

       4- 10    =   9- 15
      2*2 -2*5  =  3*3 -3*5
  2*2 -2*5 +25/4= 3*3 -3*5 +25/4
  (2-5/2)(hoch2)= (3-5/2)(hoch2)
              2 = 3



-----------------------------------------------------------------------------



Re: fehlersuche (Rochus, 22. Jul 1999, 14:59:08):
~#! rn=Vector rt=932648028 rg=puiz
~#! tid=932648028
(-1/2)^2 = (1/2)^2, daraus folgt nicht -1=1.

-----------------------------------------------------------------------------



Re: Re: fehlersuche (Hobo, 22. Jul 1999, 14:59:54):
~#! rn=Rochus rt=932648348 rg=puiz
~#! tid=932648028
in der frage :)

-----------------------------------------------------------------------------



Re^3: fehlersuche (Rochus, 22. Jul 1999, 15:00:52):
~#! rn=Hobo rt=932648394 rg=puiz
~#! tid=932648028
Wenn Du aufmerksam gelesen haettest, waere
Dir aufgefallen, dass das die vorletzte Gleichung
in der Frage war.

-----------------------------------------------------------------------------



Re: fehlersuche (Householder, 22. Jul 1999, 15:03:29):
~#! rn=Vector rt=932648028 rg=puiz
~#! tid=932648028
kroetige frage

-----------------------------------------------------------------------------



welches wort? (Phobos,  5. Aug 1999, 13:34:40):

Welches Wort ist hier dargestellt ...

   +---------+   +---------+   +---------+   +---------+   +---------+
   |   22    |   |    21   |   |   11    |   |    18   |   |    1    |
   +---------+   +---------+   +---------+   +---------+   +---------+
   | o     o |   | o o o   |   |    o    |   | o o o o |   | o o o   |
   |         |   | o     o |   |         |   |         |   | o     o |
   |         |   | o o o   |   |    o    |   | o o     |   | o o o   |
   |         |   | o     o |   |         |   |         |   | o       |
   |    o    |   | o     o |   |    o    |   | o o o o |   | o       |
   +---------+   +---------+   +---------+   +---------+   +---------+


... wenn die folgenden Zeichen 'ES' bedeuten?

   +---------+   +---------+
   |    5    |   |   25    |
   +---------+   +---------+
   | o  o  o |   |   o  o  |
   |         |   | o       |
   | o  o    |   |    o    |
   |         |   |       o |
   | o  o  o |   |  o  o   |
   +---------+   +---------+

Phobos

-----------------------------------------------------------------------------



Re: welches wort? (Bambi,  5. Aug 1999, 15:27:19):
~#! rn=Phobos rt=933852880 rg=puiz
~#! tid=933852880
preis?

-----------------------------------------------------------------------------



Re: Re: welches wort? (Phobos,  6. Aug 1999, 11:37:42):
~#! rn=Bambi rt=933859639 rg=puiz
~#! tid=933852880
nope

-----------------------------------------------------------------------------



Zahlenreihe (Yendi,  6. Aug 1999, 13:35:48):
3, 5, 9, 13, 21, 25, 33, 37, 45, 57, 61, 73, 81, ....

Viel Spass!

YTY




-----------------------------------------------------------------------------



Re: Zahlenreihe (Phobos,  6. Aug 1999, 20:08:21):
~#! rn=Yendi rt=933939348 rg=puiz
~#! tid=933939348
 ..., 85, 93, 105, ...

Phobos

-----------------------------------------------------------------------------



DOS-Batch Puiz (Snuggle, 19. Aug 1999, 21:35:45):
Hi Ihrs,

schaut mal nach hardsoftware, artikel 14 glaub ich.

snuggle, von den scheintoten auferstanden

-----------------------------------------------------------------------------



Kryptographie (Rochus, 20. Aug 1999, 18:32:06):
Kryptographie fuer Anfaenger oder:
"Was subtile Aenderungen alles bewirken koennen"

Polyalphabetische Substition kann man z.B. durchfuehren,
indem man ein durcheinandergewuerfeltes Alphabet, beispielsweise
  HNZLEGRUMPFABCDIJKMOQSTVXY
nimmt, und fuer jeden Schritt den naechsten Buchstaben des
Schluesselwortes nimmt und diesen dem Anfang des Standardalphabetes
gegenueberstellt, wobei der Rest entsprechend verschoben wird.
Am Beispiel des Schluesselwortes "KEY":
     ABCDEFGHIJKLMNOPQRSTUVWXYZ
  -----------------------------
  K: KMOQSTVXYHNZLEGRUMPFABCDIJ (Fuer Zeichen 1, 4, 7 ...)
  E: EGRUMPFABCDIJKMOQSTVXYHNZL (Fuer Zeichen 2, 5, 8 ...) 
  Y: YHNZLEGRUMPFABCDIJKMOQSTVX (Fuer Zeichen 3, 6, 9 ...)

Jetzt gibt es 2 Varianten zu verschluesseln:

  a) Man nimmt den Buchstaben im unteren Alphabet (welches gerade an der
Reihe
     ist), der dem zu verschluesselnden Buchtsaben im oberen gegenueberliegt,
     z.B. STE INB EIS SER --> PVL YKH SBK PMJ
  b) Umgekehrt.
     z.B. STE INB EIS SER --> ESF YXN NLW EAH

Nun die Frage:
Welche Variante ist leichter angreifbar und warum?

  Rochus

-----------------------------------------------------------------------------



Re: Kryptographie (Grimmborn, 20. Aug 1999, 21:04:32):
~#! rn=Rochus rt=935173926 rg=puiz
~#! tid=935173926
Beide Methoden sind gleich gut angreifbar, wenn man versuchen will chinesische
Texte zu verschluesseln - sind dann naemlich voellig unbrauchbar. Und mal eben
ein Viertel der Weltbevoelkerung zu diskriminieren ist schon ein starkes
Stueck.
Ausserdem ist der praktische Nutzen begrenzt, weil die Methoden weder fuer die
Uebertragung von interessanten pix noch den dazugehoerigen Lauten taugt. Was
passiert ausserdem wenn ich binaere Dateien verschluesseln will, hmm? DAS ist
doch eigentlich die Frage, Open Source ist eben nicht alles auf dieser Welt.
Aber so sind sie, die weltfremden Akademiker, das ist doch immer so. Immer im
Elfenbeiturm, der Herr, ja? Aufwachen, wir leben in der wirklichen Welt! Da
gibt es ganz andere Probleme, und das nicht zu knapp, da solltest Du auch mal
dran denken.

*raeusper* Aeh, ja, hab ich jetzt was gewonnen?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Kryptographie (Rochus, 26. Aug 1999, 18:32:20):
~#! rn=Rochus rt=935173926 rg=puiz
~#! tid=935173926
Ok, die Aufloesung...

Also, zunaechst ist die Periodenlaenge k herauszufinden,
  z.B. indem man im Text Wiederholungen von 3 oder mehr
  aufeinanderfolgenden Buchstaben sucht - die Wahrscheinlichkeit dass
  diese dann gleich verschluesselt wurden und somit der Abstand ein
  Vielfaches der Periodenlaenge ist, ist recht hoch.
Sobald man die hat ermittelt man die k Haeufigkeitsverteilungen von
  jedem k-ten Buchstaben ab Buchstabe i, fuer i=1..k.
Bis hierhin ist (a) nicht schwieriger als (b).

Zur Erinnerung nochmal das Beispiel:
     ABCDEFGHIJKLMNOPQRSTUVWXYZ
  -----------------------------
  K: KMOQSTVXYHNZLEGRUMPFABCDIJ
  E: EGRUMPFABCDIJKMOQSTVXYHNZL
  Y: YHNZLEGRUMPFABCDIJKMOQSTVX

Man schaue sich mal an, wie die beiden ueblicherweise haeufigsten
Buchstaben, E und N, verschluesselt werden...

(a)
  K: E->S, N->E (Abstand S-E = 14 mod 26)
  E: E->M, N->K (Abstand M-K =  2 mod 26)
  Y: E->L, N->B (Abstand L-B = 10 mod 26)

(b)
  K: E->N, N->K (Abstand N-K =  3 mod 26)
  E: E->A, N->X (Abstand A-X =  3 mod 26)
  Y: E->F, N->C (Abstand F-C =  3 mod 26)

Da im Fall (b) fuer jedes Paar von 2 Buchstaben gilt, dass all
ihre Verschluesselungen den gleichen Abstand haben,
kann man die Haeufigkeitsverteilungen gegeneinander verschieben bis
sie ungefaehr uebereinstimmen, so dass man erfaehrt welche
Buchstaben mit verschiedenen Schluesselbuchstaben einander entsprechen,
also dass N(1)=A(2)=F(3) bzw. K(1)=X(2)=C(3) usw ist.
Nach entsprechender Ersetzung ist nur noch eine einzige monoalphabetische
Substitution zu loesen, wohingegen im Fall (a) 3 (bzw. k) zu loesen sind.

(b) ist also wesentlich leichter angreifbar einfacher als (a)
Erstaunlich was so ein kleiner Unterschied alles
ausmachen kann, nicht wahr? :-)

  Rochus

-----------------------------------------------------------------------------



Re: Re: Kryptographie (Paracelsus, 26. Aug 1999, 19:24:14):
~#! rn=Rochus rt=935692340 rg=puiz
~#! tid=935173926
Aeh, ja ... danke.
Und wenn ich nu voellig anders verschluessele?
Und warum ist mein Bier alle?

Para.

-----------------------------------------------------------------------------



Re^3: Kryptographie (Rantanplan, 28. Aug 1999, 08:28:48):
~#! rn=Paracelsus rt=935695454 rg=puiz
~#! tid=935173926
*roechel*, Rochus
*roechel*, Rochus
Also eigentlich kann man das einfacher sagen:
a.) ist eine Abbildung 1->3
b.) 3->1
Die Umkehrfunktion im Fall a.) hat eine eindeutige Zielmenge, die in Fall b.)
nicht
Damit ist klar, Fall a.) ist einfacher Umzukehren, weil meine Zielmenge
eindeutig ist.

Oe*

-----------------------------------------------------------------------------



english riddle (Phobos,  6. Sep 1999, 12:04:05):
Diesmal suche ich selbst nach der Antwort zu einem Raetsel,
deshalb sind alle Loesungsvorschlaege willkommen.

  a pair and twice to cut the light,
  to cut your teeth, they're allright
 
  three or five you choose to get
  gold or blue, the game is set
  rich or poor will you become
  greed or virtue the choice is one
 
  dancing, dancing round the fire
  plus their brother, dirty liar...
  tricking you for one last time
  hidding the shadow with this rhyme



Phobos

-----------------------------------------------------------------------------



Re: english riddle (Grimmborn,  6. Sep 1999, 20:04:33):
~#! rn=Phobos rt=936619445 rg=puiz
~#! tid=936619445
Ein Ring.

GdA

-----------------------------------------------------------------------------



Zahlenraetsel (Mucks, 27. Sep 1999, 08:48:23):
 morgen
+grauen
-------
1000mud

Die verschiedenene Buchstaben stehen fuer verschiedene Ziffern.
                                                                Mucks

-----------------------------------------------------------------------------



1. (Morgoth, 25. Okt 1999, 14:32:12):
2 Matheprofs treffen sich nach urlanger Zeit irgendwo in der Stadt.
MP 1: Wow, wir haben uns ja lange nicht gesehen.
MP 2: Stimmt. Ich bin jetzt verrheiratet und habe drei Toechter.
MP 1: Und wie alt sind die?
MP 2: Wenn Du das alter addierst kommst Du auf 13. Wenn Du das Alter
multiplizierst kommst Du auf ... <MP 2 deutet auf eine Hausnummer> ... diese
Hausnummer.
MP 1: *gruebel* Hm, das reicht mir nicht.
MP 2: Ach ja, die aelteste Tochter hat einen Hund.

Frage: Wie alt sind die Toechter?

M*

-----------------------------------------------------------------------------



2. (Morgoth, 25. Okt 1999, 14:33:37):
Vervollstaendige die Reihen:
A   EF
-------
 BCD  G

Tip: Jedes Kindergartekind kann das.

M*

-----------------------------------------------------------------------------



Re: 2. (Hobo, 25. Okt 1999, 14:49:02):
~#! rn=Morgoth rt=940854817 rg=puiz
~#! tid=940854817
A   EF  I  LMNO  RS U  XY
--------------------------
 BCD  GH JK    PQ  T VW  Z

So?


  Hobo

-----------------------------------------------------------------------------



Re: Re: 2. (Yendi, 25. Okt 1999, 14:59:45):
~#! rn=Hobo rt=940855742 rg=puiz
~#! tid=940854817
Muesste das "Y" nicht nach unten, streng genommen?

YTY


-----------------------------------------------------------------------------



Re^3: 2. (Zephyr, 25. Okt 1999, 15:01:33):
~#! rn=Yendi rt=940856385 rg=puiz
~#! tid=940854817
Nein.. das Y steht da schon richtig.. aber der Rest .. :)
C4, Kuekengartenhuhn

-----------------------------------------------------------------------------



Re^4: 2. (Anatol, 25. Okt 1999, 15:06:08):
~#! rn=Zephyr rt=940856493 rg=puiz
~#! tid=940854817
Vielleicht so:

A   EF HI KLMN     T VWXYZ
--------------------------
 BCD  G  J    OPQRS U

Anatol laesst die Groschen fallen ;)


-----------------------------------------------------------------------------



Re: 1. (Phobos, 25. Okt 1999, 16:56:09):
~#! rn=Morgoth rt=940854732 rg=puiz
~#! tid=940854732
2 / 2 / 9 Jahre alt


-----------------------------------------------------------------------------



Re: 1. (Yendi, 26. Okt 1999, 11:16:55):
~#! rn=Morgoth rt=940854732 rg=puiz
~#! tid=940854732
1/1/11 oder
1/2/10 oder
1/3/9  oder
1/4/8  oder
1/5/7  oder
2/2/9  oder
2/3/8  oder
...
...
...

Was weiss denn ich, in welchem Alter Matheprofs ihren Toechtern Hunde
erlauben? Oder habe ich in der Aufgabenstellung was uebersehen?

Ratlos,
        Yendi


-----------------------------------------------------------------------------



Re: Re: 1. (Morgoth, 26. Okt 1999, 11:17:17):
~#! rn=Yendi rt=940929415 rg=puiz
~#! tid=940854732
Ja !

M*

-----------------------------------------------------------------------------



Re^3: 1. (Hobo, 26. Okt 1999, 11:19:36):
~#! rn=Morgoth rt=940929437 rg=puiz
~#! tid=940854732
Hmm, ich weiss nicht.
Ich fand diese Aufgabe schon immer daemlich.  Dass eine Tochter die aelteste
ist, sagt noch lange nicht, dass es keine Zwillinge sind, schliesslich gibt's
auch da ne Erstgeborene. Und Hausnummern sind nun wirklich kein e
Beschraenkung...

   Hobo - fand die Erklaerung der Aufloesung damals nicht logisch, als sie
sie gelesen hat

-----------------------------------------------------------------------------



Re^3: 1. (Yendi, 26. Okt 1999, 12:02:05):
~#! rn=Morgoth rt=940929437 rg=puiz
~#! tid=940854732
OK, kapiert...


-----------------------------------------------------------------------------



3. (Morgoth, 26. Okt 1999, 12:44:08):
Wahrscheinlich auch alt, aber egal:

Punkt A und B sind durch eine Bruecke getrennt. Die Bruecke hat die Tragkraft
von 2 Personen. An Punkt A stehen Vater, Mutter, 2 Kinder. 
Der Vater braucht fuer die Strecke A<->B 1 Minute, die Mutter 2, Kind1 5 und
Kind2 10 Minuten.
Es gibt eine Taschenlampe, die immer einer der Personen haben muss, der die
Bruecke ueberquert (is naemlich dunkel).
Du hast 17 Minuten Zeit. 
Wie muessen die Leute gehen, damit alle von A nach B kommen in den 17 Minuten?

M*

P.S.: Kein Huckepack, kein Taschenlampe werfen usw.

-----------------------------------------------------------------------------



Re: 3. (Hobo, 26. Okt 1999, 12:59:09):
~#! rn=Morgoth rt=940934648 rg=puiz
~#! tid=940934648
Das Quiz hatten wir doch auch erst im Fruehjahr.... in etwas anderer
Fragestellung zugegeben. :)

  Hobo

-----------------------------------------------------------------------------



Re: Re: 3. (Morgoth, 26. Okt 1999, 13:00:11):
~#! rn=Hobo rt=940935549 rg=puiz
~#! tid=940934648
jaja, hat mir tiamak auch eben gesagt. aber ich hab die rubrik nicht gelesen.
wir haben nur gestern selbst hier gesessen beim fruehstueck.

M*

-----------------------------------------------------------------------------



verlegts puiz (Montanus, 10. Nov 1999, 00:49:42):

Hier ein kleiner Link:
inder Rubrik wolpertinger.fanclub gibts ein Raetsel, bei dem man sogra was
gewinnen kann. :)


-----------------------------------------------------------------------------



Mal wieder ein Raetsel (Matis, 26. Nov 1999, 17:29:35):
Man setze auf sinnvolle Art folgendes fort:

  M  Omega  8

Ich kenne die (?) Loesung leider nicht. Und uU koennte es
wichtig sein, das "Omega" durch das zugehoerige griechische
Schriftsymbol zu ersetzen.

Matis

-----------------------------------------------------------------------------



Re: Mal wieder ein Raetsel (Grimmborn, 26. Nov 1999, 22:25:25):
~#! rn=Matis rt=943633775 rg=puiz
~#! tid=943633775
Spann uns nicht auf die Folter: Grosses oder kleines Omega?

GdA

-----------------------------------------------------------------------------



Re: Mal wieder ein Raetsel (Rardian, 28. Nov 1999, 02:02:16):
~#! rn=Matis rt=943633775 rg=puiz
~#! tid=943633775
Ist vielleicht unqualifiziert aber wie waers mit:
 S Gamma  14 ??

Rar* hat keine Ahnung ;)

-----------------------------------------------------------------------------



Re: Mal wieder ein Raetsel (Guildo, 29. Nov 1999, 08:49:00):
~#! rn=Matis rt=943633775 rg=puiz
~#! tid=943633775
Hmm, das naechste Symbol in der Folge ist eher schwierig
zu beschreiben; es sieht aus wie eine umgedrehte Fernsehantenne oder wie ein
Kampfflugzeug von hinten. In ASCII Art etwa so:

     |
     |
  |  |  |
--+--+--+--
  |     |


Noch'n Tip: Die Folge geht weiter mit einem Symbol, das aussieht wie eine
Kirsche am Baum...

Viel Spass noch damit,
Guildo.

-----------------------------------------------------------------------------



Re: Re: Mal wieder ein Raetsel (Felpur, 29. Nov 1999, 10:53:34):
~#! rn=Guildo rt=943861740 rg=puiz
~#! tid=943633775
Hi Folks!

Die Antwort ist doch einfach. Es werden einfach die Zahlen 1,2,3,... an einer
Ebene gespiegelt. so kommt man au M wenn man 1 spiegelt usw..

Ciao.

-----------------------------------------------------------------------------



Re^3: Mal wieder ein Raetsel (Rardian, 30. Nov 1999, 09:32:10):
~#! rn=Felpur rt=943869214 rg=puiz
~#! tid=943633775
Also wenn ich die zwei spiegele, kommt bei mir kein Omega heraus... deshalb
finde ich meinen Loesungsansatz viiieeelll besser :)

R.

-----------------------------------------------------------------------------



Re^4: Mal wieder ein Raetsel (Felpur, 30. Nov 1999, 10:22:16):
~#! rn=Rardian rt=943950730 rg=puiz
~#! tid=943633775
Naja Recht hast bei der Zwei kommt kein Omega heraus eher ein eingedelltes
Omega, aber ansonsten stimmts. Hab die Loesung mal irgendwo gelesen (war
glaube ich auf www.helden.de).:)

F.

-----------------------------------------------------------------------------



Re^5: Mal wieder ein Raetsel (Rardian,  1. Dez 1999, 15:53:31):
~#! rn=Felpur rt=943953736 rg=puiz
~#! tid=943633775

Ein Herzchen ists, das kommt heraus !! :)

Rar.

-----------------------------------------------------------------------------



telefon (Phobos,  3. Dez 1999, 18:26:57):
*MACHO MODE ON*

6 Freundinnen haben jeweils ein neues Paar Schuhe und haengen sich 
natuerlich sofort ans Telefon.
Wieviele Anrufe sind mindestens noetig, bis jede Freundin
ueber alles Bescheid weiss?

*MACHO MODE OFF*


Phobos

-----------------------------------------------------------------------------



Re: telefon (Tiamak,  3. Dez 1999, 18:31:14):
~#! rn=Phobos rt=944242017 rg=puiz
~#! tid=944242017
Darf Freundin A der Freundin B auch erzaehlen, was sie ueber Freundin Cs neue
Schuhe weiss, oder soll jede mit jeder telefonieren?

Tiamak

-----------------------------------------------------------------------------



Re: Re: telefon (Phobos,  3. Dez 1999, 18:31:40):
~#! rn=Tiamak rt=944242274 rg=puiz
~#! tid=944242017
DARF??? ;)

-----------------------------------------------------------------------------



Re: Re: telefon (Grimmborn,  3. Dez 1999, 18:34:10):
~#! rn=Tiamak rt=944242274 rg=puiz
~#! tid=944242017
Wir reden von Frauen. Da gehts nicht um Effektitaet, da gehts drum, moeglichst
viel und lange zu reden. Daher sage ich:
Jede muss mit jeder dreimal gesprochen haben, also 45 Gespraeche. Es laufen
immer drei Gespraeche gleichzeitig, macht also eine Gesamtdauer von mindestens
22.5 Stunden (netto), bis alles klar ist.

Grimmborn der Atheist "komm ich getz im Fernseher?"

-----------------------------------------------------------------------------



Re^3: telefon (Apsu,  3. Dez 1999, 18:35:27):
~#! rn=Grimmborn rt=944242450 rg=puiz
~#! tid=944242017
Und natuerlich zum teuren Handytarif, weil frau dabei beim Friseur/kosmetiker,
im Schuhgeschaeft usw rumlungert. :)

Apsu

-----------------------------------------------------------------------------



Re^4: telefon (Grimmborn,  3. Dez 1999, 18:38:31):
~#! rn=Apsu rt=944242527 rg=puiz
~#! tid=944242017
Sicher. Spielt aber eh keine so grosse Rolle, zumindest wenn die Frauen nicht
in der Naehe voneinander wohnen (sonst koennten sie sich ja auch im
Nagelstudio treffen), weil sie eh nicht mit call by call umgehen koennen, und
die Festnetztelefonate damit auch nicht viel billiger sind.

GdA

-----------------------------------------------------------------------------



Re^5: telefon (Ark,  3. Dez 1999, 21:20:30):
~#! rn=Grimmborn rt=944242711 rg=puiz
~#! tid=944242017
Kann man auch mit ner Telefonkonferenz abhaken. Wer bezahlt's?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: telefon (Wurzel,  4. Dez 1999, 10:17:34):
~#! rn=Ark rt=944252430 rg=puiz
~#! tid=944242017
wie immer. wer sonst? aber telefonkonferenz ist unwahrscheinlich, wenn noch
nicht einmal call by call funktioniert :)

wurzel

-----------------------------------------------------------------------------



na, wer hat das das Mud besungen? (Montanus,  5. Dez 1999, 22:15:47):

Mal was prosaisches.
Wer kennt dieses nette Lied, deren Anfang ich hier zitiere?

Das waren Zeiten, als wir trvelten 
von town zu town, 
von Fraun zu Fraun 
im Morgengrau'n.

Hmmm, vielleicht waere schlechter.geschmack die richtige Rubrik, aber egal. :)

-Montanus

-----------------------------------------------------------------------------



Re: na, wer hat das das Mud besungen? (Boing,  6. Dez 1999, 09:47:19):
~#! rn=Montanus rt=944428547 rg=puiz
~#! tid=944428547
Der letzte Cowboy kommt aus Guetersloh 
  Boing (outet sich)

-----------------------------------------------------------------------------



Re^6: Mal wieder ein Raetsel (Todesbote,  6. Dez 1999, 12:52:16):
~#! rn=Rardian rt=944060011 rg=puiz
~#! tid=943633775
Tja, da es niemand gesagt hat:

Das Raetsel ist aus einer Simpsons Folge. :-)

In der glaubt Lisa sie wuerde langsam auch die "Simpsons-Krankheit"==Dummheit?
bekommen, da selbst Bart und Nelson es loesen. ;-)

By the Way: kennt jemand ne Adresse bei der man SimpsonsFolgen runterladen
kann? Ist sowas legal? =8)

-----------------------------------------------------------------------------



Re^7: Mal wieder ein Raetsel (Grimmborn,  6. Dez 1999, 22:32:10):
~#! rn=Todesbote rt=944481136 rg=puiz
~#! tid=943633775
Klar ist es legal, Adressen zu kennen.

GdA

-----------------------------------------------------------------------------



Re^7: Mal wieder ein Raetsel (Muadib, 10. Dez 1999, 11:52:15):
~#! rn=Todesbote rt=944481136 rg=puiz
~#! tid=943633775
hi,

aeh es kommt viel eher in einer simpsons-folge vor.
das raetsel ist definitiv aelter als die simpsons.
wo es tatsaechlich herkommt? who cares.

gruss

muadib *erbsenzaehlend*

-----------------------------------------------------------------------------



Re: telefon (Pra, 20. Dez 1999, 10:59:30):
~#! rn=Phobos rt=944242017 rg=puiz
~#! tid=944242017
Nochmal zu dem Raetsel mit dem Telefon - eine Loesung hat ja wohl noch
keiner gefunden. Ich komme auf 9 Telefonate - gehts auch besser?

Pra.

-----------------------------------------------------------------------------



Re: Re: telefon (Phobos, 20. Dez 1999, 12:52:40):
~#! rn=Pra rt=945683970 rg=puiz
~#! tid=944242017
ja

-----------------------------------------------------------------------------



Re^3: telefon (Pra, 20. Dez 1999, 16:33:01):
~#! rn=Phobos rt=945690760 rg=puiz
~#! tid=944242017
gut, ich hab's jetzt auch mit 8 Telefonaten. Gehts noch besser?

Pra.

-----------------------------------------------------------------------------



Re^4: telefon (Acrimon, 20. Dez 1999, 22:22:16):
~#! rn=Pra rt=945703981 rg=puiz
~#! tid=944242017
Nein, besser als mit 8 Telefonaten gehts nicht.

Acrimon

-----------------------------------------------------------------------------



Zu Risiken und Nebenwirkungen ... (Phobos, 30. Mar 2000, 14:34:29):

Wer kann mir helfen?

Ich muss jeden Tag jeweils eine Tablette vom Typ A und eine Tablette
vom Typ B einnehmen. Wird die Einnahme einer Tablette auch nur einen
einzigen Tag unterlassen, besteht akute Lebensgefahr.

Mein Arzt hat mich ausdruecklich davor gewarnt, dass die Einnahme von
zwei Tabletten des Typs B am selben Tag zur sofortigen Erblindung
fuehrt.

Heute morgen ist es passiert. Ich hatte bereits eine Tablette vom
Typ A in der Hand, aber als ich die Tablette vom Typ B aus der Dose
nehmen wollte, sind mir aus Versehen zwei Stueck in die Hand gefallen.
Die Tabletten unterscheiden sich leider weder in Form, Farbe, Groesse
noch Geschmack.

Was soll ich bloss tun? Die restlichen Tabletten in Dose B reichen
nur noch bis einschliesslich Samstag, die Tabletten aus Dose A bis
Sonntag. Und neue Tabletten sind erst ab Montag abend wieder lieferbar.

Wieviele der drei Tabletten aus meiner Hand soll ich jetzt nehmen,
um das Gesundheitsrisiko so klein wie moeglich zu halten? Und welche?

Phobos




P.S.
Ansonsten bin ich kerngesund :)

-----------------------------------------------------------------------------



Re: Zu Risiken und Nebenwirkungen ... (Anatol, 30. Mar 2000, 15:01:54):
~#! rn=Phobos rt=954419669 rg=puiz
~#! tid=954419669

Am besten wird sein, wenn Du die handwarme Tablette und eine der
beiden kaelteren Tabletten zu Dir nimmst. Wie immer mit viel Wasser,
dann rutschen sie besser.

Anatol


-----------------------------------------------------------------------------



Re: Re: Rikus (Phobos, 30. Mar 2000, 15:07:56):
~#! rn=Rikus rt=954421580 rg=bekanntmachungen
~#! tid=950348206
Klappt leider nicht. Wenn du mir das heute morgen gesagt haettest ..
Jetzt ist es dafuer zu spaet :(

Phobos

-----------------------------------------------------------------------------



Re: Zu Risiken und Nebenwirkungen ... (Hobo, 30. Mar 2000, 15:47:10):
~#! rn=Phobos rt=954419669 rg=puiz
~#! tid=954419669
Heute neue Tabletten kaufen gehen, die drei in der Hand wegschmeissen und neue
aus den Dosen nehmen...
Dumme Aufgabe :)

   Hobo

-----------------------------------------------------------------------------



Re: Re: Zu Risiken und Nebenwirkungen ... (Pra, 30. Mar 2000, 15:48:18):
~#! rn=Hobo rt=954424030 rg=puiz
~#! tid=954419669
Aufgabe nicht gelesen, Hobo: Neue Tabletten gibts erst Montag.

Pra.

Gerade ueber Erblindungen gruebelnd.

-----------------------------------------------------------------------------



Re: Zu Risiken und Nebenwirkungen ... (Catweazle, 30. Mar 2000, 15:59:17):
~#! rn=Phobos rt=954419669 rg=puiz
~#! tid=954419669
Hm, du musst auf jeden Fall welche aus Deiner Hand nehmen, denn
ansonsten haettest Du Sonntags keine B-Pille mehr und wuerdest 
sterben.
Wenn Du nur zwei aus der Hand nimmst, besteht die Gefahr, das Du keine A
abkriegst, also musst Du entweder alle drei nehmen (damit waerst du aber zu
100% blind), oder nur zwei und eine aus Dose A.
Wenn Du nur eine aus der Hand nimmst und eine aus Dose A nimmst, besteht die
Gefahr, das Du keine B abkriegst, damit bist du zu 33% tot, aber nicht blind.

Das beste waere also 2 aus der Hand und eine aus Dose A, damit bist du zwar zu
33% blind, aber sicher nicht tot :)
YTC *faselnd,schwallend,kaum denkend*

-----------------------------------------------------------------------------



Re: Re: Zu Risiken und Nebenwirkungen ... (Tiamak, 30. Mar 2000, 16:02:48):
~#! rn=Catweazle rt=954424757 rg=puiz
~#! tid=954419669
Ach Quark. Du legst die Tabletten von der Hand erstmal zur Seite und nimmst
neue aus den Schachteln. Ein bisschen Zeit hast Du dann ja schonmal gewonnen.

Danach begibst Du Dich mit den restlichen Tabletten ins naechste Krankenhaus
und erklaerst denen die Situation. Die werden sich schon was einfallen lassen.
;^)


Tiamak

-----------------------------------------------------------------------------



Re^3: Zu Risiken und Nebenwirkungen ... (Hobo, 30. Mar 2000, 16:03:30):
~#! rn=Tiamak rt=954424968 rg=puiz
~#! tid=954419669
*lach*
Die Antwort ist gut!

   Hobo

-----------------------------------------------------------------------------



Re^3: Zu Risiken und Nebenwirkungen ... (Catweazle, 30. Mar 2000, 16:03:42):
~#! rn=Tiamak rt=954424968 rg=puiz
~#! tid=954419669
Ohja, stimmt, das kann man noch optimieren.
Man nimmt erst die Tabletten aus den Dosen und wartet mit der Auswahl bis
Sonntag, dann wird man erst am Sonntag zu 33% blind :)

YTC

-----------------------------------------------------------------------------



Re^4: Zu Risiken und Nebenwirkungen ... (Hobo, 30. Mar 2000, 16:04:28):
~#! rn=Catweazle rt=954425022 rg=puiz
~#! tid=954419669
Und in der Zwischenzeit macht man der Herstellerfirma und den Apotheken etwas
Dampf, dann sind die Tabletten vielleicht doch per Kurier noch am Sonntag zu
haben.

  Hobo

-----------------------------------------------------------------------------



Re^5: Zu Risiken und Nebenwirkungen ... (Muadib, 30. Mar 2000, 16:10:36):
~#! rn=Hobo rt=954425068 rg=puiz
~#! tid=954419669
du schuettest die restlichen pillen aus den dosen zusammen, danach ist fuer
dich das problem nummer eins nicht mehr relevant

-----------------------------------------------------------------------------



Re^6: Zu Risiken und Nebenwirkungen ... (Phobos, 30. Mar 2000, 16:20:06):
~#! rn=Muadib rt=954425436 rg=puiz
~#! tid=954419669

Vielen Dank eratmal fuer die Resonanz soweit. Zumindest kann ich 
mal davon ausgehen, dass es auf meiner Beerdigung nicht so todernst 
zugehen wird :)



Also nochmal zur Klarstellung:

Ich komme definitiv nicht vor Montag abend an neue Tabletten.
Ich hab zwar heute erstmal zwei neue Tabletten aus den Dosen
genommen, aber spaetestens am Sonntag muss ich mich entscheiden.

Und ich haenge ziemlich doll an meinem Augenlicht, also gebt
euch noch etwas Muehe. 33% Erblindungsgefahr ist mir immer
noch zu viel.


Phobos

-----------------------------------------------------------------------------



Re^7: Zu Risiken und Nebenwirkungen ... (Hood, 30. Mar 2000, 16:25:04):
~#! rn=Phobos rt=954426006 rg=puiz
~#! tid=954419669
geh zur apotheke und lass die dinger mit ner feinwage vergleichen, die
koennen dort auch milligramm genau abwiegen.
solang du noch 2 tabletten hast, die sich zu typ A und B zuordnen lassen,
kannst du das noch probieren.
es ist reichlich unwahrscheinlich, dass die exakt gleich wiegen, auch
wenn man toleranzen einrechnet.

-----------------------------------------------------------------------------



Re^8: Zu Risiken und Nebenwirkungen ... (Hood, 30. Mar 2000, 16:26:43):
~#! rn=Hood rt=954426304 rg=puiz
~#! tid=954419669
ach ja, noch ne alternative:
wenn du sie auch in wasser geloest schlucken kannst
 (nehm mich mal an, sind offensichtlich keine kapseln)
wirf eine tablette typ A in ein glas wasser, tyb B in ein anderes,
schau wie sie sich beim aufloesen verhalten, nun hau deine anderen 2 oder 3
ins wasser, je nachdem, obs nach 2 schon unterschiedlich ist oder nich.

-----------------------------------------------------------------------------



Re^9: Zu Risiken und Nebenwirkungen ... (Morgonate, 30. Mar 2000, 20:29:03):
~#! rn=Hood rt=954426403 rg=puiz
~#! tid=954419669
Hmm, das Verfahren hat was.
Wenn das Aufloeseverhalten unterschiedlich war, sind im Glas eine A und eine B
geloest, also liegt die ueberzaehlige B noch draussen, zurueck in die Dose mit
ihr. 
Wenn das Aufloeseverhalten gleich ist, sind im Glas 2 B geloest, also halbes
Glas trinken, nichtgeloeste Tablette schlucken. Morgen dann die andere B
trinken. ;)

Morgonate

-----------------------------------------------------------------------------



Re^10: Zu Risiken und Nebenwirkungen ... (Paracelsus, 30. Mar 2000, 21:09:44):
~#! rn=Morgonate rt=954440943 rg=puiz
~#! tid=954419669
Und nicht vergessen:
Die Firma, die die Pillen herstellt, verklagen. Denn wer Pillen mit
solchen (Neben)Wirkungen herstellt und denen auch noch das gleiche
Aussehen gibt, der gehoert eingeaeschert.

Para* ]:->

-----------------------------------------------------------------------------



Re^11: Zu Risiken und Nebenwirkungen ... (Hood, 30. Mar 2000, 21:11:17):
~#! rn=Paracelsus rt=954443384 rg=puiz
~#! tid=954419669
dabei schmeisse ich den zettel mit den nebenwirkungen immer weg...
ich glaub, ab heute lese ich die dinger ;)
na ja ok...ich brauch alle 5 jahre mal nen mittel gegen halsschmerzen,
da verzichte ich lieber ganz auf medikamente, wenn ich sowas lese *grin*

-----------------------------------------------------------------------------



Re^12: Zu Risiken und Nebenwirkungen ... (Guildo, 31. Mar 2000, 09:05:11):
~#! rn=Hood rt=954443477 rg=puiz
~#! tid=954419669
Wenn die Tabletten sich wirklich in Groesse und Gewicht (und damit auch in der
Dichte) nicht unterscheiden:
Wirf alle verbleibenden Tabletten in einen Moerser und mach ein feines Pulver
draus. Verteil das Pulver gleichmaessig auf die verbleibenden Tage. Sollte
klappen.

Gruss,
Guildo

-----------------------------------------------------------------------------



Re^13: Zu Risiken und Nebenwirkungen ... (Guildo, 31. Mar 2000, 09:07:07):
~#! rn=Guildo rt=954486311 rg=puiz
~#! tid=954419669
Ansonsten haette ich noch nen tollen Vorschlag: Starte einen Thread in
de.sci.medizin.misc. Vielleicht findest Du ja jemanden mit derselben
Krankheit, der noch ein paar Tabletten uebrig hat und sie Dir bis Sonntag
schicken kann.

Nochngruss,
Guildo

-----------------------------------------------------------------------------



Re^13: Zu Risiken und Nebenwirkungen ... (Anatol, 31. Mar 2000, 10:01:46):
~#! rn=Guildo rt=954486311 rg=puiz
~#! tid=954419669
Bestimmt wird Dir Phobos gleich sagen, dass diese Tabletten bis
in den Darm halten muessen und mit einem magensaftresistenzen 
Ueberzug versehen sind...

Anatol


-----------------------------------------------------------------------------



Re^14: Zu Risiken und Nebenwirkungen ... (Tiamak, 31. Mar 2000, 11:41:53):
~#! rn=Anatol rt=954489706 rg=puiz
~#! tid=954419669
Dann geht man halt in die Apotheke und kauft sich irgendwelche Kapseln, die
man ausleeren und mit seinem Pulver fuellen kann.

DIE Ausrede zaehlt nicht. :-)

Tiamak

-----------------------------------------------------------------------------



Re: Zu Risiken und Nebenwirkungen ... (Lone, 31. Mar 2000, 13:42:05):
~#! rn=Phobos rt=954419669 rg=puiz
~#! tid=954419669
Nimm noch eine Tablette A dazu, halbiere alle und nimm jeweils eine Hlfte.
Dann hast du insgesamt von jeder eine, und die anderen Hlften kannst du dir
morgen reinziehen.

Lone

-----------------------------------------------------------------------------



Re: Re: Zu Risiken und Nebenwirkungen ... (Acrimon, 31. Mar 2000, 19:05:54):
~#! rn=Lone rt=954502925 rg=puiz
~#! tid=954419669
Wenn Du aus Versehen zwei B-Tabletten schluckst (und dadurch blind wirst),
dann ist das ein sicheres Zeichen fuer den baldigen Tod, weil Dir dann am
Sonntag eine B-Tablette fehlt.
Die Pulver-Methode dagegen duerfte sicher sein.

-----------------------------------------------------------------------------



Re^14: Zu Risiken und Nebenwirkungen ... (Apsu,  2. Apr 2000, 23:45:27):
~#! rn=Guildo rt=954486427 rg=puiz
~#! tid=954419669
Bei den Nebenwirkungen muss man aber aufpassen, dass kein Erbberechtigter
mitliest ;-)

Apsu

-----------------------------------------------------------------------------



Re: Re: Zu Risiken und Nebenwirkungen ... (Phobos,  4. Apr 2000, 15:11:46):
~#! rn=Lone rt=954502925 rg=puiz
~#! tid=954419669
100 Punkte fuer Lone!

Die Tabletten haben sich zwar aeusserlich nicht unterschieden (also
auch das Aufloesungsverhalten war nicht unterscheidbar, aber wenn
man noch eine Tablette A dazu nimmt, hat man 2 A + 2 B, und dann
muss man die Tabletten einfach in der Haelfte durchbrechen.

Damit hatte ich sogar bis Montag Tabletten , so dass die naechste
Lieferung sogar einen Tag Verspaetung haben darf.

Phobos

P.S.
Danke uebrigens fuer zwei Nachfragen, an welcher Krankheit ich
denn leide ;)

-----------------------------------------------------------------------------



Triell (Zaphob, 26. Mai 2000, 20:23:16):
Eines Morgens beschliessen Herr Schwarz, Herr Grau und Herr Weiss, einen
Streit durch ein Pistolenduell zu beenden, bei dem am Ende nur einer
ueberleben wird.
Herr Schwarz ist der schlechteste Schuetze, denn er trifft sein Ziel
durchschnittlich nur einmal in drei Versuchen. Herr Grau schiesst schon
besser, bei drei Versuchen trifft er zweimal. Herr Weiss ist der beste
Schuetze, er trifft immer.
Um das Triell fairer zu gestalten, darf Herr Schwarz als erster schiessen,
danach Herr Grau (wenn er noch lebt), dann Herr Weiss (wenn er noch lebt).
Schliesslich beginnt das Ganze von vorne, bis nur noch einer von ihnen am
Leben ist.

Die Frage lautet nun: Wo sollte Herr Schwarz beim ersten Mal hinzielen?

-----------------------------------------------------------------------------



Re: Triell (Sina, 26. Mai 2000, 23:44:26):
~#! rn=Zaphob rt=959365396 rg=puiz
~#! tid=959365396

Wenn die Aufgabe richtig verstanden habe, sollte er wohl beim
ersten Mal daneben schiessen... 

.Sina.

-----------------------------------------------------------------------------



Re: Re: Triell (Boing, 26. Mai 2000, 23:45:14):
~#! rn=Sina rt=959377466 rg=puiz
~#! tid=959365396
Dann koennte er ja versehentlich den grauen treffen ... ;)
  Boing  

-----------------------------------------------------------------------------



Re: Re: Triell (Zaphob, 28. Mai 2000, 18:51:40):
~#! rn=Sina rt=959377466 rg=puiz
~#! tid=959365396
Genau, in die Luft zu schiessen ist die beste Loesung.

Hm, das scheint zu einfach gewesen zu sein. Mal was anderes rauskramen...

-----------------------------------------------------------------------------



Re^3: Triell (Pra, 29. Mai 2000, 11:22:55):
~#! rn=Zaphob rt=959532700 rg=puiz
~#! tid=959365396
Interessanter ist doch bei dieser Strategie die Frage, wer von den
Dreien die hoechste Ueberlebenschance hat, und wer die niedrigste.

Pra. Meint, das geloest zu haben, ist sich aber nicht sicher.

-----------------------------------------------------------------------------



Die Fackel (Vanion, 29. Mai 2000, 21:29:56):
Heute kommt mal was von mir:
Man stelle sich eine tiefe, tiefe Schlucht vor, ueber die eine alte Bruecke
fuehrt.
Die Bruecke ist schon recht alt und kann geradeso 2 Personen tragen. Zu allem
Uebel ist es auch noch stockfinstere Nacht und niemand sollte sich ohne Fackel
auf die Bruecke trauen, da einige Planken zerborsten sind.
Vier Personen stehen auf einer Seite der Bruecke. Diese Vier haben _eine_
Fackel, die gerade so lange brennt, dass alle vier die Bruecke ueberqueren
koennen.
Aufgrund der Koerperlichen Konstitution der Personen brauchen diese
verschieden lange, um ueber die Bruecke zu gelangen.
Person A benoetigt 5 Minuten, Person B 10 Minuten, Person C 20 Minuten und
Person D benoetigt 25 Minuten um die Bruecke zu ueberqueren.

Nun zur Frage: Wie lange muss die Fackel brennen?

PS: Natuerlich ist die Gesamtgeschwindigkeit zweier immer die des langsamen -
so hell leuchtet die Fackel auch wieder nicht ;-)

PPS: Is alles nich so einfach, wie es zuerst scheint.

-----------------------------------------------------------------------------



Re: Die Fackel (Gnome, 29. Mai 2000, 23:45:20):
~#! rn=Vanion rt=959628596 rg=puiz
~#! tid=959628596
wurscht, wie lange die fackel brennen muss.
alle 4 legen sich erstmal ne runde pennen und am naechsten morgen
ueberqueren alle in ruhe und helligkeit die bruecke :)

gnOme

-----------------------------------------------------------------------------



Re: Die Fackel (Catweazle, 30. Mai 2000, 08:16:18):
~#! rn=Vanion rt=959628596 rg=puiz
~#! tid=959628596
Genau ne Stunde.
YTC

-----------------------------------------------------------------------------



Re: Die Fackel (Svetlana, 30. Mai 2000, 09:43:26):
~#! rn=Vanion rt=959628596 rg=puiz
~#! tid=959628596
Also ich habe 65 Minuten!
Svetlana

-----------------------------------------------------------------------------



Re: Re: Die Fackel (Humni, 30. Mai 2000, 09:46:58):
~#! rn=Svetlana rt=959672606 rg=puiz
~#! tid=959628596
Es geht aber in 60.

Humni, Rechthaber.

-----------------------------------------------------------------------------



Re^3: Die Fackel (Grimmborn, 30. Mai 2000, 14:38:05):
~#! rn=Humni rt=959672818 rg=puiz
~#! tid=959628596
Na und? Wenn die Fackel 65 min brennt biste auf der sicheren Seite.
Aber die Geschichte mit warten bis die Sonne aufgeht ist wesentlich eleganter
geloest, imho.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^4: Die Fackel (Gnome, 30. Mai 2000, 14:43:47):
~#! rn=Grimmborn rt=959690285 rg=puiz
~#! tid=959628596
die frage am ende haette anders gestellt werden muessen:
eine fackel brennt genau 60 min. kommen alle sicher auf die andere seite?

gnOme

-----------------------------------------------------------------------------



Re^5: Die Fackel (Vector, 30. Mai 2000, 14:48:07):
~#! rn=Gnome rt=959690627 rg=puiz
~#! tid=959628596
.... wenn sie jetzt bei nacht ruebermuessen :))

-----------------------------------------------------------------------------



Re^4: Die Fackel (Humni, 30. Mai 2000, 14:48:19):
~#! rn=Grimmborn rt=959690285 rg=puiz
~#! tid=959628596
Na schoen. Wenn Du also demnaechst mit 3 Freunden irgendwo im Hochgebirge
in stockfinsterer Nacht herumstreunerst, zufaellig eine Fackel dabeihast
und dann in besagte Situation kommst, um Dich herum die Woelfe heulen, 
ueber Dir die Raben schon kreisen (ja, sie wissen, dass sie dich 
kriegen koennen, denn Du willst ja dableiben und wirst verhungern)
....dann denkst Du Dir, macht ja nix, warten wir bis zum naechsten
Morgen.

ICH wuerde versuchen, ueber die Bruecke zu kommen, und zwar schnell.

Humni ;-)

-----------------------------------------------------------------------------



Re^5: Die Fackel (Tiamak, 30. Mai 2000, 14:50:57):
~#! rn=Humni rt=959690899 rg=puiz
~#! tid=959628596
In einer solchen Situation moechte ich den Mudder sehen, der dann noch
herumtroedelt. Dann werden eben kurzerhand behelfsmaessige Fackeln geschaffen
oder in einer Menschenkette heruebergetastet ;-)

Tiamak

-----------------------------------------------------------------------------



Re^5: Die Fackel (Case, 30. Mai 2000, 14:51:41):
~#! rn=Humni rt=959690899 rg=puiz
~#! tid=959628596
weichei

Case, hat Nachtsicht

-----------------------------------------------------------------------------



Re: Die Fackel (Svetlana, 30. Mai 2000, 15:35:40):
~#! rn=Vanion rt=959628596 rg=puiz
~#! tid=959628596
Wenn Person A die Personen B,C und D in fuenf Minuten ueber die Bruecke
traegt, klappt es auch in 25 Minuten.

Svetlana

-----------------------------------------------------------------------------



Re^5: Die Fackel (Grimmborn, 30. Mai 2000, 16:36:39):
~#! rn=Humni rt=959690899 rg=puiz
~#! tid=959628596
Wenn Du in so einer Situation in dunkler Nacht ueber die Bruecke wankst ist
Dir auch nicht mehr zu helfen. Zum Verhungern braucht man wesentlich laenger
als 12 Stunden. Und nachts liege ich im Zelt, dankeschoen. Schliesslich bin
ich urlaubsmaessig in der Pampa, da brauche ich keinen durch Nachtwanderungen
generierten kuenstlichen Stress.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^6: Die Fackel (Ark, 30. Mai 2000, 21:30:55):
~#! rn=Grimmborn rt=959697399 rg=puiz
~#! tid=959628596
Hm, ich als Dussel komme auf 25+5+20+5+10=65, oder kann man die Fackel werfen?
Dann ist auch 60 drin. Hmmm, bin aber nicht so gut in Loesung von so
schwierische Aufgaben. Postet jetzt mal wer die Loesung?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^7: Die Fackel (Anatol, 30. Mai 2000, 21:37:15):
~#! rn=Ark rt=959715055 rg=puiz
~#! tid=959628596
A+B -> (10), A <- (10+5), C+D -> (15+25), B <- (40+10), A+B -> (50+10) = 60.

-----------------------------------------------------------------------------



Re^8: Die Fackel (Ark, 30. Mai 2000, 21:47:07):
~#! rn=Anatol rt=959715435 rg=puiz
~#! tid=959628596
Ok, hiermit outest Du mich also als Wurst und
Nichtnachdenkbevorquizbeantworter.
Pffff.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^9: Die Fackel (Grimmborn, 31. Mai 2000, 10:50:26):
~#! rn=Ark rt=959716027 rg=puiz
~#! tid=959628596
Dennoch, bei Nacht ueber so ne Bruecke wanken halte ich fuer nicht sonderlich
intelligent. Auch ist das Risiko zu gross, in so einer Schlucht kann es auch
ploetzlich windig werden, und dann ist die Fackel schon nach 30 min aus, wenn
C und D mitten auf der Bruecke sind.

Alles in allem fand ich die Aufgabe nicht wirklich lebensnah.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^10: Die Fackel (Rumata, 31. Mai 2000, 12:34:29):
~#! rn=Grimmborn rt=959763026 rg=puiz
~#! tid=959628596
Heute stand in der Zeitung, dass die deutschen Alpen mittlerweile mit
Handyzellen ziemlich gut abgedeckt sind.

Rumata

-----------------------------------------------------------------------------



Re^11: Die Fackel (Grimmborn, 31. Mai 2000, 12:35:09):
~#! rn=Rumata rt=959769269 rg=puiz
~#! tid=959628596
...weil es immer wieder einen guten Grund gibt, Lappland vorzuziehen.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^11: Die Fackel (Rumata, 31. Mai 2000, 12:37:04):
~#! rn=Rumata rt=959769269 rg=puiz
~#! tid=959628596
Wann wohl die ersten in die Schlucht fallen, weil sie beim SMS daddeln
vom Weg abkommen?
->schmarrn

-----------------------------------------------------------------------------



Re^12: Die Fackel (Pra, 31. Mai 2000, 13:35:03):
~#! rn=Rumata rt=959769424 rg=puiz
~#! tid=959628596
Was hat denn das Schwertmeisterschwert jetzt mit der ganzen Sache zu tun??

Pra. Irgendwo den Faden verloren habend.

-----------------------------------------------------------------------------



Re^11: Die Fackel (Montanus,  7. Jun 2000, 20:54:46):
~#! rn=Rumata rt=959769269 rg=puiz
~#! tid=959628596

Und wer ist dran schuld? Pampers, der hat naemlich fast jede D2-Station in den
Alpen, auf der Alb und in anderen schrecklichen Gebieten aufgebaut und kann
Dir daruber eine halbe Studne lang (pro Station) erzaehlen.

-----------------------------------------------------------------------------



Re: Leuchten zum leuchten bringen. (Karis,  9. Jun 2000, 17:23:52):
~#! rn=Lena rt=960564022 rg=puiz
~#! tid=960564022
Kleiner Tip:
Binaeres Gleichungssystem, 10 Unbekannte, 10 Gleichungen. 
Zu faul zum Rechnen?
Karis

-----------------------------------------------------------------------------



Die Tuer zum Harem (Phobos, 19. Jun 2000, 21:53:32):
Der Palast fuer den Sultan ist fast fertig, nur noch die Tuer zum Harem muss
fertiggestellt werden. 

Das Problem ist, dass der Sultan weder seinem Schluesselmeister noch den
fuenf Sklaven traut, die fuer die Bewachung der Tuer zustaendig sind.
Deshalb moechte er sicherstellen, dass der Schluesselmeister die Tuer nur
oeffnen kann, wenn mindestens ein (beliebiger) Sklave dabei ist, und die
Sklaven koennen die Tuer ansonsten genau dann oeffnen, wenn sie mindestens
zu dritt sind. Niemand sonst bekommt einen Schluessel.

Sowohl der Schluesselmeister als auch die Sklaven koennen mehrere Schluessel
bekommen, zu jedem Schloss werden so viele Schluessel wie noetig angefertigt.
Die Schluessel sind mit einer Kette am Handgelenk zu befestigen, damit sie 
niemals verlegt oder verliehen werden koennen.

Wieviele Schloesser muessen mindestens an der Tuer angebracht werden, um 
diese Bedingungen zu erfuellen?


Phobos

-----------------------------------------------------------------------------



Re: Die Tuer zum Harem (Gnome, 19. Jun 2000, 21:55:40):
~#! rn=Phobos rt=961444412 rg=puiz
~#! tid=961444412
eins, fuer welches der sultan den schluessel bekommt :)

gnOme

-----------------------------------------------------------------------------



Re: Die Tuer zum Harem (Pra, 20. Jun 2000, 11:56:28):
~#! rn=Phobos rt=961444412 rg=puiz
~#! tid=961444412
ich mach jetzt mal ein ernsthaftes, naives Angebot: 25 Schloesser.

Pra. (Vater besitzt Schluesseldienst)

-----------------------------------------------------------------------------



Re: Re: Die Tuer zum Harem (Humni, 20. Jun 2000, 12:13:09):
~#! rn=Pra rt=961494988 rg=puiz
~#! tid=961444412
Ich biete 11. Weiss aber nicht, ob das das Optimum ist.


Humni

-----------------------------------------------------------------------------



Re^3: Die Tuer zum Harem (Humni, 20. Jun 2000, 12:15:50):
~#! rn=Humni rt=961495989 rg=puiz
~#! tid=961444412
Um mich selbst zu korrigieren: Ich denke, das ist das Optimum.

Oder mein Beweis dafuer ist fehlerhaft...

Humni

-----------------------------------------------------------------------------



Re^4: Die Tuer zum Harem (Tiamak, 20. Jun 2000, 12:20:19):
~#! rn=Humni rt=961496150 rg=puiz
~#! tid=961444412
Also entweder uebersehe ich da was, oder Dein Beweis ist in der Tat
fehlerhaft. Ich wuerde naemlich ganz naiv sagen: die Tuer braucht drei
(identische) Schloesser.

Der Schluesselmeister bekommt zwei Schluessel und jeder Sklave einen. Die Tuer
kann also nur mit Schluesselmeister+Sklave oder mindestens drei Sklaven
geoeffnet werden - ganz wie gefordert.

Wo mache ich den Denkfehler?

Tiamak

-----------------------------------------------------------------------------



Re^5: Die Tuer zum Harem (Anatol, 20. Jun 2000, 12:21:39):
~#! rn=Tiamak rt=961496419 rg=puiz
~#! tid=961444412
Jeder Sklave kann die drei Schloesser - nacheinander - oeffnen :)

Anatol :-P


-----------------------------------------------------------------------------



Re^5: Die Tuer zum Harem (Humni, 20. Jun 2000, 12:22:39):
~#! rn=Tiamak rt=961496419 rg=puiz
~#! tid=961444412
Ich hab das so verstanden: Die Schloesser haben alle verschiedene
Schluessel, die jeweils ein bestimmtes Schloss oeffnen. Um die Tuer
aufzukriegen muessen alle Schloesser offen sein.

Oder ist das falsch??

Humni

-----------------------------------------------------------------------------



Re^6: Die Tuer zum Harem (Tiamak, 20. Jun 2000, 12:22:41):
~#! rn=Anatol rt=961496499 rg=puiz
~#! tid=961444412
Na das ist ja nur eine Frage, wie man die Schloesser baut. Fuer die
Atomraketen braucht man - wenn man den Filmberichten trauen darf - ja auch
zwei identische Schluessel, die halt *gleichzeitig* herumgedreht werden
muessen. ;-)

Tiamak

-----------------------------------------------------------------------------



Re^7: Die Tuer zum Harem (Humni, 20. Jun 2000, 12:23:27):
~#! rn=Tiamak rt=961496561 rg=puiz
~#! tid=961444412
Wenn man das so sieht hast du natuerlich Recht, aber die Aufgabe
waere dann ein wenig ZU einfach, denke ich.

Humni

-----------------------------------------------------------------------------



Re^7: Die Tuer zum Harem (Vector, 20. Jun 2000, 12:24:45):
~#! rn=Tiamak rt=961496561 rg=puiz
~#! tid=961444412
hm, dann kommen entweder 2 sklaven zum ziel, oder der dicke gar nicht.
es sei den er ist zauberer und hat ne zusatzhand, und erschaffft noch
nen dritten schluessel :)

--vector--

-----------------------------------------------------------------------------



Re^8: Die Tuer zum Harem (Tiamak, 20. Jun 2000, 12:33:21):
~#! rn=Vector rt=961496685 rg=puiz
~#! tid=961444412
Wieso? Bei drei Schloessern brauchts immerhin drei Sklaven, wenn jeder nur
einen Schluessel hat und der Schluesselmeister hat zwei Arme, kann also auch
zwei Schloesser gleichzeitig oeffnen. ;-)


Tiamak

-----------------------------------------------------------------------------



Re^9: Die Tuer zum Harem (Vector, 20. Jun 2000, 12:34:10):
~#! rn=Tiamak rt=961497201 rg=puiz
~#! tid=961444412
stand da nicht was, dass die sklaven einen arm an den fuss gekettet hatten?:)

-Vector--

-----------------------------------------------------------------------------



Re^10: Die Tuer zum Harem (Tiamak, 20. Jun 2000, 12:34:43):
~#! rn=Vector rt=961497250 rg=puiz
~#! tid=961444412
Na und? Der andere Arm reicht ja ;^)

Tiamak

-----------------------------------------------------------------------------



Re^9: Die Tuer zum Harem (Anoris, 20. Jun 2000, 12:34:59):
~#! rn=Tiamak rt=961497201 rg=puiz
~#! tid=961444412
Und was machst du wenn die Schloesser einen zu grossen Abstand haben? :)

-----------------------------------------------------------------------------



Re^10: Die Tuer zum Harem (Tiamak, 20. Jun 2000, 12:35:51):
~#! rn=Anoris rt=961497299 rg=puiz
~#! tid=961444412
Den Erbauer der Tuer verklagen. :-)

Tiamak

-----------------------------------------------------------------------------



Re^3: Die Tuer zum Harem (Vector, 20. Jun 2000, 12:35:52):
~#! rn=Humni rt=961495989 rg=puiz
~#! tid=961444412
2 der sklaven haben zu wenig zts gesucht, und deswegen koennen sie nur 
bedingt die schloesser oefffnen weil sie zu ungeschickt sind:)

-----------------------------------------------------------------------------



Re^4: Die Tuer zum Harem (Grimmborn, 20. Jun 2000, 19:10:40):
~#! rn=Vector rt=961497352 rg=puiz
~#! tid=961444412
Da es sich um einen Sultan handlet ist die korrekte Antwort natuerlich: Ein
Schloss. Dann werden Schluesselmeister und die Sklaven kastriert und der
Sultan hat nichts mehr zu befuerchten.

GdA

-----------------------------------------------------------------------------



Die Amnestie des Koenigs (Slyfox, 21. Jun 2000, 21:33:40):
Anlaesslich seines 50. Geburtstages will ein Koenig einen Teil der 500 im
Kerker sitzenden Gefangenen amnestieren. Dazu gibt der Koenig dem
Kerkermeister eine genaue Anweisung wie die Teilamnestie durchzufuehren ist. 

Beim 1. Durchgang dreht der Kerkermeister den Schluessel im Schloss jeder
Tuere im Kerker. Beim 2. Durchgang den Schluessel jeder 2. Tuere. Beim 3.
Durchgang den Schluessel jeder 3. Tuere. Beim 4. jeder 4. Tuere und so weiter
bis zur 500. Tuer im Kerker.

Die Schloesser der Tueren sind so gearbeitet dass Sie beim 1. Drehen offen
sind beim 2. Drehen wieder geschlossen beim 3. wieder offen usw.

Wie viele der 500 Gefangenen koennen nach dieser Prozedur durch eine offene
Tuere in die Freiheit?

-----------------------------------------------------------------------------



Re: Die Amnestie des Koenigs (Matis, 21. Jun 2000, 23:35:10):
~#! rn=Slyfox rt=961616020 rg=puiz
~#! tid=961616020
Meiner Meinung nach 22. Denn 22^2<500<23^2.

Matis

-----------------------------------------------------------------------------



Re: Die Amnestie des Koenigs (Phobos, 22. Jun 2000, 16:10:24):
~#! rn=Slyfox rt=961616020 rg=puiz
~#! tid=961616020
alle

beim 2. Durchgang sind alle Zellen schon leer :)

Phobos

-----------------------------------------------------------------------------



Re^5: Die Tuer zum Harem (Phobos, 22. Jun 2000, 16:15:21):
~#! rn=Tiamak rt=961496419 rg=puiz
~#! tid=961444412
Ich hatte die Loesung mit 11 (verschiedenen) Schloessern im Sinn,
aber die Variante mit 3 gleichen Schloessern ist auch interessant.
Obwohl ich nicht weiss, wieviel Technik noetig ist um zu verhindern,
dass man nicht den gleichen Schluessel fuer verschiedene Schloesser
benutzt.


Phobos

-----------------------------------------------------------------------------



Re^6: Die Tuer zum Harem (Oham, 22. Jun 2000, 19:24:23):
~#! rn=Phobos rt=961683321 rg=puiz
~#! tid=961444412
Jubel, recht gehabt!

Um ein wenig anzugeben hier die vollstaendige Loesung:



Der Schluesselmeister hat einen Schluessel nicht, den jeder 
Sklave hat. Ansonsten hat er alle, womit diese Bedingung
erfuellt ist (was 1 Schloss braucht).

Betrachten wir das Problem der anderen Schluessel, so fallen 
sofort ein paar Nebenbedingungen ins Auge:

* Wenn drei Sklaven denselben Schluessel nicht haben, dann koennen 
diese drei die Tuer nicht oeffnen -> Zu jedem Schloss existieren
hoechstens zwei Sklaven, die diesen Schluessel nicht haben.

* Fuer jeweils zwei Sklaven muss ein Schloss existieren, das
beide nicht oeffnen koennen (sonst koennten sie zu zweit ins
Harem) (den Harem?? egal...)

Das heisst, wir brauchen pro Sklavenpaar ein Schloss. Wie viele
Paare kann man aus 5 Sklaven bilden (anders: wie viele 2-elementige
Teilmengen hat eine 5-elementige Menge)? Die Antwort mittels 
elementarer Kombinatorik (*protz*) ist natuerlich 5 ueber 2, also
10. 

Und mit dem einen fuer den Schluesselmeister noetigen Schloss ergeben 
sich dann die 11 noetigen Schloesser.

Humni, Rechthaber.

-----------------------------------------------------------------------------



Re^10: Die Tuer zum Harem (Bambi, 23. Jun 2000, 23:31:41):
~#! rn=Anoris rt=961497299 rg=puiz
~#! tid=961444412
und wer drueckt die Klinke nach unten?

-----------------------------------------------------------------------------



Re^6: Die Tuer zum Harem (Acrimon, 26. Jun 2000, 19:03:59):
~#! rn=Phobos rt=961683321 rg=puiz
~#! tid=961444412
Damit es mit drei gleichen Schloessern funktioniert, braucht man lediglich pro
Schloss eine Feder, die den Riegel zurueckdrueckt, solange man nicht mit dem
Schluessel gegendrueckt. Dann muessen in jedem Schloss ein Schluessel stecken,
damit man die Tuer oeffnen kann.

Acrimon

-----------------------------------------------------------------------------



Re^7: Die Tuer zum Harem (Acrimon, 26. Jun 2000, 19:05:11):
~#! rn=Acrimon rt=962039039 rg=puiz
~#! tid=961444412
PS. Die armen Frauen, die da eingesperrt sind :-)

-----------------------------------------------------------------------------



Re^8: Die Tuer zum Harem (Phobos, 27. Jun 2000, 15:38:11):
~#! rn=Acrimon rt=962039111 rg=puiz
~#! tid=961444412
Ich hab grad die ultimative Antwort bekommen: 1 Schloss reicht

Allerdings befindet es sich in einer Hoehe von etwa 5 Metern, d.h.
man kann es nur erreichen, wenn drei Leute uebereinander stehen :)

Phobos

-----------------------------------------------------------------------------



Re^9: Die Tuer zum Harem (Tiamak, 27. Jun 2000, 15:39:43):
~#! rn=Phobos rt=962113091 rg=puiz
~#! tid=961444412
... was sie selbst nach jede Menge Training nicht hinbekommen, weshalb sie
eine Leiter anschaffen. ;^)

Tiamak

-----------------------------------------------------------------------------



Re: Re: Die Amnestie des Koenigs (Zaphob, 30. Jun 2000, 16:50:55):
~#! rn=Matis rt=961623310 rg=puiz
~#! tid=961616020
Kann mir mal jemand die Loesung des Kerkerquiz' erklaeren?

MfG,
 Zaphob

-----------------------------------------------------------------------------



Re^3: Die Amnestie des Koenigs (Humni, 30. Jun 2000, 16:55:32):
~#! rn=Zaphob rt=962376655 rg=puiz
~#! tid=961616020
Also,

wann ist nach dem Durchlauf eine Tuer offen?? Wenn sie eine 
gerade Anzahl von Umdrehungen hatte, ist sie zu. Wenn sie
eine ungerade hatte, ist sie offen.

Die einzigen Zahlen, die eine ungerade Anzahl von Teilern haben, sind
die Quadratzahlen (1,4,9,16..).

Damit sind die schloesser offen, deren Zellennummern Quadratzahlen
sind.

Da ich jetzt Feierabend mache, hab ich leider keine Zeit mehr nachzudenken,
warum das so ist (hatte ich mal, muss mir nur wieder einfallen..) 
Aber ich denke, darauf kann man kommen. Oder das muss jetzt wer anders 
posten..

Humni

-----------------------------------------------------------------------------



www.tod.de (Yendi, 31. Aug 2000, 13:57:18):
Nachdem mir jetzt schon mehrere Leute gesagt haben, dass ich nicht der einzige
war, der auf www.tod.de kein Raetsel entdecken konnte, habe ich mich
entschlossen, fuer all die Zu-kurz-Gekommenen ein passendes Raetsel aus den
Tiefen meines Gedaechtnisses zu graben:

Wir sind's gewiss in vielen Dingen -
im Tode sind wir's nimmermehr.
Die sind's, die wir zu Grabe bringen,
doch eben jene sind's nicht mehr.
Und weil wir leben, sind wir's eben
im Geiste und von Angesicht.
Und weil wir leben, sind wir's eben
bis jetzt noch nicht.

Fragen nach Autor, Titel, Datum per email an mich, das weiss ich nicht
auswendig. Die Loesung bitte auch nicht einfach posten, sonst aergert sich
wieder die ganze Bagage... :)

YTY


-----------------------------------------------------------------------------



Mathematisches Haus (Morgoth, 15. Sep 2000, 12:12:30):
16 Personen (1-16) ziehen in ein Haus mit 4 Etagen und jeweils 4 Wohnungen
abcd
efgh
ijkl
mnop

Die 2 wohnt im 2. Stock (i-l)
Die Quadratzahlen wohnen in den Ecken
Im 1. Stock werden die Zahlen von links nach rechts groesser
a > e
h > g
j > i
j > k
k > l
n * o = c + d
i + j = k + l
e * f = g + h

Wer wohnt wo?

M*

-----------------------------------------------------------------------------



Re: Re: Mathematisches Haus (Catweazle, 15. Sep 2000, 13:39:13):
~#! rn=Humni rt=969016176 rg=puiz
~#! tid=969012750
Ist richtig, Petze :(
YTC

-----------------------------------------------------------------------------



Ok Ok.. (Humni, 15. Sep 2000, 14:02:43):
also...sorry, wenn ich wem den Spass verdorben haben sollte.
Der naechste Artikel enthaelt die Loesung, wer die noch nicht lesen mag
kann ihn ja uebergehen.

Sorry, Humni.

-----------------------------------------------------------------------------



Loesung (Humni, 15. Sep 2000, 14:02:57):
Ich weiss nicht, ob die Loesung eindeutig ist, aber nach einigem Schmalz
aus meinem Gehirn:

4   12   14   16
3    8   11   13
2   15   10    7
1    5    6    9

passt glaub ich, oder hab ich was uebersehen??

Humni, sollte besser arbeiten ;-)

-----------------------------------------------------------------------------



Re: Loesung (Hate, 15. Sep 2000, 14:19:19):
~#! rn=Humni rt=969019377 rg=puiz
~#! tid=969019377
Wieso einigt ihr Euch nicht darauf, dass Antworten erst ein paar Tage spaeter
gepostet werden duerfen?

Hate.

-----------------------------------------------------------------------------



Re: Re: Loesung (Sky, 15. Sep 2000, 14:22:49):
~#! rn=Hate rt=969020359 rg=puiz
~#! tid=969019377
oder loesung per mail und der erste richtige kriegt ein handgenaehtes kissen
:) oder sowas in der art

-----------------------------------------------------------------------------



Re^3: Loesung (Humni, 15. Sep 2000, 14:25:27):
~#! rn=Sky rt=969020569 rg=puiz
~#! tid=969019377
OK OK - ich war einfach super-stolz drauf das so schnell raus zu haben
und wollte damit angeben.

Zufrieden?

Naechstes Mal mach ichs anders.
CU Humni
PS: Per Mail o.ae. faende ich nicht schlecht. Sollte dann aber unter dem
Artikel drunterstehen.

-----------------------------------------------------------------------------



Re^4: Loesung (Pra, 15. Sep 2000, 17:04:08):
~#! rn=Humni rt=969020727 rg=puiz
~#! tid=969019377
Loesung posten ist schon o.k. man kann aber das auch vorher besser 
ankuendigen und dann ein paar Leerzeichen setzen, so dass man 
scrollen muss, um die Loesung zu sehen:

S

P

O

I

L

E

R



Und hier kommt die Loesung (bzw. hier jetzt nicht).

Pra.

-----------------------------------------------------------------------------



Re^5: Loesung (Mythran, 15. Sep 2000, 17:04:57):
~#! rn=Pra rt=969030248 rg=puiz
~#! tid=969019377
Naja..auch nicht unbedingt einfach...
Kommt drauf an, wie jeder seine Zeilen-Werte hat...

Mythran Smaragdtiger

-----------------------------------------------------------------------------



Re: Mathematisches Haus (Sharia, 19. Sep 2000, 11:04:15):
~#! rn=Morgoth rt=969012750 rg=puiz
~#! tid=969012750
zuviel Spektrum - Raetsel geloest oder Morgoth ? :-)

Sharia

-----------------------------------------------------------------------------



Re: Re: Mathematisches Haus (Morgoth, 19. Sep 2000, 12:38:05):
~#! rn=Sharia rt=969354255 rg=puiz
~#! tid=969012750
:grinst Sharia an

-----------------------------------------------------------------------------



n^2 = p1 + p2 ? (Yendi,  4. Okt 2000, 16:59:36):
Ich meine, auf einem Poster fuer das World Math Year 2000 ein Theorem gelesen
zu haben, nach dem alle Quadratzahlen sich als Summe zweier Primzahlen
darstellen liessen. Weiss da jemand mehr?

YTY


-----------------------------------------------------------------------------



Re: n^2 = p1 + p2 ? (Anatol,  4. Okt 2000, 17:54:46):
~#! rn=Yendi rt=970671576 rg=puiz
~#! tid=970671576
Ich bin kein Mathematiker. Aber bis auf eine sind alle Primzahlen 
ungerade, die Haelfte aller Quadratzahlen gerade. Wenn man nun eine
Quadratzahl aus der Menge der ungeraden Quadratzahlen durch Addition
zweier ganzen Zahlen darstellen moechte, muss eine dieser beiden
Summanden gerade, einer ungerade sein.

Die einzige gerade Primzahl ist 2, daraus wuerde man folgern koennen,
dass es fuer jedes ungerades p mit p = n^2 (n e N) auch ein s mit
s = p - 2, (s ist prim) geben muss.

Fuer n = 53 ist s = 2807, s aber nicht prim (da s = 7 * 401).

Oder taeuscht sich
Anatol
?

-----------------------------------------------------------------------------



Re: Re: n^2 = p1 + p2 ? (Rochus,  4. Okt 2000, 18:04:15):
~#! rn=Anatol rt=970674886 rg=puiz
~#! tid=970671576
Hmm, sehe ich auch so...
vielleicht hat Yendi das ja mit dem Satz verwechselt,
dass sich jede Zahl als Summe von
4 Primquadraten darstellen laesst...
(Wenn ich die Zahlentheorie noch richtig im Kopf habe)

  Rochus

-----------------------------------------------------------------------------



Re^3: n^2 = p1 + p2 ? (Humni,  5. Okt 2000, 00:43:34):
~#! rn=Rochus rt=970675455 rg=puiz
~#! tid=970671576
Das kann wohl kaum sein Rochus...irgend ne Nebenbedingung
wirst Du vergessen haben, aber Du meinst bestimmt nicht 
von GENAU 4 Primquadraten? Sonst kriegst du schon mit 1
Probleme ;-)

CU Humni 
(dessen Zahlentheorie auch lange zurueckliegt...)

-----------------------------------------------------------------------------



Re^4: n^2 = p1 + p2 ? (Anatol,  5. Okt 2000, 00:44:48):
~#! rn=Humni rt=970699414 rg=puiz
~#! tid=970671576
Ich kenne Kasper (sic), die einfach 1 als Primzahl definierten. 
Schliesslich ist sie ja nur durch 1 und sich selbst teilbar. Und
wenn ein Primquadrat das ist, nach was es klingt, dann koennte es
ja wieder passen, oder?

Zahlentheorie? Nie gehoert. :o)
Anatol

-----------------------------------------------------------------------------



Re^5: n^2 = p1 + p2 ? (Anoris,  5. Okt 2000, 00:45:32):
~#! rn=Anatol rt=970699488 rg=puiz
~#! tid=970671576
primzahlen haben aber die menge 2 teiler.. wie auch immer ds mathematisch
auszudruecken is ;)
Anoris...

-----------------------------------------------------------------------------



Re^6: n^2 = p1 + p2 ? (Anatol,  5. Okt 2000, 00:46:06):
~#! rn=Anoris rt=970699532 rg=puiz
~#! tid=970671576
Ich sagte ja: Kasper. Er doziert inzwischen ja auch in den Staaten. ]:^>


-----------------------------------------------------------------------------



Re^5: n^2 = p1 + p2 ? (Humni,  5. Okt 2000, 00:46:22):
~#! rn=Anatol rt=970699488 rg=puiz
~#! tid=970671576
Selbst dann ist 1+1+1+1=4 und nicht 1 ;-)

OK wenn man das genau weglaesst und 1 als Primzahl definiert
(was IMHO ein Verbrechen waere) weiss ich nicht ob der Satz
gilt und hab heute auch keine Lust drueber nachzudenken.

CU Humni

-----------------------------------------------------------------------------



Re^6: n^2 = p1 + p2 ? (Azrael,  5. Okt 2000, 08:44:48):
~#! rn=Humni rt=970699582 rg=puiz
~#! tid=970671576
1 ist keine Primzahl.

Azrael

-----------------------------------------------------------------------------



Re: Re: n^2 = p1 + p2 ? (Guildo,  5. Okt 2000, 09:44:16):
~#! rn=Anatol rt=970674886 rg=puiz
~#! tid=970671576
Es klappt schon bei 11^2 - 2 = 121 - 2 = 119 = 7 * 17 nicht.

Gruss,
Guildo

-----------------------------------------------------------------------------



Re^3: n^2 = p1 + p2 ? (Guildo,  5. Okt 2000, 10:30:01):
~#! rn=Rochus rt=970675455 rg=puiz
~#! tid=970671576
Hmm, wahrscheinlich meinst Du den Satz, dass jede nichtnegative Zahl Summe von
vier Quadraten ist.
Den Satz kann man uebrigens nicht grossartig verbessern: Nimmt man nur drei
Quadrate, kann man die 7 nicht mehr darstellen (genauer gesagt alle Zahlen
kongruent -1 modulo 8); nimmt man nur Quadrate von Primzahlen (und zaehlt
dabei ausnahmsweise mal die 1 und die 0 zu den Primzahlen), geht z.B. 24 nicht
mehr, und wenn man beliebige Primzahlpotenzen (wieder inklusive 0 und 1)
zulaesst, klappt's z.B. bei 56 nicht mehr.

Gruss,
Guildo

-----------------------------------------------------------------------------



Re^7: n^2 = p1 + p2 ? (Humni,  5. Okt 2000, 11:22:36):
~#! rn=Azrael rt=970728288 rg=puiz
~#! tid=970671576
Lies meine Artikel mal wirklich.

Humni, wird ernsthaft sauer, da er sowas nie behauptet hat.

-----------------------------------------------------------------------------



Re^8: n^2 = p1 + p2 ? (Rumata,  5. Okt 2000, 12:32:27):
~#! rn=Humni rt=970737756 rg=puiz
~#! tid=970671576
vielleicht ist auch die Goldbachsche Vermutung gemeint.
rum*

-----------------------------------------------------------------------------



Re^9: n^2 = p1 + p2 ? (Elberet,  5. Okt 2000, 15:07:34):
~#! rn=Rumata rt=970741947 rg=puiz
~#! tid=970671576
Also in Bezug auf Goldbachsche Vermutung, schaut mal auf den Seiten der
DMV-Tagung in Dresden Sektion 10. Seite 9 des Programms. (
www.tu-dresden.de/DMV2000 ). Da hat einer die Goldbachsche Vermutung bewiesen.
( Nebenbei auch die Riemansche) :)))

Elbi



PS ( schade nur, dass er nicht gekommen ist ;) )

-----------------------------------------------------------------------------



Re^10: n^2 = p1 + p2 ? (Elberet,  5. Okt 2000, 15:12:17):
~#! rn=Elberet rt=970751254 rg=puiz
~#! tid=970671576
kleine Korrektur:www.math.tu-dresden.de/DMV2000/

Ach ja und nen Primzahlgenerator fuer grosse Primzahlen hat er auch ;)

Elbi

-----------------------------------------------------------------------------



Re: Re: n^2 = p1 + p2 ? (Yendi,  5. Okt 2000, 17:10:58):
~#! rn=Anatol rt=970674886 rg=puiz
~#! tid=970671576
Tja, man kommt recht rasch auf das Gegnbeispiel n = 11, daher dachte ich mir,
dass ich mich wohl nicht korrekt an das Theorem erinnerte. Ansonsten waere es
wirklich zu leicht, Ruhm & Ehre unter Mathematikern zu erlangen, hmmm?

YTY



-----------------------------------------------------------------------------



Re^4: n^2 = p1 + p2 ? (Rochus,  5. Okt 2000, 17:40:24):
~#! rn=Humni rt=970699414 rg=puiz
~#! tid=970671576
Aehm, BIS ZU 4 natuerlich :)

-----------------------------------------------------------------------------



Re^4: n^2 = p1 + p2 ? (Rochus,  5. Okt 2000, 17:41:46):
~#! rn=Guildo rt=970734601 rg=puiz
~#! tid=970671576
Genau DEN Satz meinte ich :_)

-----------------------------------------------------------------------------



Weisswuerscht. (Karis, 19. Okt 2000, 23:08:08):
Drei Damen sitzen eines Morgens zusammen beim Weisswurscht-Fruehstueck.
INteressant ist, wie die Damen die Wuerste essen:
Die erste schneidet die Weisswurst der Laenge nach auf, zerlegt sie
fachmaennisch
in 2 Haelften, pellt sie aus und isst sie mit Salz.
Die zweite schneidet Scheiben von der Wurst ab, pellt sie aus und isst sie
mit Weisswurstsenf.
Die dritte zutzelt die Wurst aus.

Frage: Welche der drei Damen ist die Witwe?

Generaelchen Karis.

-----------------------------------------------------------------------------



Re: Weisswuerscht. (Gnome, 19. Okt 2000, 23:20:58):
~#! rn=Karis rt=971989688 rg=puiz
~#! tid=971989688
aeh... natuerlich die ohne ring ;-)

gnOme

-----------------------------------------------------------------------------



Re: Re: Weisswuerscht. (Yendi, 20. Okt 2000, 10:59:38):
~#! rn=Gnome rt=971990458 rg=puiz
~#! tid=971989688
Ich dachte, die ganz in Trauerschwarz...


-----------------------------------------------------------------------------



Suche.... (Zarniya, 24. Okt 2000, 10:22:14):
Woerter ohne Vokale.... aber keine namen oder so... 

Marc

-----------------------------------------------------------------------------



Re: Suche.... (Zarniya, 26. Okt 2000, 09:53:02):
~#! rn=Zarniya rt=972375734 rg=puiz
~#! tid=972375734
Also ich kenne ein Wort ohne Vokale.... die erwaehnten Krk und Styx sind da
aber nicht gemeint, weil das ja Namen sind.

Nebenbei habe ich versucht, diese ganze Artikelflut ueber Woerter damit nach
puiz zu verlegen, denn in allgemein gehoert das nicht rein und koennte da
Leser nerven....

Marc

-----------------------------------------------------------------------------



Re: Re: Suche.... (Phobos, 26. Okt 2000, 15:22:00):
~#! rn=Zarniya rt=972546782 rg=puiz
~#! tid=972375734
wie waers mit Typ?

Phobos

-----------------------------------------------------------------------------



Re^3: Suche.... (Guildo,  2. Nov 2000, 09:55:00):
~#! rn=Phobos rt=972566520 rg=puiz
~#! tid=972375734
Pfffft!

Gruss,
Guildo

-----------------------------------------------------------------------------



Was habe ich in meiner Hand? (Phobos,  7. Nov 2000, 19:55:07):
Ich hielt vier Stueck in meiner Hand, aber als ich
eins abschneiden wollte, sind drei runtergefallen
... jetzt habe ich noch fuenf Stueck in meiner Hand.

Phobos

-----------------------------------------------------------------------------



Putzige Worte (Grimmborn,  8. Nov 2000, 15:33:12):
Ich hab auch noch einen: Wie viele a) gleiche und b) verschiedene Vokale kann
man legal nach der alten Rechtschreibung vor einen Doppelkonsonanten pressen?
Ich komme auf Anhieb auf je drei, aber das ist vermutlich nicht das Ende der
Fahnenstange.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Putzige Worte (Yendi,  8. Nov 2000, 16:24:47):
~#! rn=Grimmborn rt=973693992 rg=puiz
~#! tid=973693992
Ich komme auf 4 unterschiedliche Vokale vor einem Doppelkonsonanten.

YTY


-----------------------------------------------------------------------------



Re: Was habe ich in meiner Hand? (Daria, 11. Nov 2000, 13:17:27):
~#! rn=Phobos rt=973623307 rg=puiz
~#! tid=973623307
Ganz einfach. Du bist ein psychisch kranker Moerder, der Haende sammelt. Du
hast vier Haende in der Hand. von einer schneidest du die Finger ab. dabei
fallen drei haende runter. Also hast du jetzt 5 Finger (fuer BEsserwisser: an
einem haengt noch der Rest
der einen hand)

Daria

-----------------------------------------------------------------------------



Mathem.(?) Dreieck (oder wie auch immer) (Liafar, 11. Nov 2000, 15:41:51):
.                                 *
.                                * *
.                               *   *
.                              * * * *
.                             *       *
.                            * *     * *
.                           *   *   *   *
.                          * * * * * * * *
.                         *               *
.                        * *             * *
.                       *   *           *   *
.                      * * * *         * * * * 
.                     *       *       *       * 
.                    * *     * *     * *     * * 
.                   *   *   *   *   *   *   *   * 
.                  * * * * * * * * * * * * * * * * 
.                 *                               * 
.                * *                             * * 
.               *   *                           *   * 
.              * * * *                         * * * * 
.             *       *                       *       * 
.            * *     * *                     * *     * * 
.           *   *   *   *                   *   *   *   * 
.          * * * * * * * *                 * * * * * * * * 
.         *               *               *               * 
.        * *             * *             * *             * * 
.       *   *           *   *           *   *           *   * 
.      * * * *         * * * *         * * * *         * * * * 
.     *       *       *       *       *       *       *       * 
.    * *     * *     * *     * *     * *     * *     * *     * * 
.   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   * 
.  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 


Wie entsteht dieses Bild? (aus einer Zeile resultiert die naechste) 
(Wenn man es weiss ist es wirklich einfach... wie alles)

Liafar

-----------------------------------------------------------------------------



Re: Mathem.(?) Dreieck (oder wie auch immer) (Gloinson, 11. Nov 2000, 15:57:11):
~#! rn=Liafar rt=973953711 rg=puiz
~#! tid=973953711
War ein Stichwort dazu nicht "Pascal"?

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: Mathem.(?) Dreieck (oder wie auch immer) (Liafar, 11. Nov 2000, 15:59:37):
~#! rn=Gloinson rt=973954631 rg=puiz
~#! tid=973953711

Ich habs in Visual C++ programmiert. (graphisch)

Liafar

-----------------------------------------------------------------------------



Re^3: Mathem.(?) Dreieck (oder wie auch immer) (Dieder, 11. Nov 2000, 16:24:50):
~#! rn=Liafar rt=973954777 rg=puiz
~#! tid=973953711
ACK!

Nicht die Sprache ist gemeint... :)

Dieder

-----------------------------------------------------------------------------



Re^4: Mathem.(?) Dreieck (oder wie auch immer) (Grimmborn, 11. Nov 2000, 16:38:12):
~#! rn=Dieder rt=973956290 rg=puiz
~#! tid=973953711
Der Algorhythmus (jaja, ich hab in der Schule mehr mit Musik als mit
Informatik zu tun gehabt) erinnert irgendwie ein wenig an den Herrn Conway,
oder bin ich auf dem Holzweg?

Ach ja, wenn jemand eine Quelle dieses Game of Life (fuer Linux) zur Hand hat
waere ich interessiert.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Mathem.(?) Dreieck (oder wie auch immer) (Christopher, 11. Nov 2000, 17:18:32):
~#! rn=Grimmborn rt=973957092 rg=puiz
~#! tid=973953711
Das Dreieck kenne ich aus irgendeinem Fraktalbuch.
Es war auch mal Aufgabe im Bundeswettbewerb Informatik.
Dort ging es sinngemaess um folgende Aufgabe.

Ein Wanderer moechte ein magisches Dreieck,das sich zwischen drei Pyramiden, 
die sich nicht alle auf einer Gerade befinden erforschen.
Das Magische Dreieck wurde von einem Pharao mit einem Fluch belegt.
Dieser bewirkt, das jeder der das Dreieck betritt immer nur direkt auf eine
der drei Pyramiden zugehen kann. Diese wird auch noch zufaellig ausgewaehlt.
Weiter MUSS der Wanderer sobald er die Haelfte des Weges zwischen sich und 
der gewaehlten Pyramide zurueckgelegt hat Rasten.
Er kann auch NUR dort Rasten und er kann nur dort forschen.
Nach der Rast hat der Wanderer seinen Orientierungssinn verloren und waehlt 
deshalb zufaellig eine neue Pyramide.
Wenn man mit einem Programm alle Rastpunkte und die Pyramiden makiert bekommt 
man das Dreieck.

Christopher

P.S.: wenn man die Pyramiden so anordnet, dass sie keine regelmaessiges
Dreieck
bilden siehst noch lustiger aus :)

-----------------------------------------------------------------------------



Re^5: Mathem.(?) Dreieck (oder wie auch immer) (Humni, 11. Nov 2000, 19:07:33):
~#! rn=Grimmborn rt=973957092 rg=puiz
~#! tid=973953711
Fuer mich gilt selbiges, vor allem wuerde ich gerne wissen, WELCHER Herr
Conway das eigentlich ist.

CU Humni

-----------------------------------------------------------------------------



Re^6: Mathem.(?) Dreieck (oder wie auch immer) (Matis, 11. Nov 2000, 19:07:47):
~#! rn=Christopher rt=973959512 rg=puiz
~#! tid=973953711
Genau, dass das mal Aufgabe beim Bundeswettbewerb Informatik war,
war auch mein erster Gedanke. Lustige Zeit damals ;o).
Uebrigens ergibt sich quasi so nebenbei noch eine weitere 
Aufgabenstellung: Wie gross ist der Anteil der "freien"
(weissen, unbesuchten, nicht mit Sternen verunstalteten, ... )
Flaechen am Gesamtdreieck. Da ergibt sich ein netter Wert :o).

Matis

-----------------------------------------------------------------------------



Allg bem. zum Dreieck (Liafar, 11. Nov 2000, 19:55:36):
Wenn man sich das Dreieck naeher ansieht erkennt man einige interessante
Tatsachen:

   1. Bei allen ungeraden Zeilenzahlen sind nie zwei Sterne nebeneinander.
   2. Bei allen geraden Zeilenzahlen sind immer min zwei Sterne
      nebeneinander.
   3. Bei jeder 2^n ten Zeile sind immer durchgehend Sterne.
   4. (2 allg) Wenn n ein ganzzahliges Vielfaches von 2 ist, dann wird die
      Anzahl der aufeinanderfolgenden Sterne n. 
   5. Alle Dreiecke sind aehnlich (gleiche Winkel)
   6. Die Seitenlaenge eines Dreiecks ist die des kleinsten * 2^n (n aus N)

Vielleicht hab ich noch einen Haufen von Eigenschaften in der Eile uebersehen.
Auf jeden Fall ist der Algorithmus nach dem man dieses Gebilde erzeugen kann
auch sehr einfach.

Das ganze hat auch etwas mit dem Binaersystem zu tun (2^n).

Liafar

-----------------------------------------------------------------------------



Re: Allg bem. zum Dreieck (Grimmborn, 11. Nov 2000, 20:00:52):
~#! rn=Liafar rt=973968936 rg=puiz
~#! tid=973968936
OK, also so wirds gemacht:
- Starte mit einem Stern.
- Gehe eine Zeile weiter, setze ueberall einen Stern, wo in der Zeile
  drueber genau eines der drei nach oben angrenzenden Felder von einem
  Stern besetzt ist.
- Und wieder gehts eine Zeile weiter
- Und noch eine Zeile
- Und immer wieder eine Ziele weiter
- Das ganze theoretisch (aber nicht praktisch!) unendlich wiederholen.

Was das mit dem Binaersystem zu tun hat ist mir allerdings nicht klar.

GdA

-----------------------------------------------------------------------------



Re: Re: Allg bem. zum Dreieck (Liafar, 11. Nov 2000, 20:13:43):
~#! rn=Grimmborn rt=973969252 rg=puiz
~#! tid=973968936
Ich gebe zu dass der Bezug zum Binaersystem ein wenig weit hergeholt ist,
allerdings bestehen schon gewisse Aehnlichkeiten.
z.B ist die maximal erreichbare Zahl im Binaersystem umgerechnet ins
Dezimalsystem 2^(Anzahl der Stellen (im bin))
Weiters gibt es gewisse Aehnlichkeiten wenn man aufeinanderfolgende Zahlen und
aufeinanderfolgende Reihen betrachtet.

Was es genau damit auf sich hat moege ein Anderer beantworten.

Liafar

-----------------------------------------------------------------------------



Re^3: Allg bem. zum Dreieck (Liafar, 11. Nov 2000, 20:28:00):
~#! rn=Liafar rt=973970023 rg=puiz
~#! tid=973968936
Korrektur: Die maxim. Zahl ist 2^(Anzahl der Stellen)-1

-----------------------------------------------------------------------------



Re: Re: Allg bem. zum Dreieck (Nonne, 13. Nov 2000, 10:09:12):
~#! rn=Grimmborn rt=973969252 rg=puiz
~#! tid=973968936
Mmmh, da das ganze ja immer diagonal versetzt ist, gibt es nach oben nur 2
angrenzende Felder. Mit den beiden Feldern kommt man ueber eine
XOR-Verknuepfung an das Ergebnis. Ist allerdings auch nicht sonderlich binaer
(c;

Nonne.

-----------------------------------------------------------------------------



Re: Re: Allg bem. zum Dreieck (Daria, 13. Nov 2000, 10:55:42):
~#! rn=Grimmborn rt=973969252 rg=puiz
~#! tid=973968936
Bezug zum Binaersystem ist doch klar:
1 Stern + 1 Stern = 0 Sterne
0 Sterne + 0 Sterne = 0 Sterne
1 Stern + 0 Sterne = 1 Stern

Daria

-----------------------------------------------------------------------------



Re^3: Allg bem. zum Dreieck (Yendi, 13. Nov 2000, 17:50:38):
~#! rn=Daria rt=974109342 rg=puiz
~#! tid=973968936
Ich kann ja mal in meinem kleinen gruenen Mathe-Stoecker nachschauen, da wurde
das genauer benannt. Und meines Wissens nach hatte das mit einem Herrn namens
Conway nichts zu tun, zumindest kann ich mich an den Namen nicht erinnern.

YTY


-----------------------------------------------------------------------------



Re^4: Allg bem. zum Dreieck (Zwirion, 13. Nov 2000, 18:39:01):
~#! rn=Yendi rt=974134238 rg=puiz
~#! tid=973968936
Die Figur laesst sich auch aus dem bekannten Pascal'schen Dreieck ableiten
(jede Zahl ist die Summer der beiden darueberstehenden):
                1
               1 1 
              1 2 1 
             1 3 3 1
            1 4 6 4 1   
           1 5 1010 5 1
Wenn man jetzt die geraden Zahlen loescht und die ungeraden durch * ersetzt
bekommt man die Figur.
Das ganze ist eigentlich nix anderes als eine diskrete Version des
Sierpinski-Dreiecks (ein Fraktal): man nehme ein gleichseitiges Dreieck,
entferne ein umgedrehtes, verkleinertes Dreieck in der Mitte, so dass 3
Dreiecke stehenbleiben, die sich an den Ecken beruehren und wende dann das
Verfahren auf diese 3 Dreiecke wiederum an usw.
                                                              zwirion

-----------------------------------------------------------------------------



Re^5: Allg bem. zum Dreieck (Rochus, 13. Nov 2000, 18:48:51):
~#! rn=Zwirion rt=974137141 rg=puiz
~#! tid=973968936
Also das Pascal'sche Dreieck in (Z/2Z), wie Daria schon erwaehnt hat :-)

-----------------------------------------------------------------------------



Re^5: Allg bem. zum Dreieck (Yendi, 14. Nov 2000, 12:05:35):
~#! rn=Zwirion rt=974137141 rg=puiz
~#! tid=973968936
Sierpinsky, genau!

Yendi schlaegt sich vor die Stirn


-----------------------------------------------------------------------------



Re: Re: Was habe ich in meiner Hand? (Phobos, 14. Nov 2000, 12:59:40):
~#! rn=Daria rt=973945047 rg=puiz
~#! tid=973623307
Aehm, eigentlich habe ich nur eine Ecke von einem Blatt Papier abgeschnitten.
Aber schoen, dass es noch Leute mit Phantasie gibt ;)

Phobos

-----------------------------------------------------------------------------



Was habe ich jetzt in meiner Hand? (Phobos, 14. Nov 2000, 18:21:03):

Ein Behaelter ohne Boden, um Fleisch und Blut hineinzutun. Was habe ich jetzt
in meiner Hand?

Phobos

-----------------------------------------------------------------------------



Re: Was habe ich jetzt in meiner Hand? (Daria, 14. Nov 2000, 18:22:47):
~#! rn=Phobos rt=974222463 rg=puiz
~#! tid=974222463
ALso... mir faellt da nur die Wurstpelle fuer ne Blutwurst ein...

Daria, diesmal nicht so blutruenstig

-----------------------------------------------------------------------------



Re: Was habe ich jetzt in meiner Hand? (Daria, 14. Nov 2000, 18:33:00):
~#! rn=Phobos rt=974222463 rg=puiz
~#! tid=974222463
Also wenn man aus Paderborn kommt, faellt einer dabei auch schnell "Hostie"
ein. So der Leib christi. Ok, ich wollte nicht blasphemisch werden. 

Phobos hat schon gesagt dass das falsch is, aber ich fands gut ;-)
Und Behaelter passt rein theologisch doch auch oder?
Daria .

-----------------------------------------------------------------------------



Re: Re: Was habe ich jetzt in meiner Hand? (Anacrion, 15. Nov 2000, 03:46:35):
~#! rn=Daria rt=974223180 rg=puiz
~#! tid=974222463
Also das geht auch einfacher
MAn setz ueberall einen stern, wo genau EINER in der reihe davor war, zwei
oder keiner-> kein stern


Weiss einer, wie DIE Reihe weitergeht ?

1
21
1211
111221
312211
... 
??

Anac* - postet auch mal Raetsel

-----------------------------------------------------------------------------



Re^3: Was habe ich jetzt in meiner Hand? (Guildo, 15. Nov 2000, 09:18:39):
~#! rn=Anacrion rt=974256395 rg=puiz
~#! tid=974222463
Die zweite Zeile fehlt!

Gruss,
Guildo

-----------------------------------------------------------------------------



Re^3: Was habe ich jetzt in meiner Hand? (Grosch, 16. Nov 2000, 07:50:08):
~#! rn=Anacrion rt=974256395 rg=puiz
~#! tid=974222463
Die naechste Reihe lautet

13112221

grosch

-----------------------------------------------------------------------------



Re^4: Was habe ich jetzt in meiner Hand? (Anacrion, 16. Nov 2000, 08:37:58):
~#! rn=Grosch rt=974357408 rg=puiz
~#! tid=974222463
Ahja. Ist wohl doch nciht so unbekannt .. ja. die zweite zeile fehlte. hat der
lagdaemon beim blindtippen gefressen.

Anac* ist stolz auf Euch

-----------------------------------------------------------------------------



Re^5: Was habe ich jetzt in meiner Hand? (Gnome, 17. Nov 2000, 02:07:08):
~#! rn=Anacrion rt=974360278 rg=puiz
~#! tid=974222463
ganz toll.
und nach welchem algorithmus geht das nu?

gnOme

-----------------------------------------------------------------------------



Re^6: Was habe ich jetzt in meiner Hand? (Rochus, 17. Nov 2000, 08:12:07):
~#! rn=Gnome rt=974423228 rg=puiz
~#! tid=974222463
Nach dem Algorithmus "zaehlen".

PS: Die fehlende Zeile (zwischen 1 und 21) lautet 11.

-----------------------------------------------------------------------------



Re^3: Was habe ich jetzt in meiner Hand? (Kobayashi, 19. Nov 2000, 12:28:35):
~#! rn=Anacrion rt=974256395 rg=puiz
~#! tid=974222463
13112221

-----------------------------------------------------------------------------



Re^4: Was habe ich jetzt in meiner Hand? (Kobayashi, 19. Nov 2000, 12:29:52):
~#! rn=Kobayashi rt=974633315 rg=puiz
~#! tid=974222463
eine 1 eine 3 zwei 1 drei 2 eine 1
1113213211

-----------------------------------------------------------------------------



Literatur(?)-Raetsel (Liafar, 21. Nov 2000, 22:42:06):
Die Armen haben es und wenn man es isst stirbt man.

Am Rande: Aus welchem Buch ist dieses Raetsel?

PS: Keine Garantie, dass das der genaue Wortlaut war. Hab es nur aus der
Erinnerung (lang ist es her) versucht zu rekapitulieren.

-----------------------------------------------------------------------------



Re: Literatur(?)-Raetsel (Anacrion, 21. Nov 2000, 22:43:24):
~#! rn=Liafar rt=974842926 rg=puiz
~#! tid=974842926
... und es ist ein Zweitie eines bekannten Spielers.

Anac*

-----------------------------------------------------------------------------



Re: Re: Literatur(?)-Raetsel (Matis, 21. Nov 2000, 22:44:10):
~#! rn=Anacrion rt=974843004 rg=puiz
~#! tid=974842926
... und das Raetsel existiert mehrfach in aehnlicher Form hier im MG.

Matis

-----------------------------------------------------------------------------



Re^3: Literatur(?)-Raetsel (Liafar, 21. Nov 2000, 22:46:44):
~#! rn=Matis rt=974843050 rg=puiz
~#! tid=974842926
Tut mir leid, hab ich nicht gewusst. (Bin wohl noch nicht lange genug im MG)

Liafar

-----------------------------------------------------------------------------



Re^4: Literatur(?)-Raetsel (Matis, 21. Nov 2000, 22:47:57):
~#! rn=Liafar rt=974843204 rg=puiz
~#! tid=974842926
Nichts, was Dir leid tun muesste. :o)

Matis

-----------------------------------------------------------------------------



Re: Literatur(?)-Raetsel (Foobar, 22. Nov 2000, 18:03:25):
~#! rn=Liafar rt=974842926 rg=puiz
~#! tid=974842926
Dieses Raetsel kommt auch in Baldurs's Gate II vor.

Nur mal so am Rande...

Foobar

-----------------------------------------------------------------------------



Re: Re: Literatur(?)-Raetsel (Liafar, 22. Nov 2000, 19:06:58):
~#! rn=Foobar rt=974912605 rg=puiz
~#! tid=974842926
Finde es wirklich schlimm, dass nur noch Raetsel aus bekannten Buechern in
 ~d
Finde es nicht wirklich gut, dass so oft Raetsel aus bekannten Buechern in
diversen Spielen verwendet werden. Da faellt mir spontan dazu ein:
Sprich(,) Freund und tritt ein.
Der Sinn von solchen Raetseln kann doch nicht sein, dass jemand, der dieses
Buch schon gelesen hat (und nur dadurch), die Loesung findet. Oder?

Jetzt mal ein Raetsel aus einem anderen Bereich:

Dem Pfarrer wurde die Geldboerse von einem
Ministranten geklaut.
Bei jedem der fuenf sind zwei 
Aussagen wahr, und eine ist falsch.
Wer ist der Schuldige?

Aussage Albert Arbenz
a. Ich habe das Geld nicht genommen.
b. Ich habe noch nie geklaut.
c. Es war der Dieter.

Aussage Bartholomaeus Brenner
d. Ich habe die Geldboerse nicht genommen.
e. Ich habe meinen eigenen Geldbeutel,
   und mein Vater verdient so viel, dass ich das
   Geld vom Pfarrer wirklich nicht noetig habe.
f. Der Emmeran weiss, wer es war.

Aussage Carlo Calabrese
g. Ich war es nicht.
h. Ich habe Emmeran erst kennengelernt,
   als ich hier Ministrant wurde.
i. Es war Dieter.

Aussage Dieter Drexier
j. Ich bin unschuldig.
k. Emmeran ist der Dieb.
l. Albert luegt, wenn er behauptet, dass ich
   das Geld gestohlen habe.

Aussage Emmeran Eckstein
m. Ich habe den Geldbeutel nicht gestohlen.
n. Bartholomaeus ist der Taeter.
o. Carlo kann sich fuer mich verbuergen. Wir
   waren schon im Laufstall zusammen.


Liafar

-----------------------------------------------------------------------------



Re^3: Literatur(?)-Raetsel (Phobos, 22. Nov 2000, 20:27:34):
~#! rn=Liafar rt=974916418 rg=puiz
~#! tid=974842926
Ganz klar, der Butler ist immer der Moerder!

Loesung: cdqszdsdqhrsazsgnknlzdtr


Phobos

-----------------------------------------------------------------------------



Re^3: Literatur(?)-Raetsel (Yendi, 22. Nov 2000, 21:30:14):
~#! rn=Liafar rt=974916418 rg=puiz
~#! tid=974842926
Also, ohne jetzt im einzelnen die Antworten der Ministranten gelesen zu haben:
Wenn jeder von denen zweimal luegt und einmal die WAhrheit sagt, gehoeren die
allesamt in die Hoelle und nicht neben den Altar, Geldboerse hin oder her.
Jawollja.

YTY,
  wrapped in wrighteous wrath


-----------------------------------------------------------------------------



ordnung muss sein (Phobos,  7. Dez 2000, 17:25:21):

Hmm, mal wieder nix los hier. Also Zeit fuer ein kleines puiz.


Ups, da sind mir ein paar Listen durcheinander geraten. Jede Liste besteht
aus mehreren Woertern, die etwas 'gemeinsam' haben. Sie bilden entweder
eine vollstaendige Gruppe oder den Anfang einer Folge. Beispiele:

BBEILLMORTT     -  Bill, Bert, Tom (die Trolle aus "Der kleine Hobbit")
ABCDE           -  A, B, C, D, E, ... (Anfang der Liste aller Buchstaben)

Die folgenden Beispiele bestehen jeweils aus mindestens vier Woertern:


 1. AAAAAAACCCEEEEEEEEEEHHHIIIIIILLLLLLMMMNNNOOOOOOPPPPPRRRRRSTTTTUUYY
 2. AAAAAAACDDEEEFGGGGGGHIIIMMMNNNNNNOOOORRSSSSSTTTTTTTTW
 3. AAAAAABDEEGHLLMMPTT
 4. AAAAABCDEEEILMNNOORRRSTT
 5. AAAAAEEHHJKKLMMNNORSSSSTTUUU
 6. AAAABCEEEEGHHIIILLLLMPRRRU
 7. AAAADEGIIIIIIKKMNNNOSTTTTUVVVV
 8. AAABCDEEGGHIMMNNNORTTT
 9. AAABDEEEEEEFGGIIKLMMNNOPRRRRRSTUUU
10. AAABELNNOOPRRSSSTT
11. AAACDDEEEEEGHHIJKMMNNNNOORSSTTTTUUUW
12. AAADEEEEEEIJKLMMNNNNNOPPPRRRRRRRSSSSTTTTUUUUUUUUV
13. AABBDEEEEGGGGIIILLLNNNOOOORRRTTTUUV
14. AABEEEGIILRRSSSSSTTUUZ
15. AACDEGHIIIIMNNNNNNOSTTUYY
16. AADEEEFIIIIIIKKLLMMMNNNOOOOOPRTTTTZZ
17. AADEEEGHIKLMNNNNNNNOOOOOPRRRTUXY
18. AADEFIILLMOORSS
19. ACCCEEEEEEEEEHHHHIKMNNNNNORRSSSTT
20. ADEEEEEFFLRRRSSTUUW
21. AEEHIKKKOPRRRUZZ
22. BBCEEEEEFFGHHIILLMNNORSTWZ
23. BCDEEEEEEEEFFHIIIIILLNNNNRRSSSSUUVWZ
24. BEEEEFGHHIILMMNNORRRRSSTTUW
25. CDEEEEHHIIIIIRRRSSSUW
26. DDEEEEEENNNNNOORSSSTTUW
27. DEEEEGGHIIKLNNOPRRSTTUZ
28. IIIIIIIIIIIIIVVVVV


Loesungen bitte per Mail an mich. Ergebnisse und Gewinner gibts in
zwei Wochen hier in der MPA. Preise gibts nicht :)

Wer weitere Listen hat, mit fortlaufender Nummer (29 ...) in die
MPA.



Phobos

-----------------------------------------------------------------------------



Re: ordnung muss sein (Linflas,  7. Dez 2000, 17:29:19):
~#! rn=Phobos rt=976206321 rg=puiz
~#! tid=976206321
Genau, Ordnung muss sein!

Linflas, sich die Nummer 28 nochmal genauer auschauend.

-----------------------------------------------------------------------------



Re: ordnung muss sein (Catweazle,  8. Dez 2000, 08:08:41):
~#! rn=Phobos rt=976206321 rg=puiz
~#! tid=976206321
Hmph.
Das ist kein Raetsel, das ist mit aller Gewalt auf Raetsel getrimmter
Duennfugmuell. Ausser Nr. 28 ist da ja wohl so gut wie nix von zu loesen. Vier
Woerter, pfff ...
YTC (saubloed)

-----------------------------------------------------------------------------



Re: Re: ordnung muss sein (Zillus,  8. Dez 2000, 09:13:37):
~#! rn=Catweazle rt=976259321 rg=puiz
~#! tid=976206321
was ist Duennfugmuell genau?

Z. (saubloed)

-----------------------------------------------------------------------------



Re: ordnung muss sein (Alboin, 12. Dez 2000, 17:52:24):
~#! rn=Phobos rt=976206321 rg=puiz
~#! tid=976206321
ich habe noch ein paar: 29. AAABCDEEGGHIMMNNNORTTT
30. LLLLLLLLLLLLOOOOOO (leicht, aber trotzdem..)
31. AAAAAADDGHHIMNNNOOOPRRRSSSTTTU
(hier muesste eigentlich noch ein ' )dazugeschrieben werden)
32. KKKKKKKKKKKKLLLLLLLL (auch leicht)
33. ABBCEEEEFFFFFFHHHIIIIIKKLLLLLMMMNOOOOORRRSSSSSSTTTTTUUUWY

Gruesse Al

-----------------------------------------------------------------------------



Re: Re: ordnung muss sein (Alboin, 12. Dez 2000, 18:00:02):
~#! rn=Alboin rt=976639944 rg=puiz
~#! tid=976206321
Korrektur zu 31: AAAAAADGHHIMNNOOOPRRRSSSTTT
( und wie gesagt, eigentlich muesse ein ' rein)

Al

-----------------------------------------------------------------------------



Re^3: ordnung muss sein (Boing, 13. Dez 2000, 10:10:10):
~#! rn=Alboin rt=976640402 rg=puiz
~#! tid=976206321
34: AAAACCCCDDEEGGGHHHJJJKKMMMOOOOOOOOOOPPQQQQQTTUUUUUXXXXZ

-----------------------------------------------------------------------------



Re^4: ordnung muss sein (Gnome, 13. Dez 2000, 22:34:11):
~#! rn=Boing rt=976698610 rg=puiz
~#! tid=976206321
35. IHRSEIDALLEBUESCHENDEPPERT

gnOme

-----------------------------------------------------------------------------



Re: Re: ordnung muss sein (Phobos, 15. Dez 2000, 12:45:24):
~#! rn=Alboin rt=976639944 rg=puiz
~#! tid=976206321
Was genau ist der Unterschied zwischen 29. und 8. ?

30. logisch
31. Einer fuer alle, keiner fuer Einer (oder so aehnlich)
32. Dida, Dadididit
33. H, He, Li, ...


Phobos

-----------------------------------------------------------------------------



Re^3: ordnung muss sein (Alboin, 15. Dez 2000, 14:10:46):
~#! rn=Phobos rt=976880724 rg=puiz
~#! tid=976206321
habe noch 2:


35. AEEGGGHIJLNNOOOPRRU

36. AAAAAAAAEEEEFIIIIKKLMNNOPRRRRSSTUU

Phobos: jep 29 ist dasselbe wie 8. damit habe ich 9 bisher raus

gruesse Al

-----------------------------------------------------------------------------



Re^4: ordnung muss sein (Phobos, 15. Dez 2000, 15:25:35):
~#! rn=Boing rt=976698610 rg=puiz
~#! tid=976206321
Argl, so viele J/Q/X hat mein Scrabble-Spiel nicht :(


Phobos

-----------------------------------------------------------------------------



ordnung muss sein (aufloesung) (Phobos, 21. Dez 2000, 16:31:50):
So, hier die Aufloesung des Buchstabensalats:


 1. Calliope, Clio, Erato, Euterpe, Melpomene, Polyhymnia, Terpsichore,
    Thalia, Urania  (Musen)
 2. Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag
 3. Alpha, Beta, Gamma, Delta, ...
 4. Anton, Berta, Caesar, Dora, Emil, ...  ("Ich kaufe ein D wie Deodor
    und ein B wie Baula")
 5. Matthaeus, Markus, Lukas, Johannes  (Evangelisten)
 6. Gabriel, Michael, Raphael, Uriel  (Erzengel)
 7. Nominativ, Genitiv, Dativ, Akkusativ
 8. Morgen, Mittag, Abend, Nacht
 9. Koenig, Dame, Turm, Springer, Laeufer, Bauer  (Schachfiguren)
10. Bass, Tenor, Alt, Sopran
11. Sekunde, Minute, Stunde, Tag, Woche, Monat, Jahr
12. Merkur, Venus, Erde, ich, Jupiter, Saturn, Uranus, Neptun, Pluto
13. rot, orange, gelb, gruen, blau, indigo, violett  (Regenbogenfarben)
14. suess, salzig, sauer, bitter  (Geschmackssache)
15. Adenin, Cytosin, Guanin, Thymin  (die Bausteine der DNS)
16. dezi, zenti, milli, mikro, nano, piko, femto, atto
17. Helium, Neon, Argon, Krypton, Xenon, Radon  (Edelgase)
18. do, re, mi, fa, sol, la, si  (*sing*)
19. sehen, hoeren, riechen, schmecken, tasten
20. Feuer, Wasser, Erde, Luft
21. Karo, Herz, Pik, Kreuz
22. Mensch, Elf, Zwerg, Hobbit, Feline
23. null, eins, zwei, drei, vier, fuenf, sechs, sieben, ...
24. Fruehling, Sommer, Herbst, Winter
25. ich, du, er, sie, es, wir, ihr, sie
26. Norden, Osten, Sueden, Westen
27. Krieg, Hunger, Pestilenz, TOD  (die vier Reiter der Apokalypse)
28. I, II, III, IV, V, VI, VII, VIII, ...



And the winner is:   ALBOIN

Glueckwunsch an alle Teilnehmer. War doch gar nicht so schwer, oder?





Mary Christmas and a happy New York

  Phobos

-----------------------------------------------------------------------------



Logisches denken loest auch scheinbar unlogisches (Liafar, 29. Dez 2000, 03:08:08):
An einer Tankstelle ohne Selbstbedienung erhalten fuenf Stammkunden ausser
einer Tankfuellung noch je ein unterschiedliches Service.

Herr Werner faehrt ebenso, wie Herr Meyer und Frau Trix nicht in einem
Kleinbus vor; sie gibt fuers Tanken Nicht 280.- Schilling aus.

Frau Dengg, die einen Jeep faehrt, laesst nicht die Luft im Reifen
nachfuellen.

Frau Schreyer benoetigt etwas Wasser fuer den Kuehler; sie zahlt jedoch nicht
360.- Schilling.

Die Person im Wohnmobil haette gern eine sabere Frontscheibe. Es ist aber
nicht der 400.- Schilling bezahlende Herr Meyer.

Im Kombiwagen sitzt die Person, die 280.- Schilling bezahlt. Sie moechte weder
Frostschutz noch Luft in den Reifen gefuellt haben.

Eine Person bezahlt 500.- und laesst den Frostschutz im Kuehler ueberpruefen.


Aufgabenstellung:

a) Wer faehrt die Limousine?

b) Wer tankt fuer 150.- Schilling?

c) Wer laesst den Oelstand ueberpruefen?

Antworten per Mail an mich. Der erste wird als Sieger namentlich in der MPA
erwaehnt. ;)

PS: Bitte keine unvollstaendigen Loesungen

Liafar

-----------------------------------------------------------------------------



and the winner is... (Liafar, 29. Dez 2000, 03:44:04):
Vector hat mir als erster die Loesung mitgeteilt.

Sollte jemanden die Loesung der Raetsels interessieren kann er mir ja eine
mail schicken.

Liafar

-----------------------------------------------------------------------------



Re: and the winner is... (Grimmborn, 29. Dez 2000, 10:16:31):
~#! rn=Liafar rt=978057844 rg=puiz
~#! tid=978057844
Da die Leute in Schilling zahlen ist deren Schicksal eigentlich voellig
uninteressant. Daher kein Interesse an einer Loesung.
Aber danke fuer den netten Puizversuch. :-)

GdA

-----------------------------------------------------------------------------



noch ein Raetsel ( passend zu Sylvester ) (Alkohol, 31. Dez 2000, 06:25:18):

Welcher Magier hat das gedichtet:

Es war einma ein besoffener Magier
Der soff wie ein Schwein, das grenzte an Habgier
Dann sank er abends in sein Bett
Und morgens fand er es sehr nett
Denn der Schaedel drueckte zwar
Aber trotzdem in seinem Bett er war!
Ein weiterer Liter Bier drang nach dem Aufstehen
hinunter seine Kehle, er musst zum nicht-draufgehen
weitere Liter voller Bier
hineinstuerzen in sich. Hier.
Er stand da rum, und auf einmal
fiel ihm mit einem Mal
Ein, dass noch Bier in der Tasche er bei sich trug,
und bevor er jemand frug
war das Bier hinunt'geschuett
Und Dein Freund xxx ist verrueckt.

Ob ich da meine Haende im Spiel hatte?

Sauft viel und rutscht gut.

-----------------------------------------------------------------------------



frage auf antwort (Liafar,  2. Jan 2001, 05:00:01):
Gesucht sind jeweils 5 Fragen auf die Antworten Akku, Vorhang und puiz.

Liafar

-----------------------------------------------------------------------------



hier ist ja absolut ebbe... (Liafar, 17. Mai 2001, 20:01:33):
Nur so damit mal wieder was hier geschrieben ist hier einmal eine
geometrisches Aufgabenstellung im ASCII Format sieht das ganze irgendwie nicht
so ganz toll aus aber man mit etwas phantasie kann man hoffendlich erkennen
was gemeint ist :)

                  _ _ _____ _ _  
.                |/   \   /   \| 
.                (     )_(     ) 
.                |\ _ /   \ _ /| 
.                |  _(     )_  | 
.                |/   \ _ /   \| 
.                (     ) (     ) 
.                |\ _ /___\ _ /|

Die Kreise ausser dem mittleren beruehren die seiten des quadrats und den
mittleren kreis. Gegeben ist die seitenlaenge des quadrats gesucht ist der
durchmesser eines kreises.
Nicht allzuschwierig aber es ist sowieso nur damit hier wieder mal was steht.

Liafar

-----------------------------------------------------------------------------



Re: hier ist ja absolut ebbe... (Anacrion, 17. Mai 2001, 20:06:26):
~#! rn=Liafar rt=990122493 rg=puiz
~#! tid=990122493
Sollte grob kantenlaenge/(1+sqrt(2)) sein ...

Anac*

-----------------------------------------------------------------------------



und noch eins... (Imda, 17. Mai 2001, 20:33:42):
Max kennt das Produkt zweier Zahlen zwischen 2 und 100, Moritz die Summe.

Moritz : "Ich kenne die Zahlen nicht, und ich weiss, dass du sie auch nicht
kennst."
Max : "Ahja, dann kenne ich die Zahlen"
Moritz: "Ok, dann kenne ich sie auch."

So, und was waren nu die beiden Zahlen ?

Imda. Nichtmathematiker.

-----------------------------------------------------------------------------



Re: Mal was schwereres (Liafar, 17. Mai 2001, 20:47:34):
~#! rn=Anacrion rt=990123196 rg=puiz
~#! tid=990123196
01|12|23|34|45|56|67|78|89|90
12|23|34|45|56|67|78|89|90|01
23|34|45|56|67|78|89|90|01|12
34|45|56|67|78|89|90|01|12|23
45|56|67|78|89|90|01|12|23|34
56|67|78|89|90|01|12|23|34|45
67|78|89|90|01|12|23|34|45|56
78|89|90|01|12|23|34|45|56|67
89|90|01|12|23|34|45|56|67|78
90|01|12|23|34|45|56|67|78|89

ich weiss nicht... irgendwie kommt mir das wirklich ein wenig zu einfach
vor... lustiger waehre es doch wenn die Zahlen in den stellen doppelt
vorkommen duerften dafuer jede zahl nur einmal im ganzen system... naja wenn
ich nichts ueberlesen hab dann duerfte das eine der vielen loesungen sein...

Liafar

-----------------------------------------------------------------------------



Re^3: Mal was schwereres (Montanus, 17. Mai 2001, 20:51:41):
~#! rn=Anacrion rt=990125462 rg=puiz
~#! tid=990123196
dann geht das nicht, denn die 11er-Zahlen hast du ja ausgeschlossen

-----------------------------------------------------------------------------



Re: hier ist ja absolut ebbe... (Patryn, 17. Mai 2001, 20:51:45):
~#! rn=Liafar rt=990122493 rg=puiz
~#! tid=990122493
aus symmetriegruenden genuegt es nur 1. quadranten des in R^2-0 zentrierten
bildes zu betrachten, dann kann man seitenlaenge a / 2 durch 3 teilabschnitte
darstellen: a/2=d/2+d/2*cos(Pi/4)+d/2*cos(Pi/4), also
a=d(1+sqrt(2)/2+sqrt(2)/2)=d+d*sqrt(2) ...nich ueberprueft natuerlich :)

------
patryn

-----------------------------------------------------------------------------



Re^3: Mal was schwereres (Patryn, 17. Mai 2001, 20:59:46):
~#! rn=Anacrion rt=990125462 rg=puiz
~#! tid=990123196
na wie soll das gehen, jede zahl 1 mal...10*10 felder macht 100 zu belegende,
ich darf da aber nur 10*9 zahlen eintragen, das reicht irgendwie nicht :)

------
patryn

-----------------------------------------------------------------------------



Re^4: Mal was schwereres (Montanus, 17. Mai 2001, 21:00:14):
~#! rn=Patryn rt=990125986 rg=puiz
~#! tid=990123196
Du darfst auch 09 eintragen.

-----------------------------------------------------------------------------



Mal was schwereres ... (Anacrion, 17. Mai 2001, 21:05:31):

(Diesmal hoffentlich korrekt (und konkret)):

Man stelle sich ein Quadrat vor, bestehend aus 10*10 Kaestchen.
Dieses ist mit 2stelligen Zahlen zu fuellen, so das gilt:

a) die Zahlen 0-9 koennen als Ziffern verwendet werden, 09 ist eine der
einzusetzenden Zahlen ..
b) Jede Ziffer darf pro Stelle der Zahl (erste, letzte) nur einmal in einer
Reihe vorkommen und nur einmal in einer Spalte.
c) Keine Zahl darf doppelt vorkommen

Wem dies zu leicht ist, der nehme sich das Raetsel mit 3 Ziffern vor und
ergfaenze folgende Bedingung:

d) Maximal 2 Ziffern einer Zahl duerfen gleich sein.

Anac*

-----------------------------------------------------------------------------



Re: Mal was schwereres ... (Liafar, 17. Mai 2001, 21:21:22):
~#! rn=Anacrion rt=990126331 rg=puiz
~#! tid=990126331
00|11|22|33|44|55|66|77|88|99
23|34|45|56|67|78|89|90|01|12
46|57|68|79|80|91|02|13|24|35
69|70|81|92|03|14|25|36|47|58
82|93|04|15|26|37|48|59|60|71
05|16|27|38|49|50|61|72|83|94
28|39|40|51|62|73|84|95|06|17
41|52|63|74|85|96|07|18|29|30
64|75|86|97|08|19|20|31|42|53
87|98|09|10|21|32|43|54|65|76

Ich glaube das duerfte jetzt stimmen

-----------------------------------------------------------------------------



Re: Re: Mal was schwereres ... (Anacrion, 17. Mai 2001, 21:25:58):
~#! rn=Liafar rt=990127282 rg=puiz
~#! tid=990126331
Wie sicherlich jedem ersichtlich ist, genuegt die Antwort nicht der Bedinung,
dass in jeder Spalte jede Ziffer der ersten Stelle nur einmal vorkommt ... es
kommen in jeder spalte alle ziffern der ersten stelle doppelt vor ;-)

Wieterhin viel erfolgviel erfolg :-)

Anac*

-----------------------------------------------------------------------------



Re: Re: Mal was schwereres ... (Patryn, 17. Mai 2001, 21:34:30):
~#! rn=Liafar rt=990127282 rg=puiz
~#! tid=990126331
also evtl. versteh ich die bedingung falsch, ich sehe da in spalte 1
23 und 28, also kommt die 2 an selber stelle in selber spalte 2 mal vor,
was der bedingung zuwiederlaeuft, oder?

------
patryn

-----------------------------------------------------------------------------



Re^3: Mal was schwereres ... (Liafar, 17. Mai 2001, 21:49:33):
~#! rn=Patryn rt=990128070 rg=puiz
~#! tid=990126331
00|11|22|33|44|55|66|77|88|99
37|48|59|60|71|82|93|04|15|26
64|75|86|97|08|19|20|31|42|53
91|02|13|24|35|46|57|68|79|80
28|39|40|51|62|73|84|95|06|17
55|66|77|88|99|00|11|22|33|44
82|93|04|15|26|37|48|59|60|71
19|20|31|42|53|64|75|86|97|08
46|57|68|79|80|91|02|13|24|35
73|84|95|06|17|28|39|40|51|62

Das duerfte jetzt aber stimmen :)

-----------------------------------------------------------------------------



Re^4: Mal was schwereres ... (Liafar, 17. Mai 2001, 21:51:53):
~#! rn=Liafar rt=990128973 rg=puiz
~#! tid=990126331
nein stimmt nicht... *argl* Es kommen zahlen doppelt vor

-----------------------------------------------------------------------------



Re^5: Mal was schwereres ... (Anacrion, 17. Mai 2001, 22:08:02):
~#! rn=Liafar rt=990129113 rg=puiz
~#! tid=990126331
Also das mit 2 zahlen ist kuerzlich geloest worden ... nach 1+ Jahren
Tueftelei ..

Das mit 3 ist bislang ungeloest. Sowohl ein Gegenbeweis als ein Beweis
duerften zumindest einen Artikel in einem MAthhematikmagazin nach sich ziehen
;-)

Anac*

-----------------------------------------------------------------------------



Re^6: Mal was schwereres ... (Montanus, 17. Mai 2001, 22:16:23):
~#! rn=Anacrion rt=990130082 rg=puiz
~#! tid=990126331
das mit 1+ Jahren Tueftelei wage ich zu bezweifeln.
Es gibt insgesamt 100! Moeglichkeiten, die Dinger anzuordnen. Das sollte ein
Computer doch recht schnell schaffen.

-----------------------------------------------------------------------------



Re^7: Mal was schwereres ... (Patryn, 17. Mai 2001, 22:17:30):
~#! rn=Montanus rt=990130583 rg=puiz
~#! tid=990126331
meiner scheinbar nicht, er rechnet und rechnet und...

------
patryn wartet

-----------------------------------------------------------------------------



Re: Oehh... (Perishan, 17. Mai 2001, 22:18:10):
~#! rn=Kaff rt=989793849 rg=schmarrn
~#! tid=989793849
Das war die Aussage vonm Prof. Dr. rudolf Wille

Anac*
,
nn

-----------------------------------------------------------------------------



Re^8: Mal was schwereres ... (Patryn, 17. Mai 2001, 22:26:48):
~#! rn=Patryn rt=990130650 rg=puiz
~#! tid=990126331
ach ja, ich will ins kino...das folgende programm habe ich nicht debugt! :)
mit werten von 5 fuer SS = SQUARE_LENGTH gehts noch fix, bedingung d
ist noch nich eingebaut.

---

class Square {
  private final static int SS = 10,
                           NL = 2;
  private static int square[];
  public static void main(String argv[]) {
    System.out.println("initializing...");
    square = new int[SS * SS * NL];  
    System.out.println("calculating...");
    System.out.println("result..." + branchAndBound(0, 0) + "...");
    for (int i = 0; i < square.length; i++) {
      System.out.print(square[i]);
      if ((i + 1) % (SS * NL) == 0)
        System.out.println();
      else if ((i + 1) % NL == 0)
        System.out.print(" ");
    }
  }
  private static int branchAndBound(int n, int c) {
System.out.println("TEST: "+n+":"+c);
    int i, j;
    square[n] = c;
    // check left row with c in n
    for (i = n - NL; i >= n / (SS * NL) * SS * NL; i -= NL)
      if (square[i] == c)
        return -1;
    // check upper column with c in n
    for (i = n - SS * NL; i >= 0; i -= SS * NL)
      if (square[i] == c)
        return -1;
    // check left double existence with c in (last digit!) n
    if (n % NL == NL - 1)
    for (i = n - NL; i >= 0; i-= NL) {
      for (j = NL; j-- > 0; )
        if (square[i - j] != square[n - j])
          break;
      if (j < 0)
        break;
    }
    if (i >= 0)
      return -1;
    n = n + 1;  
    if (n >= SS * SS * NL)
      return 0;
    for (c = 0; c < 10; c++)
      if (branchAndBound(n, c) == 0)
        return 0;
    return -1;   
  }
}

---

uebersetzen mit javac Square.java, ausfuehren mit
java Square...mit werten von 10 bei SS warten bis man schwarz wird ;)

------
patryn

-----------------------------------------------------------------------------



Re^9: Mal was schwereres ... (Montanus, 17. Mai 2001, 22:27:45):
~#! rn=Patryn rt=990131208 rg=puiz
~#! tid=990126331
lass es doch auf dem MG-Rechner laufen. ;-)
rufe Cattie nach Lag!

-----------------------------------------------------------------------------



Re^9: Mal was schwereres ... (Amaryllis, 17. Mai 2001, 22:29:39):
~#! rn=Patryn rt=990131208 rg=puiz
~#! tid=990126331
iiihhh, Java...
nu muss ich das erst in ne brauchbare Sprache uebersetzen...

Ama*, in Deckung springend :)

-----------------------------------------------------------------------------



Re^10: Mal was schwereres ... (Patryn, 17. Mai 2001, 22:31:43):
~#! rn=Amaryllis rt=990131379 rg=puiz
~#! tid=990126331
in LPC wollte ich das dem rechner nicht antun ;)
wers ausfuehrt wird merken dass sich der algorithmus bei etwa 90-100 nur
noch langsam hochquaelt...und langsamer und langsamer...
wer nen bug findet darf ihn nicht behalten :) aber habs auch nur schnell
hingekliert, wenn ich laune hab schau ich nachm kino noch mal rein :)

-----
patryn

-----------------------------------------------------------------------------



Re^11: Mal was schwereres ... (Montanus, 17. Mai 2001, 22:38:18):
~#! rn=Patryn rt=990131503 rg=puiz
~#! tid=990126331
Zur drei-Ziffer-Sache:
Wenn die erste und letzte Stellen nicht uebereinstimmen duerfen: wa sspricht
dagegen, die zwei-Ziffer-Loesung zu nehmen und entweder die erste Ziffer vorne
dran zu kleben oder die zweite Ziffer hintendran, aus einer 17 also eine 117
oder eine 177 machen? Sollte beides erfuellen.

-----------------------------------------------------------------------------



Re^12: Mal was schwereres ... (Perishan, 17. Mai 2001, 22:46:31):
~#! rn=Montanus rt=990131898 rg=puiz
~#! tid=990126331
Hmmmm.

Koennte sein, dass ich doch Anfangs recht hatte: nicht mehr als 2 Ziffern mit
einer anderen Zahl uebereinstimmen (also an der entsprechenden Stelle) fuer d)


Anac* ist voll verzweifelt und schuickt bald jemanden in den Darmstaedter
MAthebau um die Originalaufgabenstellung (der die 2er-Loesung beiligt) zu
holen

-----------------------------------------------------------------------------



Re^7: Mal was schwereres ... (Rochus, 17. Mai 2001, 23:11:46):
~#! rn=Montanus rt=990130583 rg=puiz
~#! tid=990126331
Also nur mal zur Info, 100! > 10^90 ...

-----------------------------------------------------------------------------



Re^8: Mal was schwereres ... (Perishan, 17. Mai 2001, 23:12:46):
~#! rn=Rochus rt=990133906 rg=puiz
~#! tid=990126331
63! ungefaEHR=10^100

aNAC*

-----------------------------------------------------------------------------



Re^9: Mal was schwereres ... (Rochus, 17. Mai 2001, 23:15:10):
~#! rn=Perishan rt=990133966 rg=puiz
~#! tid=990126331
Ich wollte nur ne Abschaetzung abgeben, an der man
a) auf einem Blick erkennen kann, dass das zuviel ist und
b) wo auch der ungeuebte auf einem Blick sehen kann dass sie stimmt :)

-----------------------------------------------------------------------------



Re^9: Mal was schwereres ... (Gnome, 18. Mai 2001, 00:23:47):
~#! rn=Patryn rt=990131208 rg=puiz
~#! tid=990126331
mail an guard. der baut da in fortran ein paar schleifen draus und hat
es in weniger als 10 sekunden geloest. nen kasten bier drauf. :)

gnOme

-----------------------------------------------------------------------------



Re^10: Mal was schwereres ... (Patryn, 18. Mai 2001, 01:59:52):
~#! rn=Gnome rt=990138227 rg=puiz
~#! tid=990126331
war grad in mumieII...absolut geile trickeffekte, hehe :)
und zum schluss...genau so sollte ne quest enden *g*
nun ja, zum problem:
fortran kann ich auch, das bringt nen faktor von 5, wenn ich mal
grosszuegig bin. java hat sich durchaus weiterentwickelt. :)
dann fallen mir noch spontan optimierungen ein wie zb den check c
durch eine (10^2)er liste zu ersetzen in der vermerkt wird, welche zahl
bei welchem n verbraucht wurde, das bringt immens viel.
bei fall d kann man das auch machen, da ists noch mehr.
letztlich schau ich grad mal wieder auf den laufenden algorithmus der immer
noch nich viel weiter ist, und glaube, dass auch ein faktor 200 nich viel
bringen wuerde. wenn man sich mal ueberlegt, wie stark sich die
durchzutestenden faelle aufsplitten, wird man doch schnell daran erinnert,
wie stark man sich bei scheinbar ueberschaubaren sachen irren kann.
man denke an das altbekannte spiel mit dem schachbrett und der immer zu
verdoppelnden kornanzahl. ok, heutzutage wissen wir das alle, aber koennen
wir nicht auch in der rolle des ehemals verdutzten koenigs sein?
ich denk mal, ohne ein gewisses mass gruppentheorie oder eine umformulierung
der primitiven ansaetze wird man hier nicht herumkommen.

------
patryn

-----------------------------------------------------------------------------



Re^11: Mal was schwereres ... (Anacrion, 18. Mai 2001, 02:01:32):
~#! rn=Patryn rt=990143992 rg=puiz
~#! tid=990126331
Gruppentheorie hat mein Prof. auch erwaehnt ;-)

Anac*

-----------------------------------------------------------------------------



Re^11: Mal was schwereres ... (Patryn, 18. Mai 2001, 02:03:38):
~#! rn=Patryn rt=990143992 rg=puiz
~#! tid=990126331
ach ja, und ich hab vergessen zu erwaehnen:
  die wette halte ich :) schade nur, dassich kein bier trinke *g*

------
patryn

-----------------------------------------------------------------------------



Re: Re: hier ist ja absolut ebbe... (Gnome, 18. Mai 2001, 11:06:05):
~#! rn=Patryn rt=990125505 rg=puiz
~#! tid=990122493
ohne deine loesung ueberprueft zu haben (mach das gefaelligst selber! ;-)),
hier kommt eine nachgerechnete:

  r = a * (sqrt(2)/(4+2*sqrt(2)))

loesung auf anfrage.

gnOme

-----------------------------------------------------------------------------



Re^3: hier ist ja absolut ebbe... (Humni, 18. Mai 2001, 11:57:46):
~#! rn=Gnome rt=990176765 rg=puiz
~#! tid=990122493
Wo wir bei Gruppentheorie sind:
ELBERET AN DIE FRONT!!!

Humni, sich schonmal vor dem Echo duckend...

-----------------------------------------------------------------------------



Re: hier ist ja absolut ebbe... (Seno, 21. Mai 2001, 01:45:25):
~#! rn=Liafar rt=990122493 rg=puiz
~#! tid=990122493
Ich komme auf:

d = 2 / (1 + 2*sqrt(2)) * a

wobei d der Kreisdurchmesser, a die Kantenlaenge des Quadrats sind.

Seno

-----------------------------------------------------------------------------



Re^10: Mal was schwereres ... (Guard, 21. Mai 2001, 11:50:17):
~#! rn=Gnome rt=990138227 rg=puiz
~#! tid=990126331
sach mal dicker, du hast wohl nich mehr alle beisammen, was :-)
die Zeiten, in denen ich nem Ausbilder triviale Probleme in fortran nachhacken
musste sind laengst vorbei und ausserdem beruhte die Pointe damals nich
darauf, dass ich nu was geniales getan haette, sondern das der Waaschna
einfach nich ganz auf der Hoehe war

nu is ruhe

Guard

-----------------------------------------------------------------------------



Re: Re: hier ist ja absolut ebbe... (Gnome, 22. Mai 2001, 01:28:21):
~#! rn=Seno rt=990402325 rg=puiz
~#! tid=990122493
nehmen wir mal nach deine rechnung fuer a=5 an, dann waere r=1,3.
zeichne dir mal ein quadrat mit a=5 auf und miss mal nach... :)

ok, hier der loesungsweg:

wir teilen das quadrat mit einer diagonalen (e) in zwei gleiche,
gleichschenklige dreiecke. es gilt:
- e=a * sqrt(2)
- e=6r + 2x
- (r + x)^2 = 2r^2

wobei a die kantenlaenge des quadrates, r der radius des kreises und x
das kleine fehlende stueck von e ist.

das binom zackig aufgeloest, in die pq-formel eingesetzt. heraus kommt:
 x1/2 = -r +/- sqrt(2)r
wobei man x2 unter den tisch fallen lassen kann. r aus x1 ausgeklammert
sieht dann so aus:
 x = r(sqrt(2)-1)

das in e=6r + 2x eingesetzt, ergibt:
 e=6r + 2(r * sqrt(2)-1)

und fuer e gilt ausserdem e=a * sqrt(2). beides gleichgesetzt und
ausmultipliziert:
 a * sqrt(2) = 6r + 2r * sqrt(2)-2

r ausklammern und danach umstellen. folglich:
 r = a * sqrt(2) / (4 + 2 * sqrt(2))

q.e.d.

gnOme

-----------------------------------------------------------------------------



Re^3: hier ist ja absolut ebbe... (Elberet, 22. Mai 2001, 01:30:21):
~#! rn=Gnome rt=990487701 rg=puiz
~#! tid=990122493
was is denn ne pq-formel?

Elbi

-----------------------------------------------------------------------------



Re^4: hier ist ja absolut ebbe... (Anacrion, 22. Mai 2001, 01:30:39):
~#! rn=Elberet rt=990487821 rg=puiz
~#! tid=990122493
Das ist Gruppentheorie ;-)

Anac*

-----------------------------------------------------------------------------



Re^5: hier ist ja absolut ebbe... (Montanus, 22. Mai 2001, 01:31:15):
~#! rn=Anacrion rt=990487839 rg=puiz
~#! tid=990122493
Jedenfalls ist Gruppentheorie interessanter als Gruppentherapie. ;-)

-----------------------------------------------------------------------------



Re^4: hier ist ja absolut ebbe... (Elberet, 22. Mai 2001, 01:31:16):
~#! rn=Amaryllis rt=990487833 rg=schmarrn
~#! tid=990122493
hmm, was ist denn Gr.. nee ich schweig lieber ;)

Elbi

-----------------------------------------------------------------------------



Re^5: hier ist ja absolut ebbe... (Elberet, 22. Mai 2001, 01:32:12):
~#! rn=Elberet rt=990487876 rg=puiz
~#! tid=990122493
ich kanns nciht, ich weiss

Elbi -> doof.

-----------------------------------------------------------------------------



Re^6: hier ist ja absolut ebbe... (Montanus, 22. Mai 2001, 01:32:50):
~#! rn=Elberet rt=990487932 rg=puiz
~#! tid=990122493
DBDDHKP-SAV.

-----------------------------------------------------------------------------



Re^7: hier ist ja absolut ebbe... (Amaryllis, 22. Mai 2001, 01:33:34):
~#! rn=Montanus rt=990487970 rg=puiz
~#! tid=990122493
da zeigt sich mal wieder deutlich, dass Du richtig gut im Tastenquaelen bist
:)

Ama*

-----------------------------------------------------------------------------



Re^8: hier ist ja absolut ebbe... (Montanus, 22. Mai 2001, 01:35:48):
~#! rn=Amaryllis rt=990488014 rg=puiz
~#! tid=990122493
habt euch nicht so, ne Viertelstunde so weiter und wir sind bei Re^100, die
Rubrik ist voll, und irgendeiner stiftet nen Preis.

-----------------------------------------------------------------------------



Re^4: hier ist ja absolut ebbe... (Gnome, 22. Mai 2001, 01:38:43):
~#! rn=Elberet rt=990487821 rg=puiz
~#! tid=990122493
uff.
aeh... das ist die formel, mit der man eine gleichung, in der ein und
dieselbe unbekannte in linearer und quadratischer form zugleich vorkommt,
aufloesen kann zu: x1/2 = -p2/ +/- sqrt(-(p^2)/4-q) wobei p und q
bestimmte aus der normalform der gleichung zu nehmende werte darstellen.

das ganze gibts auch mit x^3, aber dann wird diese formel sehr unueber-
sichtlich. mit bissel glueck versucht man dann eine nullstelle so zu 
finden, und bekommt dann nach dem horner schmema eine freundliche
quadratische gleichung, mit der man dann wie oben verfaehrt.

gnOme

-----------------------------------------------------------------------------



Re^5: hier ist ja absolut ebbe... (Elberet, 22. Mai 2001, 01:39:23):
~#! rn=Gnome rt=990488323 rg=puiz
~#! tid=990122493
gibts das auch fuer gleichungen die ncihgt quadratisch sind? ich mein, ist ja
praktisch 

Elbi ;)

-----------------------------------------------------------------------------



Re^6: hier ist ja absolut ebbe... (Montanus, 22. Mai 2001, 01:40:45):
~#! rn=Elberet rt=990488363 rg=puiz
~#! tid=990122493
Quadratisch, praktisch, gut.
Bei nicht-quadratischen Gleichungen reicht es ja aus, X Gleichugnen fuer X
Unbekannte zu haben.

-----------------------------------------------------------------------------



Re^5: hier ist ja absolut ebbe... (Gnome, 22. Mai 2001, 10:44:12):
~#! rn=Gnome rt=990488323 rg=puiz
~#! tid=990122493
war wohl etwas spaet heut frueh...
muss natuerlich
 x1/2 = -p/2 +/- sqrt(p^2/4-q)
heissen.

sorry.

gnOme

-----------------------------------------------------------------------------



Re^6: hier ist ja absolut ebbe... (Daria, 22. Mai 2001, 10:45:14):
~#! rn=Gnome rt=990521052 rg=puiz
~#! tid=990122493
Nicht wohl doch eher x1,2 ? (Oder x1,x2)
Daria

-----------------------------------------------------------------------------



Re^7: hier ist ja absolut ebbe... (Isi, 22. Mai 2001, 10:46:22):
~#! rn=Daria rt=990521114 rg=puiz
~#! tid=990122493
eher tiefgestellt das 1/2
und warum nicht mitternachtsformel?
isi (moussewerfend)

-----------------------------------------------------------------------------



Re^8: hier ist ja absolut ebbe... (Daria, 22. Mai 2001, 10:47:48):
~#! rn=Isi rt=990521182 rg=puiz
~#! tid=990122493
Das Problem ist das 1/2 (zumindest in Computeralgebraprogrammen) meist ein
Halb heisst. Deswegen das Komma.
Daria ist da kleinkraemerisch.

-----------------------------------------------------------------------------



Re^9: hier ist ja absolut ebbe... (Catweazle, 22. Mai 2001, 11:37:36):
~#! rn=Daria rt=990521268 rg=puiz
~#! tid=990122493
Korrekterweise also x_{1,2} ...

YTC

-----------------------------------------------------------------------------



Re^5: hier ist ja absolut ebbe... (Patryn, 22. Mai 2001, 14:46:10):
~#! rn=Gnome rt=990488323 rg=puiz
~#! tid=990122493
das ganze gibts auch noch fuer gleichungen 4. grades, wobei man "das ganze"
in der mathematik eher mit "aufloesung in radikale" betitelt.
fuer gleichungen ab dem 5. grad klappt das nicht mehr, wie schon der
junge galois mit der von ihm begruendeten galoistheorie beweisen konnte,
ich glaub so ende 19. Jh.

------
patryn

-----------------------------------------------------------------------------



Re^7: hier ist ja absolut ebbe... (Elberet, 22. Mai 2001, 16:09:10):
~#! rn=Montanus rt=990487970 rg=puiz
~#! tid=990122493
Naja Galois ist schon Anfang des 19. Jahrhunderts in eiem Duell erschossen
worden. Angeblich wegen einer Frauengeschichte oder auch aus politischen
Gruenden. Und ganz streng genommen hat er damals glaube ich nur bewiesen, dass
Gleichungen 5.ten Grades nciht durch Radikale loesbar sind. Fuer die
groesseren n ists aber nciht mehr schwer, wenn mans fuer n=5 kann.

Elbi


-----------------------------------------------------------------------------



Re^8: hier ist ja absolut ebbe... (Grimmborn, 22. Mai 2001, 16:19:28):
~#! rn=Elberet rt=990540550 rg=puiz
~#! tid=990122493
Ich frage mal als Nichtmathematiker: War Galoise nicht derjenige, der diese
Zigaretten erfunden hat, deren Schreibweise heutzutage lediglich leicht
veraendert noch fortbesteht?

GdA

-----------------------------------------------------------------------------



Re^8: hier ist ja absolut ebbe... (Humni, 22. Mai 2001, 16:19:30):
~#! rn=Elberet rt=990540550 rg=puiz
~#! tid=990122493
Und sowas fragt nach der p/q-Formel...

Humni, konnte nicht anders.

-----------------------------------------------------------------------------



Re^9: hier ist ja absolut ebbe... (Elberet, 22. Mai 2001, 16:20:26):
~#! rn=Grimmborn rt=990541168 rg=puiz
~#! tid=990122493
Elberet schenkt Grimmborn ein u :)

-----------------------------------------------------------------------------



Re^9: hier ist ja absolut ebbe... (Humni, 22. Mai 2001, 16:20:54):
~#! rn=Grimmborn rt=990541168 rg=puiz
~#! tid=990122493
Der hiess jedenfalls NICHT Galoise.

Humni

-----------------------------------------------------------------------------



Re^10: hier ist ja absolut ebbe... (Grimmborn, 22. Mai 2001, 16:20:58):
~#! rn=Elberet rt=990541226 rg=puiz
~#! tid=990122493
Hah, fast haettest Du mich reingelegt, aber das ist ja ein X!

GdA laesst sich kein X fuer ein U vormachen

-----------------------------------------------------------------------------



Re^11: hier ist ja absolut ebbe... (Elberet, 22. Mai 2001, 17:18:15):
~#! rn=Grimmborn rt=990541258 rg=puiz
~#! tid=990122493
Elberet schenkt Grimmborn trotzdem ein U :)

Elbi 

-----------------------------------------------------------------------------



Re^3: hier ist ja absolut ebbe... (Seno, 23. Mai 2001, 04:13:33):
~#! rn=Gnome rt=990487701 rg=puiz
~#! tid=990122493
OK, ich gebe mich geschlagen. Mir ist ein kleiner Fehler in meinem (etwas
einfacheren) Ansatz unterlaufen. Statt e = 6r + 2x kannst Du e = 4r + 2f
ansetzen, wobei f das Stueck vom Mittelpunkt eines aeusseren Kreises zur
Quadratecke ist. Die Gleichung fuer f = r + x hast Du ja auch angesetzt. Dann
benoetigst Du auch keine "pq-Formel" ;-)
Dummerweise hatte ich dieses letzte Stueck f nur einmal in meinem Ansatz
beruecksichtigt. Er lautete: a*sqrt(2) = 2d + r*sqrt(2)

Uebrigens laesst sich Deine Loesung in die Anacrions und Patryns ueberfuehren.
Seno

-----------------------------------------------------------------------------



Re: und noch eins... (Mucks, 23. Mai 2001, 17:29:07):
~#! rn=Imda rt=990124422 rg=puiz
~#! tid=990124422
Die Zahlen sind 4 und 13.
                                       Mucks

-----------------------------------------------------------------------------



Re: Re: und noch eins... (Croft, 24. Mai 2001, 09:47:17):
~#! rn=Mucks rt=990631747 rg=puiz
~#! tid=990124422
Wenn hier schon die Zahlen einfach in den Raum geworfen werden, bring ich
noch ne ausfuehrliche Loesung dazu (Quelle: irgendwann mal im Fido /
Raetsel.Ger):

Udo trifft seine beiden Freunde Karl und Hannes. Um die beiden ein bisschen
auf Trab zu bringen, stellt er ihnen folgende Aufgabe: "Hoert mal zu, ihr
Beiden, ich denke mir zwei Zahlen zwischen 2 und 99, Grenzzahlen
eingeschlossen. Dir, Karl, verrate ich das Produkt der beiden Zahlen und dir,
Hannes die Summe der beiden Zahlen."  Er tut dies; daraufhin entspannt sich
zwischen Karl (K) und Hannes (H) folgender Dialog:

K: Ich kenne die beiden Zahlen nicht.
H: Ich weiss, dass du die beiden Zahlen nicht kennst.
K: Nun kenne ich die zwei Zahlen!
H: Nun kenne ich sie auch.


Ausfuehrliche Text-Loesung fuer das Zwei-Zahlen-Problem
----------------------------------------------------------------------

Die beiden gesuchten Zahlen nennen wir a und b. Die Menge der zu
ueberpruefenden Zahlenkombinationen kann wie folgt signifikant
verkleinert werden:

a) Wenn beide Zahlen prim waeren, haette Karl die Loesung sofort gehabt. Also
   ist mindestens eine der beiden nicht prim.

b) Wenn eine der beiden Zahlen eine Primzahl >= 50 waere, haette Karl die
   Loesung auch sofort gehabt.
   Die Primfaktorzerlegung von a*b waere dann p1 * p2 * ... * pn (n>=2),
wobei
   dieses Produkt nach der Voraussetzung 2<=a,b<=99 nur auf eine Art
   faktorisiert werden koennte, naemlich in einen Primfaktor p>50 und das
   Produkt der restlichen Primfaktoren, denn p kann mit keinem der anderen
   Primfaktoren multiplikativ kombiniert werden, da dieser Faktor dann
   mindestens 100 und damit ausserhalb des erlaubten Bereiches waere.

c) Hannes kann seine erste Aussage nur fuer bestimmte s=a+b machen.  Ihm ist s
   bekannt und seine Aussage stellt sicher, dass es keine Zerlegung von s in
   zwei Summanden s1 und s2 gibt, fuer die (bzw.  fuer deren Produkt) Karl
   sofort die Loesung wusste. Also gelten zumindest folgende
Einschraenkungen:

   1) s1 und s2 duerfen nicht beide prim sein
   2) Weder s1 noch s2 duerfen eine Primzahl groesser als 50 sein.

   Die zweite Bedingung limitiert den erlaubten Bereich von s deutlich:

   a. Der Bereich von 55<=s<=152 ist ausgeschlossen, da eine
      Summanden-Zerlegung von s in s1=53 (prim) und 2<=s2<=99 existierte,
fuer
      die Karl aus dem Produkt von s1 und s2 sofort die Loesung gewusst
      haette.

   b. Der Bereich von 99<=s<=196 ist analog dazu ausgeschlossen, da dann eine
      Summanden-Zerlegung von s in s1=97 (prim) und 2<=s2<=99 existierte.

   197 und 198 sind auch ausgeschlossen, da diese nur die Zerlegungen 98+99
   und 99+99 zuliessen. Karl haette aus dem Produkt der Summanden sofort auf
   die Faktoren (=Summanden fuer Hannes) schliessen koennen. Folglich wird
der
   moegliche Bereich von s=a+b auf 4<=s<=54 beschraenkt.

   Die erste Bedingung limitiert den erlaubten Bereich von s weiter:

   c. Hier kann man noch alle geraden s ausschliessen, da sich zumindest alle
      geraden Zahlen zwischen 4 und 54 als Summe zweier Primzahlen darstellen
      lassen. (Hierfuer koennte die Goldbachsche Vermutung herhalten, die
zwar
      nicht bewiesen ist, aber fuer diesen Bereich mit Sicherheit zutrifft -
      oder man ueberzeugt sich schnell selbst mit 4=2+2, 6=3+3, 8=3+5,
10=3+7,
      12=5+7, 14=3+11, 16=3+13, 18=5+13, 20=3+17, 22=3+19, 24=5+19, 26=3+23,
      28=5+23, 30=7+23, 32=3+29, 34=3+31, 36=5+31, 38=7+31, 40=3+37, 42=5+37,
      44=3+41, 46=3+43, 48=5+43, 50=7+43, 52=5+47, 54=7+47.)

   d. Weiterhin kann man noch einige ungerade s ausschliessen, die sich als
      Summe zweier Primzahlen, von denen eine dann natuerlich 2 ist,
      darstellen lassen. Dies sind 5=2+3, 7=2+5, 9=2+7, 13=2+11, 15=2+13,
      19=2+17, 21=2+19, 25=2+23, 31=2+29, 33=2+31, 39=2+37, 43=2+41, 45=2+43,
      49=2+47.

   Aus den jeweils ersten Aussagen von Karl und Hannes ergibt sich also
   zumindest, dass fuer die gesuchten Loesungszahlen a und b deren Summe
s=a+b
   notwendigerweise Element aus der Menge
M={11,17,23,27,29,35,37,41,47,51,53}
   sein muss. Fuer diese 11 Summen die Berechnungen brute-force-maessig von
   Hand durchzufuehren, sollte noch im Rahmen des Machbaren sein.

   Fuer einen weiteren analytischen Ansatz ist zunaechst zu untersuchen, ob
   die Reduktion auf M hinreichend ist, oder ob sich darin noch Elemente
   befinden, die nicht den jeweils ersten Aussagen von Karl und Hannes
   genuegen. Mit anderen Worten:
   Gibt es s in M, fuer die es eine Zerlegung s=s1+s2 gibt, so dass das
   Produkt s1*s2 ausschliesslich in die Faktoren s1 und s2 zerlegt werden
   kann?

   Ist nun s eine dieser Summen (Elemente aus M), kann sie, da ungerade, in
je
   einen geraden Summanden 2*s1 (s1>=1) und einen ungeraden Summanden s2
   zerlegt werden.

   Fall 1: s1 ist gerade
     s1 kann also durch s1=2*s3 (s3>=1) dargestellt werden.  ->
     s=2s1+s2=4s3+s2. Das Produkt aus den beiden Summanden, p=4s3*s2, kann
     auch zerlegt werden in 2s3 und 2s2. (Dies gilt, denn mit s Element aus M
     gilt s<=53 und mit weiterhin s2=s-4s3 und s3>=1 folgt s2<=49 und somit
     2s2<=98, was noch im erlaubten Bereich ist.)
     Die Summe des so erhaltenen alternativen Faktorenpaares ist 2s3+2s2.
Dies
     ist genau dann identisch mit s=4s3+s2, wenn 2s3=s2 ist. Nach
     Voraussetzung ist aber s2 ungerade, somit laesst sich in diesem Falle
das
     Produkt in zwei Faktorenpaare mit unterschiedlichen Summen zerlegen.

   Fall 2: s1 ist ungerade

     Fall 2a: s1=1
       s=2+s2. Die Menge M enthaelt nach Voraussetzung keine Zahlen dieses
       Formats mit s2 prim. Also kann s2 (ungerade) hier dargestellt werden
       als Produkt zweier ungerader Zahlen s3 und s4, die beide mindestens 3
       sind: s=2+s3*s4, s3,s4>=3. Das Produkt p=2*(s3*s4) kann auch zerlegt
       werden in die Faktoren s3 und 2s4, deren Summe s3+2s4 ist. (Dies gilt,
       denn sowohl s3 als auch 2s4 sind kleiner als s3*s4 und damit auf jeden
       Fall <=99.)
       Ueberpruefen wir nun, fuer welche s3,s4 die beiden Summen gleich sind:
       2+s3*s4=s3+2s4 <==> s4*(s3-2)=(s3-2). Dies wird geloest durch s4=0
oder
       s3=2, was beides im Widerspruch zu s3,s4>=3, s3 und s4 ungerade
       steht. Somit erhalten wir auch hier zwei verschiedene Summen.

     Fall 2b: s1>=3 (s1 ungerade)
       Fuer s=2s1+s2 ist das Produkt 2s1*s2 auch zerlegbar in die Faktoren s1
       und 2s2. (Dies gilt, denn mit s Element aus M gilt s<=53 und mit
       weiterhin s2=s-2s1 und s1>=3 folgt s2<=47 und somit 2s2<=94, was noch
       im erlaubten Bereich ist.)  Die beiden Summen 2s1+s2 und 2s2+s1 sind
       gleich fuer s1=s2.  In diesem Fall ist s=3s1.

   Der einzige "kritische" Fall ist somit Fall 2b. Man kann nun die durch 3
   teilbaren Zahlen aus M, also 27 (kritisch ist hier 18+9) und 51 (kritisch
   ist hier 34+17), daraufhin explizit untersuchen.  Die 18*9 liesse sich
auch
   in 27*6 oder 54*3 zerlegen.
   Die 34*17 hingegen laesst sich auf keine andere Weise gemaess
   Aufgabenstellung faktorisieren, denn die Faktorisierung in 2 und 289 ist
   nicht erlaubt. Somit koennte bei s=51 Hannes seine erste Aussage nicht
   machen, denn bei a=17 und b=34 haette Karl sofort die Loesung gekannt.

   Eine Alternative hierzu, die von M zunaechst abstrahiert, waere folgende:

   Wir betrachten den "kritischen" Fall s=2s1+s1 mit dem Produkt der
Summanden
   p=2s1^2.

   Fall 1: s1 ist prim.
     Das Produkt 2s1^2 (s1>=3, ungerade) kann hier nur zerlegt werden
     einerseits in 2s1 und s1 sowie andererseits in 2 und s1^2. Die erste
     Zerlegung ist nach Voraussetzung immer erlaubt (es gibt ja schliesslich
     eine Loesung a,b fuer das Problem), die zweite hingegen nur fuer
     s1^2<100, also s1<10.
     Also: Summen im Format 3*s1 mit s1 prim und s1>10 sind aus M zu
     streichen. (Das betrifft mit s1=17 hier s=51.)

   Fall 2: s1 ist nicht prim.
     Da s1 ungerade ist, hat es einen kleinsten Primfaktor q>=3. Sei s1=q*r
(r
     ungerade). Die Summanden 2s1 und s1, also 2qr und qr, haben das Produkt
     2q^2r^2. Eine zweite Loesung mit den Faktoren q^2*r und 2r existiert,
     falls q^2*r<=99 ist. Die Faktorensumme dieser Loesung ist
unterschiedlich
     der der ersten, denn 2qr+qr=q^2*r+2r gilt nur fuer r=0 oder q=1 oder
q=2.

     Also: Fuer s=27=18+9 trifft dieser Fall 2 zu, da 9 nicht prim ist. Hier
     ist q=r=3. Da q^2*r=27<=99 ist, gibt es hier aber noch mindestens die
     Zerlegung in q^2*r (=27) und 2r (=6). Die 27 ist also nicht aus M zu
     streichen.


   Wir eliminieren nun die 51 aus M und erhalten die Menge
   S={11,17,23,27,29,35,37,41,47,53}, die genau diejenigen moeglichen Summen
   s=a+b enthaelt, die den jeweils ersten Aussagen von Karl und Hannes
   genuegen.


Fuer jede dieser 10 Moeglichkeiten von s bestimmen wir nun die Zerlegungen in
Summanden s1 und s2 sowie jeweils die Liste der moeglichen Faktoren, die das
Produkt s1*s2 bilden koennen. Die 10 Elemente von S sind genau diejenigen,
fuer die diese Listen jeweils mindestens 2 Eintraege haben, weswegen Hannes
sich sicher sein kann, dass Karl die Loesung nicht sofort kennen kann. Karl
kennt also nach Voraussetzung das Produkt a*b und weiss, dafuer ausreichende
Intelligenz einmal vorausgesetzt, aus der ersten Aussage von Hannes, dass die
Summe eine der obigen 10 Zahlen sein muss. Fuer sein Produkt muss es daher
GENAU EINE Zerlegung in zwei Faktoren geben, deren Summe eine der 10
moeglichen ist.
Dies entnehmen wir Karls zweiter Aussage. Hannes wiederum schliesst aus Karls
zweiter Aussage auch auf die beiden Zahlen. Das bedeutet, fuer die Summe, die
er ja kennt, gibt es auch GENAU EINE Zerlegung in 2 Summanden s1 und s2, so
dass s1*s2 sich auf GENAU EINE Art in zwei Faktoren zerlegen laesst, deren
Summe wiederum eine der 10 ausgezeichneten Zahlen ist.

Gehen wir nun die 10 moeglichen Summen durch, wobei man den Aufwand etwas
beschraenken kann. Beginnen wir zunaechst ausfuehrlich mit s=11, wobei wir
ohne Beschraenkung der Allgemeinheit s1>=s2 annehmen:

s1  s2   s1*s2    Faktorisierungen mit erlaubter Faktorsumme
------------------------------------------------------------
  9   2      18       9*2
  8   3      24       8*3
  7   4      28       7*4
  6   5      30       6*5, 15*2

Dabei sind die erlaubten Faktorsummen genau die 10 Elemente von S.

Ein Beispiel soll zeigen, was das konkret bedeutet:
Angenommen, a=2 und b=9, so kann aus dem Produkt 18 nicht eindeutig auf die
Faktoren geschlossen werden (Karls erste Aussage); aus der Summe (11), die
Hannes kennt, kann aber geschlossen werden, dass Karl, egal, wie diese 11 nun
zustande kommt, aus dem Produkt nicht auf die beiden Faktoren schliessen
kann. Aus dieser Aussage wiederum, also der ersten Aussage von Hannes, kann
Karl schliessen, dass die Summe der beiden Faktoren eine der 10 Elemente von S
sein muss. Nun gibt es fuer ihn nur eine Faktorisierung der 18, naemlich 2*9,
die das erfuellt, und das Problem ist fuer ihn geloest.
Allerdings kann Hannes bei diesem Beispiel aus dieser Aussage Karls nicht auf
die Loesung schliessen, denn es haette auch 8+3 oder 7+4 sein koennen. Nur 6+5
haette es nicht sein koennen, denn dann haette Karl aus der Summe 30 nicht
eindeutig auf die Faktoren schliessen koennen, denn neben der Zerlegung 6*5
waere auch 15*2 moeglich, denn 15+2=17 und 17 ist auch Element von S.
Weiteres Vorgehen: Wir suchen fuer die anderen moeglichen s nun dasjenige,
fuer das es GENAU EINE Summe s=s1+s2 gibt, fuer die das Produkt s1*s2 nur auf
eine Weise in zwei Faktoren x und y zerlegt werden kann, so dass x+y Element
von S ist. (In diesem Fall sind dann natuerlich x und y genau a und b.)


Bereits bei s=17 werden wir fuendig:

s1  s2   s1*s2    Faktorisierungen mit erlaubter Faktorsumme
------------------------------------------------------------
15   2      30       15*2, 6*5
14   3      42       14*3, 21*2
13   4      52       13*4
12   5      60       12*5, 20*3
11   6      66       11*6, 33*2
10   7      70       10*7, 35*2
  9   8      72        9*8, 24*3

Somit haben wir eine Loesung: a=13, b=4 (oder umgekehrt).

Nochmal zur Erlaeuterung: Fuer das Produkt 52 kann Karl nicht eindeutig
schliessen, aus welchen beiden Faktoren dieses gebildet wurde. Fuer die Summe
17 kann Hannes seine erste Aussage machen, dass er weiss, dass Karl die beiden
Zahlen nicht kennt. Karl weiss nun, dass damit aus 52=4*17 und 52=2*34 nur
ersteres zutreffen kann. Er kennt somit die Loesung. Damit kennt auch Hannes
die Loesung. Er kennt die Summe 17 und weiss, dass nur bei den Summanden 13
und 4 seine erste Aussage Karl weiterhalf. Bei allen anderen moeglichen
Summandenpaaren haette Karl die Aussage von Hannes nichts gebracht, da er
jeweils immer noch 2 Moeglichkeiten gehabt haette. Also heissen die beiden
gesuchten Zahlen 13 und 4.

Im Prinzip ist die Aufgabe damit geloest, aber es ist sinnvoll, die
Eindeutigkeit der Loesung nachzuweisen, also zu zeigen, dass fuer jedes
weitere s (23,27,29,...) immer mindestens zwei Zerlegungen in Summanden
existieren, deren Produkt nur auf eine Art (in 2 Faktoren) faktorisiert werden
kann, so dass die Faktorensumme Element von S ist.

Man kann den Rechenaufwand dabei deutlich reduzieren, wenn man sich dabei der
Tatsache bedient, dass eine Produkt 2^n * p mit n>1 und p prim nur auf eine
Weise in 2 Faktoren zerlegt werden kann, so dass deren Summe ungerade
ist. Bsp: 112 = 16*7 = 2^4 * 7 hat die Zerlegungen (in 2 Faktoren) 16*7, 8*14,
4*28 und 2*56, wobei nur die erste mit 23 eine ungerade Faktorensumme hat, da
ansonsten immer zwei gerade Zahlen addiert werden.

Hier nun die anderen Tabellenauszuege fuer die verbleibenden s:

  s  s1  s2   s1*s2    Faktorisierungen mit erlaubter Faktorsumme
================================================================
23  19   4      76       19*4
23  16   7     112       16*7
----------------------------------------------------------------
27  23   4      92       23*4
27  19   8     152       19*8
----------------------------------------------------------------
29  16  13     208       16*13
29  27   2      54       27*2     (*)
----------------------------------------------------------------
35  32   3      96       32*3
35  31   4     124       31*4
----------------------------------------------------------------
37  32   5     160       32*5
37  29   8     232       29*8
----------------------------------------------------------------
41  37   4     148       37*4
41  39   2      78       39*2     (*)
----------------------------------------------------------------
47  43   4     172       43*4
47  31  16     496       31*16
----------------------------------------------------------------
53  37  16     592       37*16
53  47   6     282       47*6     (*)
----------------------------------------------------------------

Bei einigen s gibt es nur eine geeignete Kombination aus Primzahl und
Zweierpotenz. Die insgesamt nur drei fehlenden Zeilen muss man sich "von Hand"
suchen, wobei man allerdings schnell fuendig wird.  Solche Zeilen sind mit
einem (*) gekennzeichnet. Bsp: 54 kann zerlegt werden in 27*2 (Summe 29:
erlaubt), 9*6 (Summe 15, nicht erlaubt) und 18*3 (Summe 21: nicht
erlaubt). Also bleibt auch hier nur eine Zerlegung.

Mit dieser Tabelle ist nun auch die Eindeutigkeit der Loesung gezeigt. Der
gesamte Loesungsweg setzt nicht einmal einen Taschenrechner voraus. Das
einzige Loesungspaar ist (13, 4).

Gruss Croft

-----------------------------------------------------------------------------



Re^3: und noch eins... (Grimmborn, 24. Mai 2001, 10:09:11):
~#! rn=Croft rt=990690437 rg=puiz
~#! tid=990124422
Das interessante an der ganzen Geschichte ist allerdings, dass Karl und Hannes
das mal eben so spontan im Kopf gemacht haben.

GdA

-----------------------------------------------------------------------------



Re^3: und noch eins... (Mucks, 25. Mai 2001, 12:27:34):
~#! rn=Croft rt=990690437 rg=puiz
~#! tid=990124422
Ganz so viel hatte ich mir nicht ueberlegt, sondern das meiste einfach vom
Computer durchprobieren lassen (war aber gar nicht so viel, 40 Millisekunden
im langsamen LPC-Interpreter).
Ich habe nur angenommen, dass die Summe nicht a+b oder a+a*a, a,b Prim sein
darf.
Und dass es bei bekanntem Produkt nur eine Faktorzerlegung geben kann, sodass
die Summe 'legal' ist.
Und dann fuer die eingeschraenkten Summen ueberpruefen, fuer welche Summe es
nur eine Summanden-zerlegung gibt, so
dass das Produkt das Produkt auch der obigen eEinschraeknung entspricht.
(also die Menge der Primzahlen berechnen, die Menge der moeglichen Summen, die
Menge der moeglichen Produkte, und damit dann die einzig Moegliche Loesung).
                                                      Mucks
P.S. sorry fuer die Typos, aber ich hab grad kein TF

-----------------------------------------------------------------------------



Altavistas Babelfish :o) (Foobar,  1. Aug 2001, 01:31:02):
 Hallo.

 Bei dem folgenden Text handelt es sich um die Raumbeschreibung eines Raums 
 im MG, den wohl nahezu jeder schon gesehen hat.

 Er wurde mit Hilfe des absolut zuverlaessigen Altavista Babelfisch 
 erstellt und vom Deutschen ins Englische, vom Englischen ins Franzoesischen
 und dann wieder ins Deutsche uebersetzt (wir wollen es am Anfang ja etwas
 leichter gestalten ;o)). 
 
 Um welchen Raum handelt es sich?

 ----------
 Das steife Zufahrtsgleis zum frightpunkt beendet hier vor senkrechten eine 
 Mauer im Sueden, wo Sie in eine schwarze Hoehle hineingehen koennen. Sie 
 sind bereits in einer solchen Groesse, dass die ebulawolken Ihre Ansicht 
 versperren. Obwohl noch gewaltig der Felsen ueber Ihnen die Wuermer
 anhaeuft haut-pile nach oben von sich selbst, darf nicht erwogen werden, 
 sich weit zu erheben. Vom Norden die kleine Projektion/lead, auf dem Sie 
 sind, lassen den Felsen weiter perpendikulaer, nach unten an einer Welt des 
 Gletschers des Eises und des Schnees los. Aber Erlass! Zwischen den 
 ebulawolken stellen Sie einen Suspensionssteg fest, der ausgehend von der 
 unendlichen Leertaste Wolken direkt zum Felsen Projektion/lead fuehrt! Sie 
 machen kein Vertrauen in Ihren Augen! Wie ist es, das um alles in der Welt 
 hier ein Suspensionssteg kommt? Und noch viel mehr wesentlich - von wo 
 fuehrt sie? In der Naehe sie stellen Sie eine gewaltige Wolke fest, die Sie
 zurueckzufuehrend auf ihre wenig gemeinsame Form im Auge faellt. Ein enges
 Zufahrtsgleis faehrt nach unten zum Westen. 
 ----------

 Meine persoenlichen Favoriten sind uebrigens "perpendikulaer" und
 "Suspensionssteg".

 Foobar

-----------------------------------------------------------------------------



Re: Altavistas Babelfish :o) (Matis,  1. Aug 2001, 01:38:33):
~#! rn=Foobar rt=996622262 rg=puiz
~#! tid=996622262
Eingang zur SSP.

Matis

-----------------------------------------------------------------------------



Re: Re: Altavistas Babelfish :o) (Foobar,  1. Aug 2001, 01:39:03):
~#! rn=Matis rt=996622713 rg=puiz
~#! tid=996622262
Hmpf.

Ok, Ihr habt es so gewollt. Morgen kommt Italienisch mit rein :o)

Foobar

-----------------------------------------------------------------------------



Re: Altavistas Babelfish :o) (Apsu,  1. Aug 2001, 18:52:22):
~#! rn=Foobar rt=996622262 rg=puiz
~#! tid=996622262
Muesste es nicht 'eb_o_lawolke' heissen?
Apsu, vergewaltigt auch gerne mal den Babelfish

-----------------------------------------------------------------------------



artikel geom flaechenber (Liafar, 10. Aug 2001, 23:16:04):
Mal wieder ein leichteres Raetsel:

Man stelle sich ein Quadrat vor mit der Seitenlaenge a.
Nun nimmt man diese Laenge a in den Zirkel und zeichnet 4 Kreise mit den
Mittelpunkten jeweils auf den Eckpunkten des Quadrats.
Wie gross ist die Flaeche die in allen 4 Kreisen enthalten ist?
(Durchschnittsmenge)

Liafar

-----------------------------------------------------------------------------



Re: artikel geom flaechenber (Patryn, 10. Aug 2001, 23:46:30):
~#! rn=Liafar rt=997478164 rg=puiz
~#! tid=997478164
A = a^2 - 8 * Int_0^(a/2) (a - (a^2 - x^2)^(1/2)) dx
ausrechnen kannste selbst, keine lust

-- 
patryn

-----------------------------------------------------------------------------



Re: Re: artikel geom flaechenber (Liafar, 10. Aug 2001, 23:49:33):
~#! rn=Patryn rt=997479990 rg=puiz
~#! tid=997478164
Das ist ja witzlos es durch integrieren zu loesen

Liafar

-----------------------------------------------------------------------------



Re^3: artikel geom flaechenber (Patryn, 10. Aug 2001, 23:50:53):
~#! rn=Liafar rt=997480173 rg=puiz
~#! tid=997478164
yo, aber dafuer braucht man ja auch nich nachdenken :)

-----------------------------------------------------------------------------



Re^3: artikel geom flaechenber (Boing, 13. Aug 2001, 12:53:34):
~#! rn=Liafar rt=997480173 rg=puiz
~#! tid=997478164
Stell halt Raetsel und keine Matheaufgaben ... :)
  Boing

-----------------------------------------------------------------------------



Anagramme (Montanus, 14. Aug 2001, 17:56:53):

jetzt wirds kompliziert. :-)
Es gibt Umschreibungen von Begriffen, die man durch Umwuerfeln der Buchstaben
erreichen kann, udn zu allem Unglueck ist alles auch noch in Englisch. :-)

Zum Einstieg ein Beispiel:

Cash lost in 'em ... ergibt Slot Machines. Wer schonmal in Vegas war, kennt
das Gefuehl.
Aber fangen wir mal mit was einfachem an, gesucht wird ein Politiker: 
He bugs Gore

Gesucht wird eine besondere Frau im Leben (fast) jeden Mannes:
Woman Hitler

Diese kann dazu fuehren:
A Rope Ends it

Hilfegesuche koennen gefunkt werden:
Here Comes Dots

Jetzt noch eine mathematische Gleichung, unglaublich aber wahr:
Twelve plus one

Und als kleines Bonusgeschenk am Schluss, wer koennte das sein:
To Copulate He Finds Interns

-Montanus Scrabblekoenig

-----------------------------------------------------------------------------



Re: Anagramme (Montanus, 14. Aug 2001, 18:44:34):
~#! rn=Montanus rt=997804613 rg=puiz
~#! tid=997804613
Phobos Scrabblekaiser hat mich gerade auf einen Fehler hingewiesen:
Natuerlich muss es heissen:

 Here come dots.

Grammatikaisch wie inhaltlich...

-----------------------------------------------------------------------------



Re: Re: Anagramme (Dotz, 15. Aug 2001, 14:02:56):
~#! rn=Montanus rt=997807474 rg=puiz
~#! tid=997804613
Eigentlich muss es heissen:

 Here comes Dotz.

Dotz, WG (auch mal inner MPA)

-----------------------------------------------------------------------------



Zahl gesucht! (Rardian, 17. Okt 2001, 18:45:08):
Gegeben sei eine Folge von Zahlen:

 30, 33, 36, 42, 50, 110, ?, 1010

Gesucht ist die Zahl fuer die Stelle des Fragezeichens. Viel Spass!

Rar.

-----------------------------------------------------------------------------



Re: Zahl gesucht! (Grimmborn, 17. Okt 2001, 19:13:41):
~#! rn=Rardian rt=1003337108 rg=puiz
~#! tid=1003337108
228.
Begruendung: Jede Zahl ist groesser als die vorhergehende, aber kleiner als
die nachfolgende. Elementar, mein lieber Watson.

GdA

-----------------------------------------------------------------------------



Re: Re: Zahl gesucht! (Bielefeld, 18. Okt 2001, 08:38:00):
~#! rn=Grimmborn rt=1003338821 rg=puiz
~#! tid=1003337108
132 wuerde ich meinen.

-Bielefeld

-----------------------------------------------------------------------------



... (Naddl, 18. Okt 2001, 19:42:05):
Tags sitzt man drauf, 
nachts schlft man drin, 
morgens putzt man sich damit die Zhne. 

Was ist das? 

-----------------------------------------------------------------------------



Re: ... (Phobos, 19. Okt 2001, 21:29:11):
~#! rn=Naddl rt=1003426925 rg=puiz
~#! tid=1003426925
Ein Stuhl, ein Bett und eine Zhnbuerste.

Phobos

-----------------------------------------------------------------------------



Spinnen  (Elberet, 23. Okt 2001, 16:36:25):
Mal ein kleines Raetsel von mir:)

Man nehme eine n-beinige Spinne. Naja damits leichter ist, 
stelle man sich vor, dass die Beine als regelmaessiges n-Eck angeordet seien.
Nun hat die Spinne fuer jedes ihrer Beine einen Schuh, der aber nur an 
dieses Bein passt. Wenn die Spinne abends ins Bett geht, dann will sie die
Schuhe 
natuerlich gleich so hinstellen, dass sie am naechsten morgen einfach nur 
reinhuepfen muss. Leider ist sie ein wahrer Morgenmuffel, dh, das klappt mit
dem 
Reinhuepfen nicht so gut. Nun die Frage: Wie muss die Spinne die Schuhe
anordnen, 
dass sie am naechsten morgen, egal wie sie reinhuepft, immer mindestens ein
Bein im richtigen Schuh hat, beziehungsweise geht das ueberhaupt.

-----------------------------------------------------------------------------



Re: Spinnen  (Grimmborn, 23. Okt 2001, 16:43:01):
~#! rn=Elberet rt=1003847785 rg=puiz
~#! tid=1003847785
Nein, das geht nicht. Erstens hat eine Spinne nicht mehr als acht Beine (also
ist n maximal 8), zweitens gibts fuer Spinnen keine Schuhe, und drittens
schlafen Spinnen nicht in Betten, sondern bestenfalls in Netzen.

GdA

-----------------------------------------------------------------------------



Re: Re: Spinnen  (Bielefeld, 23. Okt 2001, 16:43:51):
~#! rn=Grimmborn rt=1003848181 rg=puiz
~#! tid=1003847785
Ich glaub die Spinne Tekla (bei Biene Maja) hatte Schuhe... :)

-Bielefeld -> megaschmarrn()

-----------------------------------------------------------------------------



Re: Re: Spinnen  (Elberet, 23. Okt 2001, 16:43:59):
~#! rn=Grimmborn rt=1003848181 rg=puiz
~#! tid=1003847785
Banause, aber du hast recht, fuer 8-beinige Spinnen gehts nicht ;)

-----------------------------------------------------------------------------



Re^3: Spinnen  (Imda, 23. Okt 2001, 16:45:37):
~#! rn=Elberet rt=1003848239 rg=puiz
~#! tid=1003847785
hmm, das geht auch fuer n-beinige nich, oder ueberseh ich da was ?

-----------------------------------------------------------------------------



Re^4: Spinnen  (Elberet, 23. Okt 2001, 16:46:35):
~#! rn=Imda rt=1003848337 rg=puiz
~#! tid=1003847785
ja du uebersiehst was ;)

-----------------------------------------------------------------------------



Re^5: Spinnen  (Grimmborn, 23. Okt 2001, 16:47:49):
~#! rn=Elberet rt=1003848395 rg=puiz
~#! tid=1003847785
Fuer n=1 z.B. ist das problemlos moeglich.

GdA

-----------------------------------------------------------------------------



Re^4: Spinnen  (Croft, 23. Okt 2001, 16:47:55):
~#! rn=Imda rt=1003848337 rg=puiz
~#! tid=1003847785
Wenn ich grad nicht taeusche geht das nur fuer ungerade n.
Gruss Croft

-----------------------------------------------------------------------------



Re^5: Spinnen  (Elberet, 23. Okt 2001, 16:48:28):
~#! rn=Croft rt=1003848475 rg=puiz
~#! tid=1003847785
dann beweise es ;)

-----------------------------------------------------------------------------



Re^5: Spinnen  (Imda, 23. Okt 2001, 16:50:47):
~#! rn=Elberet rt=1003848395 rg=puiz
~#! tid=1003847785
ups, jo. wenn spinnen handstand machen koennten haettich recht, oder ?

-----------------------------------------------------------------------------



Re^6: Spinnen  (Grimmborn, 23. Okt 2001, 16:53:15):
~#! rn=Imda rt=1003848647 rg=puiz
~#! tid=1003847785
Und, wenn wir schon beim abstrahieren sind: wenn die Spinne eine Scheibe ist
und zwar die Beine, nicht aber Ober- und Unterseite gekenntzeichnet ist, gehts
ueberhaupt nicht mehr.

GdA

-----------------------------------------------------------------------------



Re^7: Spinnen  (Imda, 23. Okt 2001, 16:53:55):
~#! rn=Grimmborn rt=1003848795 rg=puiz
~#! tid=1003847785
Das meintich mit handstand...

-----------------------------------------------------------------------------



Re^7: Spinnen  (Elberet, 23. Okt 2001, 16:54:50):
~#! rn=Grimmborn rt=1003848795 rg=puiz
~#! tid=1003847785
eben, aber die spinne kann sich nur drehen und nicht umklappen

-----------------------------------------------------------------------------



Re^8: Spinnen  (Mandragon, 23. Okt 2001, 16:55:06):
~#! rn=Imda rt=1003848835 rg=puiz
~#! tid=1003847785
Also mit 6 Beinen kann man das auch nicht sicherstellen

Ma*

-----------------------------------------------------------------------------



Re^9: Spinnen  (Imda, 23. Okt 2001, 16:55:57):
~#! rn=Mandragon rt=1003848906 rg=puiz
~#! tid=1003847785
Mit allem was ungerade is klappts, ich weiss bloss (noch) nich warum...

-----------------------------------------------------------------------------



Re^9: Spinnen  (Grimmborn, 23. Okt 2001, 16:57:29):
~#! rn=Mandragon rt=1003848906 rg=puiz
~#! tid=1003847785
Hmm, mit 6 Beinen kann man schon sicherstellen dass die Spinne nicht umklappt.
Da gibts irgendeine DIN Norm dass fuenf Beine reichen (daher haben
Buerostuehle auch mind. fuenf Rollen/whatever).

GdA

-----------------------------------------------------------------------------



Re^9: Spinnen  (Mandragon, 23. Okt 2001, 16:58:07):
~#! rn=Mandragon rt=1003848906 rg=puiz
~#! tid=1003847785
Eine Beine hat eine grade anzahl von Beinen (andernfalls keine Schuhpaare).
Die Anzahl der Beine ist 2n, die Anzahl der Paare ist n.
Damit gibt es fuer jedes Bein n moeglichkeiten, von welchem Paar der passende
Schuh ist.

Aehm. Kurze Zwischenfrage .. unterscheidet man zwischen linken und rechten
schuhen? :-)

Ma*

-----------------------------------------------------------------------------



Re^10: Spinnen  (Elberet, 23. Okt 2001, 17:01:06):
~#! rn=Mandragon rt=1003849087 rg=puiz
~#! tid=1003847785
noe, es sind nicht paare sondern beine

-----------------------------------------------------------------------------



Re^11: Spinnen  (Mandragon, 23. Okt 2001, 17:01:38):
~#! rn=Elberet rt=1003849266 rg=puiz
~#! tid=1003847785
Hae? also prinzipiell n beine und n schuhe ?

Ma*

-----------------------------------------------------------------------------



Re^12: Spinnen  (Elberet, 23. Okt 2001, 17:02:18):
~#! rn=Mandragon rt=1003849298 rg=puiz
~#! tid=1003847785
jo

-----------------------------------------------------------------------------



Re^13: Spinnen  (Mandragon, 23. Okt 2001, 17:05:03):
~#! rn=Elberet rt=1003849338 rg=puiz
~#! tid=1003847785
Also ungerade ist ganz einfach:
Einfach entgegen dem Uhrzeigersinn.

Oder irre ich ?

Ma*

-----------------------------------------------------------------------------



Re: Re: Zahl gesucht! (Rardian, 24. Okt 2001, 14:48:42):
~#! rn=Grimmborn rt=1003338821 rg=puiz
~#! tid=1003337108
Gratuliere zur Antwort, lieber Grimmborn. Leider suchte ich nicht irgendeine
Zahl, die passt, sondern die "richtige". Richtig im Sinne der von mir dieser
Folge gegebenen Gesetzmaessigkeit, welche Du offenbar nicht erkannt hast. Die
umhuepfbare Grossstadt lag da schon richtiger: 132 war gesucht!

Warum? Nun, jede Zahl der von mir geschriebenen Zahlenfolge stellte die Zahl
30 dar, beginnend im 10-er-Zahlensystem, gefolgt vom 9-er-System usw. bis hin
zum 3-er-System.

Vielen Dank fuer Ihre Aufmerksamkeit!
  Rar.

-----------------------------------------------------------------------------



Re^3: Zahl gesucht! (Grimmborn, 24. Okt 2001, 15:34:47):
~#! rn=Rardian rt=1003927722 rg=puiz
~#! tid=1003337108
> Leider suchte ich nicht irgendeine Zahl, die passt, sondern die "richtige".
Sorry, mein Hellsehmodul war wohl mal wieder defekt. 

GdA

-----------------------------------------------------------------------------



Re^4: Zahl gesucht! (Rardian, 24. Okt 2001, 15:36:58):
~#! rn=Grimmborn rt=1003930487 rg=puiz
~#! tid=1003337108
>Sorry, mein Hellsehmodul war wohl mal wieder defekt. 
Jaja, das Alter ... :)

Rar, empfiehlt: Austauschen!

-----------------------------------------------------------------------------



Hatten wir die Fettecke schon? (Troy,  5. Nov 2001, 09:18:14):
Gesucht wird eine Fettecke, nicht notwendigerweise von Beuys, die eine
rechtwinklige Raumecke derart ausfuellt, dass die Summe ihrer vier
dreieckigen Flaecheninhalte genau 18 dm^2 (Quadratdezimeter) ergibt.
Ausserdem sollen alle vier Flaecheninhalte (in dm^2) ganzzahlige Werte haben.

Troy

-----------------------------------------------------------------------------



"z. Hd." (Anatol, 10. Nov 2001, 16:21:52):

Wer wertet die 'zu Haenden'-Zeile bei einer Postsendung aus? Der Zusteller
oder der Empfaenger?

Anatol - ernste Frage ;)

-----------------------------------------------------------------------------



Re: "z. Hd." (Gloinson, 10. Nov 2001, 16:27:32):
~#! rn=Anatol rt=1005405712 rg=puiz
~#! tid=1005405712
AFAIK der Empfaenger. Bzw. dessen Poststelle oder wer das auch immer tut.
Wieso, magst Du wem Puderzucker schicken und moechtest nicht die
Diabeteskranken bei der Post lahmlegen?

Gloin(son)

-----------------------------------------------------------------------------



Re: Re: "z. Hd." (Anatol, 10. Nov 2001, 16:28:14):
~#! rn=Gloinson rt=1005406052 rg=puiz
~#! tid=1005405712
Nein, es kam ein Paket als "unzustellbar" zurueck. Und ich wuerde gerne
wissen, ob es an der Adresse oder am "z. Hd." lag.

Anatol

-----------------------------------------------------------------------------



Re^3: "z. Hd." (Ark, 10. Nov 2001, 16:44:02):
~#! rn=Anatol rt=1005406094 rg=puiz
~#! tid=1005405712
z.Hd. ist eh veraltet, da reicht heute einfach der Name des Adressaten.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: "z. Hd." (Anatol, 10. Nov 2001, 17:18:19):
~#! rn=Ark rt=1005407042 rg=puiz
~#! tid=1005405712
Es kam eine Mail vom dem, der dort seine Firma hat (oder haben soll). 
Es sei ein Postfehler, er habe sich darueber bereits beschwert. Er haengte
ein .tiff eines Faxes ein, in dem von der Deutschen Post/Euroexpress die
Beschwerde mit ueblichem Blabla bestaetigt wird...

Grmpf. Ebay lohnt nicht. :)

Anatol - hat nur Aerger :)

-----------------------------------------------------------------------------



Re^5: "z. Hd." (Gloinson, 10. Nov 2001, 19:26:00):
~#! rn=Anatol rt=1005409099 rg=puiz
~#! tid=1005405712
Naja, dass z.Hd. normalerweise vom Empfaenger ausgewertet wird hindert die
Post ja nicht dran es zu lesen und misszuinterpretieren :)

Gloin(son), bekommt Briefe mit Karten mit Paketbenachrichtigung (die
Paketbote normalerweise wenigstens in den Briefkasten wirft ...)

-----------------------------------------------------------------------------



Re^6: "z. Hd." (Zook, 11. Nov 2001, 14:04:58):
~#! rn=Gloinson rt=1005416760 rg=puiz
~#! tid=1005405712
Meines Wissens gab's da auch mal nen nettes Gerichtsurteil zu, ob ein 
Brief "z.Hd." vom Arbeitsgeber als Privatpost anzusehen ist oder ob er
ihn oeffnen duerfe. Wenn ich das recht im Kopf hatte, war ein

-- schnipp --
Herrn Max Mustermann
Musterfirma
Musteranschrift
-- schnapp --

als Privatpost anzusehen und durfte vom Arbeitgeber nicht geoeffnet werden,
ein 

-- schnipp --
Musterfirma
Herrn Max Mustermann
Musteranschrift
-- schnapp --

als Geschaeftspost, die der Arbeitgeber oeffnen duerfe.

Ich befuerchte, das hat nun nix mit Anatols Frage zu tun, aber in der
Rubrik "megaschmarrn" kann ich grad nicht gut schreiben, weil das dann ein
Selbstreply waere.

Zook.

-----------------------------------------------------------------------------



mal wieder puiz.... (Nicolai, 12. Nov 2001, 10:33:12):
(sorry wegen doppelten zeilen und -umbruch, reines telnet eben)
zook hat boing 10 saecke mit jeweils 100 muenzen geklaut.
in einem der 10 saecke befinden sich schwerere muenzen.
eine muenze aus diesem sack wiegt 0.01 gramm mehr, als die "
normalen" anderen muenzen.
die muenzen sind vom aussehen her nicht zu unterscheiden.
zook will jetzt wissen, in welchem sack die schweren muenzen sind.
dazu hat er eine fischwaage zur verfuegung (also eine, die nur das gewicht
anzeigt, keine "wipp- oder schaukelwaage")
mit nur einem(!) wiegen kann man rauskriegen, wo die schwereren muenzen sind.


aber wie?
loesungen per mail an mich oder hier. der erste wird lobend erwaehnt :-)

-----------------------------------------------------------------------------



Re: mal wieder puiz.... (Boing, 12. Nov 2001, 10:38:07):
~#! rn=Nicolai rt=1005557592 rg=puiz
~#! tid=1005557592
Dieser Schuft! Danke fuer den Hinweis, ich hatte es noch gar nicht bemerkt!
  Boing

-----------------------------------------------------------------------------



Re: Re: mal wieder puiz.... (Catweazle, 12. Nov 2001, 10:40:53):
~#! rn=Boing rt=1005557887 rg=puiz
~#! tid=1005557592
Goetter abwerten!

YTC

-----------------------------------------------------------------------------



Re: mal wieder puiz.... (Humni, 12. Nov 2001, 10:52:12):
~#! rn=Nicolai rt=1005557592 rg=puiz
~#! tid=1005557592
Ich behaupte, das ist nicht loesbar (ohne weitere Voraussetzungen, und da werd
ich zur Not auch Haarspalterisch). Ich setze auf der Winterburg-Party mal ne
Kiste Becks aus, wenn jemand eine Loesung findet lass ich mich gerne eines
besseren belehren.

Humni, ueberzeugt und zur Not auch durchaus lernfaehig.


-----------------------------------------------------------------------------



Re: Re: mal wieder puiz.... (Nicolai, 12. Nov 2001, 10:52:56):
~#! rn=Humni rt=1005558732 rg=puiz
~#! tid=1005557592
ich geb die kiste bier an den ersten weiter, der die loesung hat.

-----------------------------------------------------------------------------



Re: Re: mal wieder puiz.... (Gloinson, 12. Nov 2001, 10:55:15):
~#! rn=Boing rt=1005557887 rg=puiz
~#! tid=1005557592
Sei ihm doch dankbar - jetzt hat er den wertlosen Metallmuell am Hals.

Gloinson sagt: Wenn der Zookmann zweimal klingelt.

-----------------------------------------------------------------------------



Re: Re: mal wieder puiz.... (Catweazle, 12. Nov 2001, 10:56:15):
~#! rn=Humni rt=1005558732 rg=puiz
~#! tid=1005557592
Ich versteh nicht warum das unloesbar sein sollte. Du hast eine Menge und du
hast ein Gewicht. Ist doch einfach. Die Nachkommastelle machts...

YTC

-----------------------------------------------------------------------------



Re^3: mal wieder puiz.... (Humni, 12. Nov 2001, 10:56:51):
~#! rn=Catweazle rt=1005558975 rg=puiz
~#! tid=1005557592
Eben nicht. Du weisst eben nicht, ob das Gewicht einer einzelnen Muenze irgend
ein noch so abstruser Bruch sein kann.

Humni

-----------------------------------------------------------------------------



Re^4: mal wieder puiz.... (Humni, 12. Nov 2001, 11:02:22):
~#! rn=Humni rt=1005559011 rg=puiz
~#! tid=1005557592
Sorry fuers Selbstreply, aber mal ein kleines Beispiel wie ich behaupte quasi
alles wiederlegen zu koennen: Einer nimmt aus Sack 1 eine Muenze, Sack 2 2
Muenzen etc...leg alles auf die Waage, und es kommt 55.04 g heraus. Nun wuerde
jeder annehmen, dass eine Muenze 1g wiegt und Sack 4 schwerer ist. Aber: Eine
Muenze kann auch (5409/5500)g wiegen. Dann wiegen 55 Muenzen 54.09g, und Sack
5 hat die schwereren Muenzen.

Und ich denke, das kriegt man mit allen Zahlen irgendwie hin. Korrigiert mich
bitte, wenn ich falsch liege. Wie gesagt: Dafuer gibts ne Kiste Becks.

Humni

-----------------------------------------------------------------------------



Re^5: mal wieder puiz.... (Cuchullin, 12. Nov 2001, 11:03:16):
~#! rn=Humni rt=1005559342 rg=puiz
~#! tid=1005557592
Stell Dir vor, Du legst fuer Sack <n> nicht <n>, sondern (<n>-1)*10
Muenzen in die Waagschale.


-----------------------------------------------------------------------------



Re^6: mal wieder puiz.... (Humni, 12. Nov 2001, 11:04:13):
~#! rn=Cuchullin rt=1005559396 rg=puiz
~#! tid=1005557592
So viele Muenzen hab ich aber nicht... 
abgesehen davon kann ich das auch widerlegen damit, behaupte ich mal. Kleinen
Moment...

Humni

-----------------------------------------------------------------------------



Re^7: mal wieder puiz.... (Boing, 12. Nov 2001, 11:06:09):
~#! rn=Humni rt=1005559453 rg=puiz
~#! tid=1005557592
Eigentlich ist es einfach ... den Sack mit den schweren Muenzen hatte
ich naemlich mit nem grossen Kreuz markiert. Dass Zook das nicht gesehen
hat wundert mich schon ... ;)
  Boing

-----------------------------------------------------------------------------



Re^7: mal wieder puiz.... (Cuchullin, 12. Nov 2001, 11:07:28):
~#! rn=Humni rt=1005559453 rg=puiz
~#! tid=1005557592

Widerlege mal. Denn wenn Du nicht genug Muenzen hast, war Zook auch
bei Dir. In Boings Saecken waren jeweils 100 Muenzen... :) Du koenntest
auch 11 aus dem zweiten ... bis 99 aus dem zehnten Sack nehmen und das
Ergebnis minus 0.11g bis minus 0.99g auf moeglichst geringen Rest pruefen.

Also: nicht die Nachkommastelle anschauen, sondern kucken, wo das Ergebnis
mit dem geringsten Rest durch die Gesamtzahl der Muenzen teilbar ist.

Cuchi

-----------------------------------------------------------------------------



Re^8: mal wieder puiz.... (Humni, 12. Nov 2001, 11:09:12):
~#! rn=Cuchullin rt=1005559648 rg=puiz
~#! tid=1005557592
Eben, Cuchi.

Wir koennen NICHT von Teilbarkeit ausgehen. Es ist nichts darueber gesagt ob
das Gewicht der Muenzen ueberhaupt rational ist, und selbst wenn man davon
ausgeht krieg ich das noch hin.

In einem Koerper (und das sind die rationalen Zahlen nun mal) gibt es keine
Teilbarkeit, alles ist teilbar. Und dass ich abstruse Brueche dafuer brauche
hab ich schon gesagt.

Humni

-----------------------------------------------------------------------------



Re^9: mal wieder puiz.... (Humni, 12. Nov 2001, 11:12:56):
~#! rn=Humni rt=1005559752 rg=puiz
~#! tid=1005557592
Also Dein Beispiel zu widerlegen:

Du machst das so (mit 11 Muenzen fuer Sack 2, 22 Muenzen fuer Sack 3...99
Muenzen fuer Sack 10) und hast so also 495 Muenzen. Deine Waage zeigt nun
495.22 an. ,Prima' denkst Du nun, ,Sack 3 ist schwerer'. Falsch. Denn es kann
auch sein, dass eine normale Muenze nun (49489/49500)g wiegt. Dann wiegen 495
Muenzen 498,89g (normale Muenzen) - aber wenn Du 0.33 dazu addierst, erhaelst
Du das Gewicht- und es ist Sack 4.

Verstanden?

Humni

-----------------------------------------------------------------------------



Re^10: mal wieder puiz.... (Humni, 12. Nov 2001, 11:14:50):
~#! rn=Humni rt=1005559976 rg=puiz
~#! tid=1005557592
Ach ja, mit den soviele Muenzen hab ich nicht: War ein Lesefehler von mir, hab
irgendwie 10^(n-1) gelesen, sorry.

Humni

-----------------------------------------------------------------------------



Re^10: mal wieder puiz.... (Cuchullin, 12. Nov 2001, 11:16:39):
~#! rn=Humni rt=1005559976 rg=puiz
~#! tid=1005557592
Wie gut, dass da ein Kreuz auf dem Sack ist...

0:1 ;)
Cuch

-----------------------------------------------------------------------------



Re^11: mal wieder puiz.... (Boing, 12. Nov 2001, 11:16:55):
~#! rn=Cuchullin rt=1005560199 rg=puiz
~#! tid=1005557592
Also bekomm ich jetzt das Bier?
  Boing

-----------------------------------------------------------------------------



Re^12: mal wieder puiz.... (Humni, 12. Nov 2001, 11:17:15):
~#! rn=Boing rt=1005560215 rg=puiz
~#! tid=1005557592
He! Von dem Kreuz war nicht die Rede!

Humni. Haarspalter.

-----------------------------------------------------------------------------



Re^13: mal wieder puiz.... (Cuchullin, 12. Nov 2001, 11:17:57):
~#! rn=Humni rt=1005560235 rg=puiz
~#! tid=1005557592
Hallo, ich habe eben mit der Muenzpraegeanstalt telefoniert...


-----------------------------------------------------------------------------



Re^14: mal wieder puiz.... (Humni, 12. Nov 2001, 11:19:56):
~#! rn=Cuchullin rt=1005560277 rg=puiz
~#! tid=1005557592
*snief* Mist, ich werd das Bier doch noch los...
Was wiegt eine Muenze denn nun?

Humni

-----------------------------------------------------------------------------



Re^15: mal wieder puiz.... (Troy, 12. Nov 2001, 11:45:56):
~#! rn=Humni rt=1005560396 rg=puiz
~#! tid=1005557592
Also so eine Fischwaage hat ne Toleranz von +/- 10 Gramm. Also sagen die
Wiegeergebnisse doch eh nix aus :-)

Troy

-----------------------------------------------------------------------------



Re^16: mal wieder puiz.... (Grimmborn, 12. Nov 2001, 12:00:20):
~#! rn=Troy rt=1005561956 rg=puiz
~#! tid=1005557592
Das kaeme auf die Fischwaage an. Wenn das eine ist mit der Zuechter ihre
Guppies wiegen sollte sie schon genauer sein.

GdA

-----------------------------------------------------------------------------



Re^17: mal wieder puiz.... (Montanus, 12. Nov 2001, 19:56:34):
~#! rn=Grimmborn rt=1005562820 rg=puiz
~#! tid=1005557592
hab ihc das richtig gelesen? Alle Munzen in en einen Sack sind schwerer?
Dann ist die Loesung ja Trivial.
Wenn nur eine einzelne Muenzen in einem der Saecke schwerer ist, dann gehts
net.

-----------------------------------------------------------------------------



Re^18: mal wieder puiz.... (Humni, 12. Nov 2001, 20:06:34):
~#! rn=Montanus rt=1005591394 rg=puiz
~#! tid=1005557592
Na wie denn Montanus? Erklaeren! Los, gibt ne Kiste Bier.

Humni, der mittlerweile felsenfest dran glaubt dass es nicht geht. ;-)


-----------------------------------------------------------------------------



Re^19: mal wieder puiz.... (Imda, 12. Nov 2001, 20:10:09):
~#! rn=Humni rt=1005591994 rg=puiz
~#! tid=1005557592
wennich Mathematiker waer wuerdich ja sagen "geht beweisbar nicht", aber vmtl
ueberseh ich eh wieder irgendwas ;)

Imda. Nichtmathematiker...
,

-----------------------------------------------------------------------------



Re^20: mal wieder puiz.... (Humni, 12. Nov 2001, 20:12:09):
~#! rn=Imda rt=1005592209 rg=puiz
~#! tid=1005557592
Ich wuerde sagen, dass man aus meiner Argumentation einen Beweis machen kann
*protz*. Oder eine allgmeine Konstruktion eines Gegenbeispiels.

Humni

-----------------------------------------------------------------------------



Re^21: mal wieder puiz.... (Imda, 12. Nov 2001, 20:46:11):
~#! rn=Humni rt=1005592329 rg=puiz
~#! tid=1005557592
Jaaaa, einen Gegenbeweis gegen die offensichtliche Methode, das sottma
hinkriegen. Aber heisst das, dasses prinzipiell keine andere moeglichkeit gibt
? nicht, dass ich eine wuesste...

Imda. 

-----------------------------------------------------------------------------



Re^22: mal wieder puiz.... (Montanus, 12. Nov 2001, 21:55:36):
~#! rn=Imda rt=1005594371 rg=puiz
~#! tid=1005557592
Also wenn alle Muenzen aus Sack X (der mit de mschwarzen Kreuz) eine Nuance
schwerer sind als die aus de nSaecken A, B, C, D, E, F, G, H und I - dann
nimmst Du eine Muenze aus Sack A, zwei aus Sack B, drei aus Sack C, vier aus D
und so weiter und legst alle diese Muenzen zusammen auf die Waage.
Das sind insgesamt 55 Muenzen, von denen x (die aus Sack X, also eine Zahl
zwischen 1 und 10) etwas schwerer sind, in dem Fall 0.01 Gramm.
Unter der Annahme, dass das Gewicht einer normalen Muenze bekannt und belieb
ig ist, subtrahiert man das Gewicht von 55 normalen Muenzen vom erhaltenen
Gewicht und kann an der letzten Ziffer des Rests erkennen, aus welchem Sack
die Muenzen stammen.
Zu trivial?

-----------------------------------------------------------------------------



Re^23: mal wieder puiz.... (Croft, 12. Nov 2001, 21:56:21):
~#! rn=Montanus rt=1005598536 rg=puiz
~#! tid=1005557592
Ja.  Woher kennst du das Gewicht der normalen Muenzen?

-----------------------------------------------------------------------------



Re^24: mal wieder puiz.... (Montanus, 12. Nov 2001, 21:58:03):
~#! rn=Croft rt=1005598581 rg=puiz
~#! tid=1005557592
Das kenne ich. OBDA, wie der Mathematiker zu sagen pflegt. ;-)

-----------------------------------------------------------------------------



Re^25: mal wieder puiz.... (Croft, 12. Nov 2001, 21:59:19):
~#! rn=Montanus rt=1005598683 rg=puiz
~#! tid=1005557592
Dann weisst du aber mehr als die restlichen Leute die an dem Problem
hier grad rumraetseln ;-)  Das steht naemlich nicht in der Aufgabenstellung
unt kann auch nicht durch weiteres Wiegen herausbekommen werden.

-----------------------------------------------------------------------------



Re^26: mal wieder puiz.... (Croft, 12. Nov 2001, 21:59:52):
~#! rn=Croft rt=1005598759 rg=puiz
~#! tid=1005557592
*Argl*  Ich bin vom Mudvirus befallen ;-)

-----------------------------------------------------------------------------



Re^26: mal wieder puiz.... (Montanus, 12. Nov 2001, 22:01:32):
~#! rn=Croft rt=1005598759 rg=puiz
~#! tid=1005557592
Machs andersherum:

Wieg die 55 Muenzen.  Teile das Gewicht durch 55. Subtrahiere eine Zahl, die
den Vorkommastellen und den ersten beiden Nachkommastellen entspricht.
Multipliziere den Restwieder mitt 55.
Und... passt.
Bier zu mir.

-----------------------------------------------------------------------------



Re^27: mal wieder puiz.... (Grimmborn, 12. Nov 2001, 22:01:50):
~#! rn=Croft rt=1005598792 rg=puiz
~#! tid=1005557592
Wie ich schon sagte: Ein Anruf bei der Muenzpraegeanstalt und die sagen Dir
wie schwer eine einzelne Muenze sein sollte. Werden Dich vermutlich bitten die
gefaelschten bei ihnen vorbei zu bringen...
Jedenfalls: Das Sollgewicht einer Muenze kriegt man sehr leicht ohne
zusaetzliches Wiegen raus.

q.e.d., wie die Mathematiker zu sagen pflegen.

GdA

-----------------------------------------------------------------------------



Re^28: mal wieder puiz.... (Montanus, 12. Nov 2001, 22:04:33):
~#! rn=Grimmborn rt=1005598910 rg=puiz
~#! tid=1005557592
um mich selber zu korrigieren - du nullst vsoviele Nachkommastellen, wie du an
Muenzgewicht zulaesst.
Wenn eine Muenze also x,abc Gramm wiegt, dann musst du die ersten drei
nachkommastellen nullen, bevor du den Rest mal 55 nimmst und die Loesung
erhaeltst.

-----------------------------------------------------------------------------



Re^29: mal wieder puiz.... (Imda, 12. Nov 2001, 22:50:39):
~#! rn=Montanus rt=1005599073 rg=puiz
~#! tid=1005557592
bloss sind dann die 0,01 gramm, die die anderen mehr wiegen beim teufel...
Oder versteh ich da was falsch ?

-----------------------------------------------------------------------------



Re^30: mal wieder puiz.... (Humni, 13. Nov 2001, 02:58:21):
~#! rn=Imda rt=1005601839 rg=puiz
~#! tid=1005557592
Nein Imda. Du verstehst das, nur der Rest nicht.

Alles was ich bisher gelesen habe kann man so widerlegen wie alles zuvor.
Denkt mal einfach dran, dass das Gewicht der Muenzen ein voellig abstruser
bruch sein kann, von einer Beschraenkung der Nachkommastellen war auch nicht
die Rede.

Humni
PS: Montanus, lies mal die vorigen Artikel dazu. Genau das Beispiel mit den 55
Muenzen hab ich schonmal erlaeutert.

-----------------------------------------------------------------------------



Raetsel speziell fuer die Aelteren Semester (Orktoeter, 11. Dez 2001, 22:25:46):
Wer nannte seine Sekretaerin immer "Rehlein"

Aufloesung irgendwann demnaechst, wenn mein Alzheimer ... ihr wisst schon


OrkT

-----------------------------------------------------------------------------



Re: Raetsel speziell fuer die Aelteren Semester (Anatol, 12. Dez 2001, 00:11:52):
~#! rn=Orktoeter rt=1008105946 rg=puiz
~#! tid=1008105946
Klingt nach dem tollen Hecht aeh Specht? *gruebel*


-----------------------------------------------------------------------------



Re: Raetsel speziell fuer die Aelteren Semester (Montanus, 12. Dez 2001, 03:44:01):
~#! rn=Orktoeter rt=1008105946 rg=puiz
~#! tid=1008105946
Well, IIRC war das Erik Ode als "Der Kommissar" damals in der ARD, als
Schwarz-Weiss-Fernseher noch das Modernste vom Modernen war.
Hab ich jetzt ein Kognaekchen verdient? ;-)

-Montanus Aelteres Semester

-----------------------------------------------------------------------------



Re: Re: Raetsel speziell fuer die Aelteren Semester (Orktoeter, 12. Dez 2001, 09:12:15):
~#! rn=Montanus rt=1008125041 rg=puiz
~#! tid=1008105946
Ok, die Loesung ist korrekt! Es war "Der Kommissar" oder Erik Ode

Der erste mit der richtigen Loesung war Roadrunner,
als zweites erreichte mich um 3:13 ein Brief von Galbraith mit der richtigen
Loesung
und Montanus gratuliere ich hiermit zum dritten Platz!

Vielen dank an alle Teilnehme und viel Spass beim naechsten Raetsel, das
vileicht irgendwann mal kommt.

OrkT.

-----------------------------------------------------------------------------



Re^3: Raetsel speziell fuer die Aelteren Semester (Sand, 16. Dez 2001, 20:11:57):
~#! rn=Orktoeter rt=1008144735 rg=puiz
~#! tid=1008105946
Ja, aber warum nannte er sie Rehlein? Stimmt es dass ihr Name eigentlich
"Rehbein" war, oder hab ich da irgendwas ferwexlt?

-----------------------------------------------------------------------------



Frage und Antwort (Montanus, 18. Jan 2002, 21:10:06):
Naja, ist kein richtiges Quiz, weil die Aufloesung gleich dazukommt, aber
immerhin ist es eine wahre Geschichte und dazu noch von dieser Woche.

Also:
Frage an die Rollenspiel-Designer von Wizards of the Coast (D&D, Star Wars):
"Can hobbits be Jedi?"




(spoiler room)




























Antwort von WotC RPG designers:
"Yes they can. 800 years ago, Yoda looked like Bilbo."

-----------------------------------------------------------------------------



Re: Frage und Antwort (Grimmborn, 18. Jan 2002, 21:16:15):
~#! rn=Montanus rt=1011384606 rg=puiz
~#! tid=1011384606
Dann wissen wir also endlich was aus Smeagol geworden ist. Ich habe nie daran
geglaubt dass er in der Lavaspalte umgekommen ist, der hatte schon ganz andere
Sachen ueberlebt.

GdA

-----------------------------------------------------------------------------



Re: Re: Frage und Antwort (Vanion, 18. Jan 2002, 21:19:01):
~#! rn=Grimmborn rt=1011384975 rg=puiz
~#! tid=1011384606
Verrat doch nich alles. Einige unter uns erfahren das doch erst in 2 Jahren :)
V*

-----------------------------------------------------------------------------



Re^3: Frage und Antwort (Cuchullin, 18. Jan 2002, 21:19:39):
~#! rn=Vanion rt=1011385141 rg=puiz
~#! tid=1011384606
In Episode III oder im letzten LotR? :o)


-----------------------------------------------------------------------------



Re^4: Frage und Antwort (Montanus, 19. Jan 2002, 01:26:54):
~#! rn=Cuchullin rt=1011385179 rg=puiz
~#! tid=1011384606
LotR III wird vor Episode III erscheinen. Zum Glueck...

-Montanus, arbeitet gerade an Episode II und kriegt das grosse Kotzen

-----------------------------------------------------------------------------



Re^5: Frage und Antwort (Jameson, 19. Jan 2002, 01:27:46):
~#! rn=Montanus rt=1011400014 rg=puiz
~#! tid=1011384606
das kann noch schlechter werden? *grins*

jAmeson (OT: uebrigens Opera-Fan)

-----------------------------------------------------------------------------



Re^6: Frage und Antwort (Montanus, 19. Jan 2002, 01:30:03):
~#! rn=Jameson rt=1011400066 rg=puiz
~#! tid=1011384606
Ich darf ja nix sagen. Tu ich auch nicht.
Aber nach dem Eindruck, den ich bisher habe, koennte Tempo ein Hauptsponsor
werden. Oder Kleenex. Oder beide.
Reicht das als Tip?

-----------------------------------------------------------------------------



Re^7: Frage und Antwort (Foobar, 19. Jan 2002, 01:30:29):
~#! rn=Montanus rt=1011400203 rg=puiz
~#! tid=1011384606
Aha, also genau das was der Trailer befuerchten laesst...

Foobar

-----------------------------------------------------------------------------



Re^7: Frage und Antwort (Jameson, 19. Jan 2002, 01:31:01):
~#! rn=Montanus rt=1011400203 rg=puiz
~#! tid=1011384606
naja so viel war glaub ich sogar schon bekannt

-----------------------------------------------------------------------------



Re^8: Frage und Antwort (Tiamak, 19. Jan 2002, 01:32:39):
~#! rn=Jameson rt=1011400261 rg=puiz
~#! tid=1011384606
Wenn die nicht noch zwei Szenen mit Raumschiffen und Laserschwertern
hinterhergeworfen haetten, koennte man den Trailer auch fuer ne modernere
Version von Sissi halten.


Tiamak

-----------------------------------------------------------------------------



Re^9: Frage und Antwort (Troy, 19. Jan 2002, 15:04:54):
~#! rn=Tiamak rt=1011400359 rg=puiz
~#! tid=1011384606
Episode II - Sissi strikes back

(war das nicht der Arbeitstitel?)

Troy

-----------------------------------------------------------------------------



Re^9: Frage und Antwort (Muadib, 21. Jan 2002, 10:29:14):
~#! rn=Tiamak rt=1011400359 rg=puiz
~#! tid=1011384606
na hoer mal SO schmonzig war sissi nun auch nich

-----------------------------------------------------------------------------



Was (altes) zum knobeln (Orktoeter, 24. Jan 2002, 13:41:52):

Gerade in einer alten Spektrum (7/2000) gefunden:

Von zwoelf Kugeln, die alle genau gleich aussehen, sind elf auch gleich
schwer; nur eine hat ein abweichendes Gewicht. Zur Verfuegung steht eine
Balkenwaage, die nur anzeigt, auf welcher Waagschale das groessere Gewicht
liegt oder ob Gleichgewicht herrscht.
Wie kann man nun durch hoechstens drei Waegungen die besondere Kugel finden
und bestimmen, ob sie schwerer oder leichter ist als die anderen?

OrkT.

Viel spass beim knobeln und an die, dies schon kennen... goennt den anderen
den spass, selbst zu tuefteln.

-----------------------------------------------------------------------------



Re: Was (altes) zum knobeln (Imda, 24. Jan 2002, 14:51:00):
~#! rn=Orktoeter rt=1011876112 rg=puiz
~#! tid=1011876112
Von der hatten mir doch kuerzlich hier ne etwas kompliziertere Abwandlung. Wie
is das damals ausgegangen ? Nicht loesbar, oder ?

-----------------------------------------------------------------------------



Re: Re: Was (altes) zum knobeln (Catweazle, 24. Jan 2002, 14:53:03):
~#! rn=Imda rt=1011880260 rg=puiz
~#! tid=1011876112
Doch, mit dem richtigen Weg klappt das immer und zu 100%. Geht sogar mit 13
Muenzen/Kugeln/wasauchimmer. 14 geht nimmer. 

YTC

-----------------------------------------------------------------------------



Re^3: Was (altes) zum knobeln (Imda, 24. Jan 2002, 14:55:31):
~#! rn=Catweazle rt=1011880383 rg=puiz
~#! tid=1011876112
Jo, das eben gestellte schon. aber das letzte. mit Humnis abstrusen Bruechen.

Imda. Is zu faul zum suchen...

-----------------------------------------------------------------------------



Re: Was (altes) zum knobeln (Vardion, 24. Jan 2002, 18:08:06):
~#! rn=Orktoeter rt=1011876112 rg=puiz
~#! tid=1011876112
Hmm - ich wuerde doch spontan binaere Suche vorschlagen. Bei ungeraden
Anzahlen an Kugeln muss man halt kurz nachdenken, aber ist auch trivial.

Vardion

-----------------------------------------------------------------------------



Re: Re: Was (altes) zum knobeln (Cuchullin, 24. Jan 2002, 18:08:53):
~#! rn=Vardion rt=1011892086 rg=puiz
~#! tid=1011876112
Nein. 

Und lies zuerst "diskussion". ;)


-----------------------------------------------------------------------------



Re^3: Was (altes) zum knobeln (Humni, 25. Jan 2002, 08:57:51):
~#! rn=Cuchullin rt=1011892133 rg=puiz
~#! tid=1011876112
Mit 12 gehts sogar, wenn man a) die Reiehnfolge vorher festlegt und b) eine
Kugel leichter ODER schwerer ist. Wenn ich mich nicht irre, kombinatorische
Suchproblemee ist schon ne weile her. Und das mit den Bruechen war was
anderes...

Humni

-----------------------------------------------------------------------------



Re^4: Was (altes) zum knobeln (Catweazle, 25. Jan 2002, 08:59:52):
~#! rn=Humni rt=1011945471 rg=puiz
~#! tid=1011876112
Du hast das Problem erkannt. Die Schwieirigkeit besteht daran nicht zu wissen,
ob die 'falsche' Kugel/Muenze leichter oder schwerer ist. Aber auch das geht
mit 13 Stueck.

YTC

-----------------------------------------------------------------------------



Re^3: Was (altes) zum knobeln (Mucks, 25. Jan 2002, 14:03:02):
~#! rn=Catweazle rt=1011880383 rg=puiz
~#! tid=1011876112
Wenn man 13 Kugeln und nur 3 Waegungen hat, kann man zwar zu 100% sagen,
welche der Kugeln die besondere ist. Aber man kann nicht immer sagen, ob die
besondere Kugel denn nun leichter oder schwerer ist. Mit 12 Kugeln kann man
das aber.

                                                       Mucks

-----------------------------------------------------------------------------



Re^4: Was (altes) zum knobeln (Catweazle, 25. Jan 2002, 15:05:47):
~#! rn=Mucks rt=1011963782 rg=puiz
~#! tid=1011876112
Jaaa, da gibt es eine Moeglichkeit, das man die falsche nie auf die Waage
gelegt hat, dann weisst du natuerlich ihr Gewicht nicht. Trotzdem hast du aber
die falsche rausgefunden.

YTC

-----------------------------------------------------------------------------



Re^4: Was (altes) zum knobeln (Phobos, 25. Jan 2002, 21:43:09):
~#! rn=Humni rt=1011945471 rg=puiz
~#! tid=1011876112
Komisch, da faellt mir immer der Artikel "Ma do like me to find fake coin"
ein, keine Ahnung warum.

Phobos

-----------------------------------------------------------------------------



Abstand in einer Kugel (Mucks, 29. Jan 2002, 16:20:34):
Was ist der durchschnittliche Abstand zweier zufaellig ausgewaehlten
Punkte, die in einer Kugel mit dem Radius R liegen?

                                              Mucks

-----------------------------------------------------------------------------



Re: Abstand in einer Kugel (Catweazle, 29. Jan 2002, 16:24:43):
~#! rn=Mucks rt=1012317634 rg=puiz
~#! tid=1012317634
Ich tippe auf R/2. Fuer genauere Antworten muesste ich nen script schreiben
...

YTC

-----------------------------------------------------------------------------



Re: Re: Abstand in einer Kugel (Catweazle, 29. Jan 2002, 16:36:42):
~#! rn=Catweazle rt=1012317883 rg=puiz
~#! tid=1012317634
Ich meine natuerlich R. Hey, ich bin Physiker, als wenn ich auf Anhieb Radius
und Durchmesser auseinander halten koennte.

YTC

-----------------------------------------------------------------------------



Re: Abstand in einer Kugel (Patryn, 29. Jan 2002, 22:55:49):
~#! rn=Mucks rt=1012317634 rg=puiz
~#! tid=1012317634
hmmm, haste auch ne loesung dazu?
ich hab zwar paar ideen wie ich rangehen koennte, aber die ausfuehrung ist
fast immer viel zu kompliziert. wahrscheinlich seh ich nur den wald vor
lauter baeumen nicht :)
xeval 5/3.685
also auf jeden fall scheint der durchschnittsabstand fuer steigende
dimensionen zuzunehmen, bei n = 1 ists wohl bei R = 5 3.3333, bei n=3
schon 3.685 (numerisches probieren).
anschaulich auch durchaus logisch imho.

-- 
patryn

-----------------------------------------------------------------------------



Re: Re: Abstand in einer Kugel (Grimmborn, 29. Jan 2002, 22:58:23):
~#! rn=Patryn rt=1012341349 rg=puiz
~#! tid=1012317634
Aeh, was genau ist Dir an der Dimension einer Kugel unklar? Die ist immer
dreidimensional.

GdA

-----------------------------------------------------------------------------



Re^3: Abstand in einer Kugel (Patryn, 29. Jan 2002, 22:59:15):
~#! rn=Grimmborn rt=1012341503 rg=puiz
~#! tid=1012317634
habs halt gleich n-dimensional probiert, bin aber so oder so gescheitert,
auch mit speziell n=3

-- 
patryn, probiert noch rum

-----------------------------------------------------------------------------



Re^4: Abstand in einer Kugel (Patryn, 29. Jan 2002, 23:05:54):
~#! rn=Patryn rt=1012341555 rg=puiz
~#! tid=1012317634
ach ja, fuer n = 1 nun ausgerechnet (maple):
assume(R>0);
int(int(abs(a-e)*1/(2*R)*1/(2*R),a=0..2*R),e=0..2*R);

Result: 2/3*R

-- 
patryn, arbeitet an n=3 weiter

-----------------------------------------------------------------------------



Re^5: Abstand in einer Kugel (Rumata, 30. Jan 2002, 11:18:19):
~#! rn=Patryn rt=1012341954 rg=puiz
~#! tid=1012317634
Die Frage ist nicht bu beanworten, ohne gesagt zu haben,
was "zufaellig auswahlen" bedeuten soll. Je nach Auswahl koennen
unterschiedliche Werte rauskommen.
(Siehe Banach Tarsky Paradoxon) 
Rum**

-----------------------------------------------------------------------------



Re^6: Abstand in einer Kugel (Grimmborn, 30. Jan 2002, 11:19:16):
~#! rn=Rumata rt=1012385899 rg=puiz
~#! tid=1012317634
-v, bitte. Fuer mich war das mit dem zufaelligen Auswaehlen ebenso wie die
Dimension der Kugel eigentlich ziemlich klar.

GdA

-----------------------------------------------------------------------------



Re^7: Abstand in einer Kugel (Patryn, 30. Jan 2002, 11:22:44):
~#! rn=Grimmborn rt=1012385956 rg=puiz
~#! tid=1012317634
also ich nehme einfach mal gleichverteilung an, das ist wohl gerechtfertigt.
die dimensionsgeschichte war wahrscheinlich dreidimensional gemeint,
aber um einen ansatz zu finden hilfts manchmal gleich n-dimensional
zus chaun oder zu sehen, ob sich bei verschiedenen dimensionen verschiedenes
ergibt half auch schon.
letztlich hab ich zwar eine abstrakte loesung mit zwei gewichteten
volumenintegralen und einer euklidischen abstandsfunktion, aber ausrechnen
konnte ich das bisher nur fuer n=1.
fuer hoehere dimensionen wird das uebel, hab zwar ideen, aber hatte noch
keine zeit.
und ach ja: euklidisch hab ich auch einfach mal so vorausgesetzt ;)

-- 
patryn

-----------------------------------------------------------------------------



Schoener Wohnen ... (Boing, 30. Jan 2002, 11:24:20):
Im zwanzigsten Stockwerk eines Hochhauses leben 20 Leute verteilt auf 
8 Wohnungen W1 bis W8: 

+----+----+----+ 
|    |    |    | 
| W1 | W2 | W3 | 
+----+----+----+ 
|    |////|    | 
| W8 |////| W4 | 
+----+----+----+ 
|    |    |    | 
| W7 | W6 | W5 | 
+----+----+----+ 

Die Personen die eine Aussicht nach Osten auf den Friedhof haben sind 
halb so zahlreich wie die Ungluecklichen welche nach Sueden auf eine 
Muellverbrennungsanlage sehen. Nach Norden auf das Gefaengnis haben halb 
so viele eine Aussicht wie nach Osten. Nach Westen auf das Endlager fuer 
nuklearen Ueberreste sehen nur ein Drittel so viele wie nach Sueden. 
Keine der Wohnungen ist leer. In welcher Wohnung leben am meisten 
Leute? Wieviele? 

-----------------------------------------------------------------------------



Re: Re: Abstand in einer Kugel (Mucks, 30. Jan 2002, 11:55:30):
~#! rn=Patryn rt=1012341349 rg=puiz
~#! tid=1012317634
Ich habe mir selbst schon an der Aufgabe meine Zaehne ausgebissen. Irgendwie
finde ich da keine exakte Loesung, aber ich bin ja auch kein Mathematiker.
Aber vielleicht gibt es hier jemanden, der eine Loesung findet? :-)

                                        Mucks, sucht auch weiter

-----------------------------------------------------------------------------



Re^3: Abstand in einer Kugel (Patryn, 30. Jan 2002, 11:57:18):
~#! rn=Mucks rt=1012388130 rg=puiz
~#! tid=1012317634
und dann stellste die hier. das ist frech :)
nachher gibts noch gar keine loesung oder es ist wie rumata meint nicht
loesbar...das waere unschoen.

-- 
patryn

-----------------------------------------------------------------------------



Re^4: Abstand in einer Kugel (Rumata, 30. Jan 2002, 12:00:35):
~#! rn=Patryn rt=1012388238 rg=puiz
~#! tid=1012317634
Ich habe nicht gesagt, dass die Aufgabe nicht loesbar waere.
Ich habe nur festgestellt, dass sie vermutlich nicht *eindeutig* loesbar ist.
Rum**

-----------------------------------------------------------------------------



Re: Schoener Wohnen ... (Cuchullin, 30. Jan 2002, 12:05:01):
~#! rn=Boing rt=1012386260 rg=puiz
~#! tid=1012386260
W6, 9 Personen.


-----------------------------------------------------------------------------



Re: Re: Schoener Wohnen ... (Amaryllis, 30. Jan 2002, 12:13:25):
~#! rn=Cuchullin rt=1012388701 rg=puiz
~#! tid=1012386260
Muss das sein?

Ama*, haette nach Feierabend auch mal knobeln wollen...

-----------------------------------------------------------------------------



Re^3: Schoener Wohnen ... (Boing, 30. Jan 2002, 12:56:14):
~#! rn=Amaryllis rt=1012389205 rg=puiz
~#! tid=1012386260
Kannst ja immer noch knobeln und die komplette Belegung rausfinden. :)
  Boing

-----------------------------------------------------------------------------



Re^4: Schoener Wohnen ... (Grimmborn, 30. Jan 2002, 12:57:56):
~#! rn=Boing rt=1012391774 rg=puiz
~#! tid=1012386260
Also, das mit der Kugel ist eindeutig eindeutig loesbar. Notfalls jagt man da
den Herrn M. Carlo drueber. Aber dass es einen eindeutigen durchschnittlichen
Abstand gibt kannst Du doch nicht ernsthaft bezweifeln, Rumtata?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^5: Schoener Wohnen ... (Catweazle, 30. Jan 2002, 13:09:46):
~#! rn=Grimmborn rt=1012391876 rg=puiz
~#! tid=1012386260
Achso, ja klar.
Der "eindeutig durchschnittliche Abstand" betraegt doch 30 cm.

YTC

-----------------------------------------------------------------------------



Re^6: Schoener Wohnen ... (Grimmborn, 30. Jan 2002, 13:12:55):
~#! rn=Catweazle rt=1012392586 rg=puiz
~#! tid=1012386260
Das behauptest Du. Ist aber geographisch unterschiedlich. In Amerika z.B. sind
das 11.81 inch. Die Abhaengigkeit von der Geschwindigkeit, mit der sich die
Kugel bewegt, bleibt dem geneigten Leser als Uebungsaufgabe.

GdA

-----------------------------------------------------------------------------



Re^7: Schoener Wohnen ... (Catweazle, 30. Jan 2002, 13:16:21):
~#! rn=Grimmborn rt=1012392775 rg=puiz
~#! tid=1012386260
Der Geschwindigkeit der Kugel ist fuer diese Betrachtung vollkommen
unerheblich. Ja, man koennte jetzt auf die Idee kommen das Bezugssystem zu
wechseln, aber fuer alle anderen ausser dem kugelzentrierten waere die Kugel
keine Kugel mehr.

YTC

-----------------------------------------------------------------------------



Re^5: Schoener Wohnen ... (Matis, 30. Jan 2002, 13:27:09):
~#! rn=Grimmborn rt=1012391876 rg=puiz
~#! tid=1012386260
as mit der Kugel ist nicht eindeutig loesbar. Wie definierst du gleich-
verteilt? Hast Du zb Polarkoordinaten, und waehlst die 2 Winkel + den Abstand
als zufaellige Realzahlen, dann liegen die Haelfte dieser Zufallspunkte in der
kleineren Kugel mit dem Radius R/2, obwohl diese kleinere Kugel nur 1/8 des 
Volumens hat. Mh. Mmh. Mmmmh. Und das laesst sich beliebig fortsetzen.

Matis

-----------------------------------------------------------------------------



Re^6: Schoener Wohnen ... (Grimmborn, 30. Jan 2002, 13:35:59):
~#! rn=Matis rt=1012393629 rg=puiz
~#! tid=1012386260
Gleichverteilt heisst, dass jeder Punkt im Volumen der Kugel dieselbe
Wahrscheinlichkeit hat betroffen zu sein. Wenn Deine Beschreibung der Kugel
das nicht hergibt, taugt Deine Beschreibung nicht. 

GdA

-----------------------------------------------------------------------------



Re^7: Schoener Wohnen ... (Matis, 30. Jan 2002, 15:03:44):
~#! rn=Grimmborn rt=1012394159 rg=puiz
~#! tid=1012386260
"Dass jeder Punkt im Volumen der Kugel dieselbe Wahrscheinlichkeit hat"  
bedeutet noch lange nicht, dass die Wahrscheinlichkeit fuer zwei
beliebige Teilmengen gleichen Volumens gleich sein muss. 

Matis

-----------------------------------------------------------------------------



Zwei Zuendschnuere (Vincent, 31. Jan 2002, 11:28:09):
Hier mal ein kleines Ratsel, das ich Mitte letzten Jahres gefunden habe. Ich
hoffe, es ist noch nicht so bekannt.

Nehmen wir an, Du befindest Dich in der Wueste. Du besitzt zwei Zuendschnuere
mit der Eeigenschaft, dass jede Zuendschnur exakt eine Stunde brennt, wenn
man sie anzuendet. Allerdings brennt sie unregelmaessig. Nach der Haelfte der
Zeit muss also nicht auch die Haelfte der Schnur abgebrannt sein. Weiterhin
befindet sich ein Feuerzeug in Deinem Besitz.
Wie schaffst Du es, einen Zeitraum von genau fuenfzehn Minuten abzumessen?

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Zwei Zuendschnuere (Grimmborn, 31. Jan 2002, 11:31:25):
~#! rn=Vincent rt=1012472889 rg=puiz
~#! tid=1012472889
Easy. In der Wueste gibts Sonne, also bastel ich mit den Schnueren eine
Sonnenuhr. Das ist doch schonmal ein Anfang. Die eiche ich dann mithilfe
meiner Armbanduhr, damit ich weiss wie weit der Schatten in einer
Viertelstunde wandert.

Was hab ich gewonnen?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re: Re: Zwei Zuendschnuere (Anthea, 31. Jan 2002, 11:34:14):
~#! rn=Grimmborn rt=1012473085 rg=puiz
~#! tid=1012472889
Es geht doch noch viel schneller: Du legst eine der Zuendschnuere zweimal
zusammen, so dass sie nur noch ein viertel so lang ist. Dann verdrillst Du
diese in eine dicke Zuendschnur, zuendest sie an, und nach einer Viertelstunde
ist sie abgebrannt.

-----------------------------------------------------------------------------



Re^3: Zwei Zuendschnuere (Vincent, 31. Jan 2002, 11:35:21):
~#! rn=Anthea rt=1012473254 rg=puiz
~#! tid=1012472889
Wie gesagt, brennen die Zuendschnuere nicht regelmaessig. Zusammendrillen
bringt also nichts.

-----------------------------------------------------------------------------



Re^4: Zwei Zuendschnuere (Humni, 31. Jan 2002, 11:35:53):
~#! rn=Vincent rt=1012473321 rg=puiz
~#! tid=1012472889
ALso ich hab die Antwort und Vincent hat sie bestaetigt, aber damit ihr noch
knobeln koennt verrat ich sie nicht oder nur auf Anfrage.

Humni

-----------------------------------------------------------------------------



Re: Re: Zwei Zuendschnuere (Vincent, 31. Jan 2002, 11:36:59):
~#! rn=Grimmborn rt=1012473085 rg=puiz
~#! tid=1012472889
Wenn Du eine Armbanduhr hast, wieso bastelst du dann ueberhaupt eine
Sonnenuhr?
Aber Okay. Jetzt kommt ein Wuestensandwurm und beisst dir den Arm mit der
Uhr ab und schluckt ihn runter und zerstoert deine sonnenuhr. Und nochmal von
vorne bitte. ;-)

-----------------------------------------------------------------------------



Re^3: Zwei Zuendschnuere (Grimmborn, 31. Jan 2002, 11:38:16):
~#! rn=Vincent rt=1012473419 rg=puiz
~#! tid=1012472889
In dem Fall ist mir die Viertelstunde eh egal, die ueberlebe ich mit
abgebissenem Arm eh nicht.
Ausserdem, in der Wueste ists heiss genug, ich sehe da gar keinen Sinn noch
mehr Feuer zu machen. Halluzinationen wegen Wassermangel, vielleicht? Aber
dann rettet mich das auch nicht mehr.

GdA

-----------------------------------------------------------------------------



Re^3: Zwei Zuendschnuere (Anthea, 31. Jan 2002, 11:38:18):
~#! rn=Vincent rt=1012473419 rg=puiz
~#! tid=1012472889
Dann muss er aber erst einmal eine Zuendschnur dafuer verwenden, sich den
abgebissenenen Arm abzubinden.

-----------------------------------------------------------------------------



Re^4: Zwei Zuendschnuere (Vincent, 31. Jan 2002, 11:40:21):
~#! rn=Grimmborn rt=1012473496 rg=puiz
~#! tid=1012472889
Hmmm. Du scheinst kein Ueberlebenskuenstler zu sein, Grimmborn. ;-)

Gruss
Vincent

-----------------------------------------------------------------------------



Re^4: Zwei Zuendschnuere (Grimmborn, 31. Jan 2002, 11:40:33):
~#! rn=Anthea rt=1012473498 rg=puiz
~#! tid=1012472889
Nope, mit einer Hand kriege ich die Schnur nicht fest genug angezogen, vom
Knoten machen ganz zu schweigen. Let's face it: Wenn der Arm ab ist bin ich
auch sehr schnell hinueber, was interessiert mich da noch die Zuendschnur?
Obwohl, ich koennte versuchen eine Zuendschnur aufzudroeseln um mir mit dem
Pulver die Wunde auszubrennen. Ob das schnell genug geht?

GdA

-----------------------------------------------------------------------------



Re^5: Zwei Zuendschnuere (Anthea, 31. Jan 2002, 11:40:45):
~#! rn=Vincent rt=1012473621 rg=puiz
~#! tid=1012472889
Was erwartest Du von jemandem, der mit Software zu tun hat?

-----------------------------------------------------------------------------



Re^5: Zwei Zuendschnuere (Anthea, 31. Jan 2002, 11:41:54):
~#! rn=Marcus rt=1012473639 rg=puiz
~#! tid=1012472889
Sei doch nicht so praktisch veranlagt, Marcus. Du bringst ja noch Schande
ueber die Zunft der Softwerker ;)

-----------------------------------------------------------------------------



Re^5: Zwei Zuendschnuere (Grimmborn, 31. Jan 2002, 11:42:02):
~#! rn=Marcus rt=1012473639 rg=puiz
~#! tid=1012472889
Und wie genau hilft das gegen einen abgebissenen Arm, Du Schlaumeier?

GdA verblutet

-----------------------------------------------------------------------------



Re^6: Zwei Zuendschnuere (Anthea, 31. Jan 2002, 11:48:55):
~#! rn=Grimmborn rt=1012473722 rg=puiz
~#! tid=1012472889
Naja... Du koenntest die zweite Zuendschnur auf die Wunde legen und dann
anzuenden, vielleicht hilft das, die Blutung zu stoppen.

-----------------------------------------------------------------------------



Re^5: Zwei Zuendschnuere (Marcus, 31. Jan 2002, 11:52:17):
~#! rn=Marcus rt=1012473639 rg=puiz
~#! tid=1012472889
Vincent hat mich gebeten die Loesung wieder zu loeschen. Er hat aber 
bestaetigt, das ich wohl der 2te richtig lag.

Ciao, Marcus

-----------------------------------------------------------------------------



Re^7: Zwei Zuendschnuere (Grimmborn, 31. Jan 2002, 11:53:04):
~#! rn=Anthea rt=1012474135 rg=puiz
~#! tid=1012472889
Ich hab mal einen konstruktiven Vorschlag: Ich zuende die eine Zuendschnur an,
zaehle meine Pulsschlaege und weiss dann genau wieviele Pulsschlaege ich pro
Stunde habe. Diese Zahl teile ich durch vier, starte die Viertelstunde und
zaehle meine Pulsschlaege. Die zweite Schnur habe ich in Reserve um den
Hersteller der Zuendschnuere zu erdrosseln, weil er so schlechte Qualitaet
liefert. Unregelmaessige Zuendschnuere sind naemlich gefaehrlich.

GdA

-----------------------------------------------------------------------------



Re^7: Zwei Zuendschnuere (Orktoeter, 31. Jan 2002, 11:53:18):
~#! rn=Anthea rt=1012474135 rg=puiz
~#! tid=1012472889
Ich haette da noch eine Naeherungsweise Loesung zu bieten (wozu braucht man in
der Wueste schon exakt 15 Minuten?):

Beide Zuendschnuere in je vier gleich lange Teile zerschneiden und
gleichzeitig entzuenden es ist zu erwarten, das vier schneller abbrennen und
vier langsamer, also sollte man, nachdem die ersten 4 abgebrannt sind
hinreichend (fuer was auch immer) genau 15 Minuten abgemessen haben.

OrkT.

-----------------------------------------------------------------------------



Re^8: Zwei Zuendschnuere (Croft, 31. Jan 2002, 11:54:45):
~#! rn=Orktoeter rt=1012474398 rg=puiz
~#! tid=1012472889
Hm. Angenommen die 4 schnellbrennenden Teile brennen jeweils 1 minute und
die langsam brennenden Teile 29min?  Das nenne ich nicht hinreichend
genau...

-----------------------------------------------------------------------------



Re^9: Zwei Zuendschnuere (Bambi, 31. Jan 2002, 11:55:51):
~#! rn=Croft rt=1012474485 rg=puiz
~#! tid=1012472889
Fuer eine hinreichend naeherungsweise Loesung fand ich Grimmborns Idee mit dem
Puls am besten, wenngleich da sowas wie das Lampenfieber in den letzten
Minuten nicht beruecksichtigt wird. :)

-----------------------------------------------------------------------------



Re^9: Zwei Zuendschnuere (Orktoeter, 31. Jan 2002, 11:56:33):
~#! rn=Croft rt=1012474485 rg=puiz
~#! tid=1012472889
Moeglich ist alles, vor allem auch das die Information die du ueber die
Schnuere hast falsch ist, oder das die bei der Temperatur in der Wueste
schneller abbrennen. Ich gehe einfach mal von einer statistischen Verteilung
aus und nicht vom worst case.

OrkT.

-----------------------------------------------------------------------------



Re^10: Zwei Zuendschnuere (Grimmborn, 31. Jan 2002, 11:57:03):
~#! rn=Bambi rt=1012474551 rg=puiz
~#! tid=1012472889
Lampenfieber in der gleichfoermigen Wueste, wenn ich voellig sinnlos 15
Minuten abmessen will um mir die Zeit zu vertreiben? Nee, eigentlich nicht...

GdA

-----------------------------------------------------------------------------



Re^9: Zwei Zuendschnuere (Boing, 31. Jan 2002, 11:57:25):
~#! rn=Croft rt=1012474485 rg=puiz
~#! tid=1012472889
Ich male einen geraden Strich in den Sand. Dann benutze ich eine Schnur
als Zirkel und messe exakt 3.75 Grad ab. In diesem Winkel lege ich die
zweite Schnur hin. Dann warte ich einfach bis die Sonne vorbeikommt und
hab die 15 Minuten exakt ausgemessen. :)
  Boing

-----------------------------------------------------------------------------



Re^10: Zwei Zuendschnuere (Hobo, 31. Jan 2002, 11:57:58):
~#! rn=Boing rt=1012474645 rg=puiz
~#! tid=1012472889
Es ist doch Nacht in der Wueste!

  Hobo

-----------------------------------------------------------------------------



Re^11: Zwei Zuendschnuere (Boing, 31. Jan 2002, 11:58:12):
~#! rn=Hobo rt=1012474678 rg=puiz
~#! tid=1012472889
Ich kann warten ... :)
  Boing

-----------------------------------------------------------------------------



Re^12: Zwei Zuendschnuere (Hobo, 31. Jan 2002, 11:58:44):
~#! rn=Boing rt=1012474692 rg=puiz
~#! tid=1012472889
Aber nicht, wenn Du in einer Stunde eine Verabredung hast :)

-----------------------------------------------------------------------------



Re^12: Zwei Zuendschnuere (Orktoeter, 31. Jan 2002, 11:58:58):
~#! rn=Boing rt=1012474692 rg=puiz
~#! tid=1012472889
Es ist Nacht? Oh, dann ist es kuehl und die Zuendschnur brennt langsamer ab..
oder istsie jetzt gar feucht und brennt gar nicht mehr?

OrkT.

-----------------------------------------------------------------------------



Re^8: Zwei Zuendschnuere (Alboin, 31. Jan 2002, 12:20:04):
~#! rn=Grimmborn rt=1012474384 rg=puiz
~#! tid=1012472889
das setzt aber voraus das deine pulsschlaege gleichmaessig sind, und das
glaube ich kaum, denn das ist spaetestens vorbei wenn eine schlage aus dem
wuestensand vor dir autaucht oder auch ne nackte Frau als FataMorgana, ganz
wie Du moechtest ;-)
Al(absolut ernst)

-----------------------------------------------------------------------------



Muenzspiel (Vincent, 31. Jan 2002, 12:22:58):
Und noch ein klitzekleines Raetsel. Habe ich gestern von Boing erzaehlt
bekommen. ;-)

Zwei Personen spielen in der Wueste das bekannte Muenz-Werf-Spiel. Sie
verwenden eine ideale Muenze, die auf einer Seite Kopf und auf der anderen
Seite Zahl zeigt. Beim Werfen ist die Wahrscheinlichkeit beider Seiten 0,5.
(Nein, die Muenze kann nicht auf dem Rand liegen oder im Sand stecken
bleiben).
Die Muenze wird fortlaufend geworfen. Die eine Person hat gewonnen wenn das
Muster "Kopf Zahl Zahl" auftaucht, die andere Person bei "Zahl Zahl Kopf".
Es wird so lange geworfen bis eines der beiden Muster auftritt.
Frage:
Welche der beiden Personen hat hoehere Gewinnchancen und wieso? Oder
sind die beiden Chancen doch gleich hoch?

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Muenzspiel (Anthea, 31. Jan 2002, 12:46:24):
~#! rn=Vincent rt=1012476178 rg=puiz
~#! tid=1012476178
Hm... Wenn die ersten zwei Wuerfe nicht "Zahl Zahl" sind, hat der zweite
Spieler gewonnen, sobald zweimal Zahl kommt. Damit hat Spieler 1 eine Chance
von 0,25 zu gewinnen.

-----------------------------------------------------------------------------



Re: Re: Muenzspiel (Hobo, 31. Jan 2002, 12:48:42):
~#! rn=Anthea rt=1012477584 rg=puiz
~#! tid=1012476178
Nee, ich wuerde sagen KZZ hat die doppelte Chance zu gewinnen wie ZZK.

   Hobo

-----------------------------------------------------------------------------



Re^3: Muenzspiel (Anthea, 31. Jan 2002, 12:50:20):
~#! rn=Hobo rt=1012477722 rg=puiz
~#! tid=1012476178
Das Problem ist: WENN sie schon laenger spielen, und  am Anfang nicht ZZ war,
dann war immer, wenn ZZ kommt, vorher ein K da. Damit ist das Spiel nur von
den ersten zwei Wuerfen abhaengig, weil nur da kann ZZK gewinnen.

-----------------------------------------------------------------------------



Re^4: Muenzspiel (Anthea, 31. Jan 2002, 12:53:19):
~#! rn=Anthea rt=1012477820 rg=puiz
~#! tid=1012476178
Es wuerde anders aussehen, wenn sie die Wuerfe immer in unabhaengigen
3er-Folgen machen. Dann waeren die Chancen gleich. Sobald es aber eine
fortlaufende Kette von Wuerfen ist, und jedes beliebige Auftreten der
Zielkombination moeglich ist, sieht es halt anders aus.

-----------------------------------------------------------------------------



Re^4: Muenzspiel (Hobo, 31. Jan 2002, 12:54:30):
~#! rn=Anthea rt=1012477820 rg=puiz
~#! tid=1012476178
Auch wieder wahr....

  Hobo -laesst sich belehren

-----------------------------------------------------------------------------



Re^8: Schoener Wohnen ... (Christopher, 31. Jan 2002, 13:04:22):
~#! rn=Matis rt=1012399424 rg=puiz
~#! tid=1012386260
Es ist die Frage ob man ein Gitter ueber die Kugel legt - das ganze 'diskret'
oder 'stetig' betrachtet ?!?
Oder : hat ein Punkt eine Ausdehnung oder ist er wie in der Mathematik ein
volumenloses Gebilde - eben ein Punkt :)

-----------------------------------------------------------------------------



Re^9: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 13:08:14):
~#! rn=Christopher rt=1012478662 rg=puiz
~#! tid=1012386260
Ich verstehe Deine Frage nicht "hat ein Punkt eine Ausdehnung?". Faellt
mittlerweile schon der ganz grundlegende Mathematikunterricht durch
Lehrermangel aus oder was?

GdA

-----------------------------------------------------------------------------



Re^10: Schoener Wohnen ... (Matis, 31. Jan 2002, 13:12:56):
~#! rn=Grimmborn rt=1012478894 rg=puiz
~#! tid=1012386260
Das Problem ist, dass man jeden Punkt in der Kugel "gleichwahrscheinlich"
machen kann und trotzdem 99% alles "Zufallspunkte" aus einem kleinen
Teilkoerper stammen wuerden. Betonung ist auf kann. Mir spukt da was von
Laplaceschem Ereignisfeld oder so im Hinterkopf rum, aber bin kein
Mathematiker. Vielleicht kann ja mal ein solcher was dazu sagen.

Matis

-----------------------------------------------------------------------------



Re^10: Schoener Wohnen ... (Christopher, 31. Jan 2002, 13:13:40):
~#! rn=Grimmborn rt=1012478894 rg=puiz
~#! tid=1012386260
Die Frage "hat ein Punkt eine Ausdehnung" bezog sich auf die
Loesungsueberlegungen die hier geboten wurden.   
nn

-----------------------------------------------------------------------------



Re^10: Zwei Zuendschnuere (Householder, 31. Jan 2002, 13:37:21):
~#! rn=Orktoeter rt=1012474593 rg=puiz
~#! tid=1012472889
statistische verteilung bei 2 schnueren ???

-----------------------------------------------------------------------------



Re^11: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 13:40:12):
~#! rn=Matis rt=1012479176 rg=puiz
~#! tid=1012386260
Auch das hatte ich bereits beantwortet: Dann taugen Deine Zufallszahlen (bzw.
Deine Verteilungsfunktion) nicht. Oder andersrum: Dann sind die Punkte eben
nicht gleichwahrscheinlich.

GdA

-----------------------------------------------------------------------------



Re^12: Schoener Wohnen ... (Matis, 31. Jan 2002, 13:49:33):
~#! rn=Grimmborn rt=1012480812 rg=puiz
~#! tid=1012386260
Grimmborn, da liegst Du flasch. Punkte koennen gleichwahrscheinlich sein,
Teilkoerper gleicher Volumina aber nicht. Das hat nichts mit "taugen" zu
tun.

Matis

-----------------------------------------------------------------------------



Re^13: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 13:56:48):
~#! rn=Matis rt=1012481373 rg=puiz
~#! tid=1012386260
OK, versuchen wir es mal anschaulich. Ich habe einen stinknormalen (idealen)
Wuerfel. Die Zahlen 1, 2, 3, 4, 5 und 6 sind gleichwahrscheinlich. Was Du
sagst ist also, dass 1 und 2 zusammengenommen eine Wahrscheinlichkeit haben
koennen als 4 und 6 zusammengenommen. Habe ich Dich da im wesentlichen richtig
verstanden?

GdA

-----------------------------------------------------------------------------



Re^14: Schoener Wohnen ... (Elberet, 31. Jan 2002, 13:57:18):
~#! rn=Grimmborn rt=1012481808 rg=puiz
~#! tid=1012386260
schau Dir einfach mal das Banach-Tarski Theorem an und ueberleg nochmal

-----------------------------------------------------------------------------



Re^14: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 13:57:20):
~#! rn=Grimmborn rt=1012481808 rg=puiz
~#! tid=1012386260
...eine andere Wahrscheinlichkeit haben koennen...
Sorry.

GdA

-----------------------------------------------------------------------------



Re^15: Schoener Wohnen ... (Elberet, 31. Jan 2002, 13:59:25):
~#! rn=Grimmborn rt=1012481840 rg=puiz
~#! tid=1012386260
zB unter: http://abel.math.umu.se/~frankw/articles/bt/
da sollte auch ein Beweis stehen

-----------------------------------------------------------------------------



Re^16: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:01:44):
~#! rn=Elberet rt=1012481965 rg=puiz
~#! tid=1012386260
Danke, ich weiss wie man google bedient. Allerdings sehe ich bisher nicht den
Zusammenhang mit der Gleichverteilung von Punkten in einem Raum.

GdA

-----------------------------------------------------------------------------



Re^17: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:02:38):
~#! rn=Grimmborn rt=1012482104 rg=puiz
~#! tid=1012386260
tja, ich sag ja, denk mal nach, aber das sollte dir ja nicht schwer fallen ;)

-----------------------------------------------------------------------------



Re^18: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:04:13):
~#! rn=Elberet rt=1012482158 rg=puiz
~#! tid=1012386260
Bin ich Mathematiker? Mengenlehre hatte ich zuletzt in der vierten Klasse...

GdA

-----------------------------------------------------------------------------



Re^19: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:04:29):
~#! rn=Grimmborn rt=1012482253 rg=puiz
~#! tid=1012386260
dann erzaehl nicht, dass das alles so klar sei

-----------------------------------------------------------------------------



Re^19: Schoener Wohnen ... (Rumata, 31. Jan 2002, 14:04:51):
~#! rn=Grimmborn rt=1012482253 rg=puiz
~#! tid=1012386260
Dann solltest Du deine Klappe bei der Diskussion dieses Problems nicht
so weit aufreissen.
Rum**

-----------------------------------------------------------------------------



Re^20: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:06:42):
~#! rn=Rumata rt=1012482291 rg=puiz
~#! tid=1012386260
Tja, anstatt hier antike Theoreme zu werfen koenntet ihr euch doch z.B. mal um
eine praktische Demonstration bemuehen. Also, bitteschoen: Wo ist die
Gleichung die alle Punkte in der Kugel gleichwahrscheinlich anspringt, aber
dennoch unterschiedliche Volumina bevorzugt?

GdA

-----------------------------------------------------------------------------



Re^21: Schoener Wohnen ... (Rumata, 31. Jan 2002, 14:07:12):
~#! rn=Grimmborn rt=1012482402 rg=puiz
~#! tid=1012386260
Du wuerstest es ja doch nicht verstehen :-)
Rum**

-----------------------------------------------------------------------------



Re^22: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:08:04):
~#! rn=Elberet rt=1012482436 rg=puiz
~#! tid=1012386260
och es gibt auch dinge von denen man nachweisen kann, dass sie existieren,
aber die man nciht konstruieren kann

-----------------------------------------------------------------------------



Re^23: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:12:20):
~#! rn=Elberet rt=1012482484 rg=puiz
~#! tid=1012386260
Jaja, das erinnert ans Physikpraktikum, Differentialgleichung. Der
Mathematiker "ja, das kann man loesen. Nein, ich weiss nicht wie." Der
Physiker: "Hmm, dazu muss man hier... und dann da..." Der Ingenieur: "Die
Loesung ist:..."

Mit anderen Worten: Ihr koennts nicht. Dann mischt euch doch nicht in die
Loesungsdiskussion eines Problems ein, hmm?

GdA

-----------------------------------------------------------------------------



Re^24: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:13:40):
~#! rn=Grimmborn rt=1012482740 rg=puiz
~#! tid=1012386260
dann gib doch mal ne Q-Basis von R an zB, ich jkann dir beweisen, dass es sie
gibt

-----------------------------------------------------------------------------



Re^25: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:15:16):
~#! rn=Elberet rt=1012482820 rg=puiz
~#! tid=1012386260
Aeh, ein Missvverstaendnis: _Du_ wolltest eine Gleichung zeigen mit der die
Gleichverteilung in der Kugel zusammenbricht. Wenn Du dazu eine Q-Basis von R
brauchst such Dir das bitteschoen selber zusammen.

GdA

-----------------------------------------------------------------------------



Re^26: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:16:47):
~#! rn=Grimmborn rt=1012482916 rg=puiz
~#! tid=1012386260
ueberleg mal was der unterschied zwischen existenzbeweis und Konstruktion ist

-----------------------------------------------------------------------------



Re^24: Schoener Wohnen ... (Patryn, 31. Jan 2002, 14:20:00):
~#! rn=Grimmborn rt=1012482740 rg=puiz
~#! tid=1012386260
na ja, also banach-tarski ist hier auch das falsche theorem wenn man
die nicht eindeutige loesbarkeit damit angehen moechte.
in der masstheorie kommt der kram zur motivation, um zu zeigen, dass
ein axiomatisch eingefuehrter inhaltsbegriff auf beliebigen mengensystemen
nicht leben kann, wesewegen man die borelmengen einfuehrt.
banach-tarski zeigt die unloesbarkeit des inhaltsproblems fuer dimensionen
groesser gleich 3, eigentlich zeigt das schon der aeltere satz von haussdorf,
aber banach-tarski haben ein nettes absurdes beispiel gefunden.
banach zeigte jedoch frueher schon einmal die nicht eindeutigkeit fuer
dimensionen 1 und 2.
was sagt das jedoch zum inhaltsproblem? nirgendwo steht wir legen ein
beliebiges mengensystem zugrunde.
man kann volumenintegrale ja auch loesen, obwohl die obigen saetze
existieren.

-- 
patryn

-----------------------------------------------------------------------------



Re^25: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:21:34):
~#! rn=Patryn rt=1012483200 rg=puiz
~#! tid=1012386260
das stimmt natuerlich, aber weil man sich auf ein maas einigt, dass man
benutzt. Das ist aber nicht so klar welches eigentlich

-----------------------------------------------------------------------------



Re^26: Schoener Wohnen ... (Patryn, 31. Jan 2002, 14:24:51):
~#! rn=Elberet rt=1012483294 rg=puiz
~#! tid=1012386260
die aufgabe laesst sich abstrakt loesen ueber
1 / V^2 int_V int_V norm(a-e) da de
V ist hierbei das volumen der kugel, das sind also auch 2 volumenintegrale.
man muss eine norm waehlen und ich hab gleichverteilung angenommen.
fuer den fall dim=1 hab ich das schon mal vorgerechnet frueher mal.
und das ist eine eindeutige loesung! (obwohl der satz von banach existiert,
dass eine eindeutige loesung des inhaltsproblems auf potenzmengen von R
nicht existieren, was jedoch gar nix mit dem hier zu tun hat)

-- 
patryn

-----------------------------------------------------------------------------



Re^27: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:25:43):
~#! rn=Patryn rt=1012483491 rg=puiz
~#! tid=1012386260
jo, weil du ein bestimmtes mass gewaehlt hast, nimm ein anderes mass ...

-----------------------------------------------------------------------------



Re^28: Schoener Wohnen ... (Patryn, 31. Jan 2002, 14:27:33):
~#! rn=Elberet rt=1012483543 rg=puiz
~#! tid=1012386260
das ist firlefanz, mein mass ist ein wahrscheinlichkeitsmass welches sich
streng aus der gleichverteilung ergibt, wodurch es normiert ist.
oben hab ich das halt gleich als normales integral hingeschrieben,
ich koennte natuerlich auch ein mass hinpinseln wo jeweils die
normierung 1/V drinsteht.

-- 
patryn

-----------------------------------------------------------------------------



Re^29: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:36:38):
~#! rn=Patryn rt=1012483653 rg=puiz
~#! tid=1012386260
Das ist gemein. Ich diskutiere nicht mehr mit. Ich will nicht auf der Seite
von Patryn stehen und von ihm unterstuetzt, verteidigt und bestaetigt werden.
Phht.

GdA

-----------------------------------------------------------------------------



Re^30: Schoener Wohnen ... (Elberet, 31. Jan 2002, 14:37:30):
~#! rn=Grimmborn rt=1012484198 rg=puiz
~#! tid=1012386260
moment, das stimmt auch nicht ;)
Patryn schreibt Integrale hin und sagt damit was er meint. Du sagst, dass sei
eh alles klar und das stimmt nicht.

-----------------------------------------------------------------------------



Re^31: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:38:33):
~#! rn=Elberet rt=1012484250 rg=puiz
~#! tid=1012386260
Kann ich was dafuer wenn Dir Integrale fremd und unklar sind?

GdA

-----------------------------------------------------------------------------



Re^32: Schoener Wohnen ... (Bielefeld, 31. Jan 2002, 14:50:06):
~#! rn=Grimmborn rt=1012484313 rg=puiz
~#! tid=1012386260
Sorry wegen off-tpoic, aber: Gibts hier was fuer Re^100?

-Bielefeld (fragt sich, ob noch jemand weiss, worum es bei der Dikussion 
urspruenglich ging)

-----------------------------------------------------------------------------



Re^33: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 14:53:17):
~#! rn=Bielefeld rt=1012485006 rg=puiz
~#! tid=1012386260
Um den durchschnittlichen Abstand zweier Punkte in einer Kugel. 
Ohne Nachgucken. Denn das Ergebnis (samt Loesungsweg) wuerde mich schon
interessieren...
Fuer Re^100 setzt Rumtata sicher eine Kugel Schokolade aus, die er mal eben
verdoppelt hat. Falls er das hinbekommt und nicht nur behauptet es ginge...

GdA

-----------------------------------------------------------------------------



Re^34: Schoener Wohnen ... (Boing, 31. Jan 2002, 14:59:51):
~#! rn=Grimmborn rt=1012485197 rg=puiz
~#! tid=1012386260
Ich frag mich schon die ganze Zeit, was daran das Raetsel ist. Das ist doch
eher ne Uebungsaufgabe fuer theoretische Mathematiker ...oder?
  Boing

-----------------------------------------------------------------------------



Re^35: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 15:01:00):
~#! rn=Boing rt=1012485591 rg=puiz
~#! tid=1012386260
Nicht wenns da eine verblueffend einfache Loesung fuer gibt. Was ja hin und
wieder vorkommt.

GdA

-----------------------------------------------------------------------------



Re^36: Schoener Wohnen ... (Bielefeld, 31. Jan 2002, 15:02:18):
~#! rn=Grimmborn rt=1012485660 rg=puiz
~#! tid=1012386260
Eine Loesung gibts bestimmt - alleine mir fehlt das Handwerkszeug.
Dafuer werfe ich jetzt mal ein 'es duerften ungefaehr 0.65*r sein'
in den Raum... 

-Bielefeld (minimal praktisch veranlagt und auf eine Formel wartend)

-----------------------------------------------------------------------------



Re^34: Schoener Wohnen ... (Patryn, 31. Jan 2002, 15:03:00):
~#! rn=Grimmborn rt=1012485197 rg=puiz
~#! tid=1012386260
na ja, zumindest mein kleines testprogramm angepasst an dim = 3 kann jeder
ausfuehren ;) man kann sich dabei natuerlich ueber maschinenzufallszahlen
streiten, aber die sind eigentlich recht gut gleichverteilt.
das kann man auch testen indem man die wahrscheinlichkeit fuer einen punkt
statt eine laenge ermittelt, und da kommt in der tat der nullpunkt raus :)
(sagen wir mal eher erwartungswert...das klingt irgendwie besser)
java:

---
 * Test.java
 *
 * Created on January 29, 2002, 4:33 PM
 */

import java.util.Random;

 *
 * @author  Andre Grosse
 */
public class Test {
    private static final int TESTS = 100000000;
    private static final double R = 10.0;


    /**
    * @param args the command line arguments
    */
public class Test {
    private static final int TESTS = 100000000;
    private static final double R = 10.0;


    /**
    * @param args the command line arguments
    */
    public static void main (final String args[]) {
        final Random random = new Random();
        double d = 0.0, r1, r2, w11, w12, w21, w22;
        for(int i = TESTS; i-- > 0; ) {
            r1 = R * random.nextDouble();
            if (random.nextBoolean())
                r1 = -r1;
            w11 = 0.5 * Math.PI * random.nextDouble();
            if (random.nextBoolean())
                w11 = -w11;
            w12 = 2.0 * Math.PI * random.nextDouble();
            r2 = R * random.nextDouble();
            if (random.nextBoolean())
                r2 = -r2;
            w21 = 0.5 * Math.PI * random.nextDouble();
            if (random.nextBoolean())
                w21 = -w21;
            w22 = 2.0 * Math.PI * random.nextDouble();
            d += Math.sqrt(Math.pow(r1 * Math.cos(w11) * Math.cos(w12)
                                  - r2 * Math.cos(w21) * Math.cos(w22), 2.0)
                         + Math.pow(r1 * Math.cos(w11) * Math.sin(w12)
                                  - r2 * Math.cos(w21) * Math.sin(w22), 2.0)
                         + Math.pow(r1 * Math.sin(w11)
                                  - r2 * Math.sin(w21), 2.0));
        }
        System.out.println(d / TESTS);
    }

}

---

-- 
patryn

-----------------------------------------------------------------------------



Re^37: Schoener Wohnen ... (Anthea, 31. Jan 2002, 15:03:12):
~#! rn=Bielefeld rt=1012485738 rg=puiz
~#! tid=1012386260
Hm....
Der Wein mit der Pille ist im Becher mit dem Faecher. Der Kelch mit dem Elch
hat den Wein gut und rein.

-----------------------------------------------------------------------------



Re^35: Schoener Wohnen ... (Elberet, 31. Jan 2002, 15:03:51):
~#! rn=Patryn rt=1012485780 rg=puiz
~#! tid=1012386260
und was sagt das Programm?

-----------------------------------------------------------------------------



Re^35: Schoener Wohnen ... (Patryn, 31. Jan 2002, 15:05:57):
~#! rn=Patryn rt=1012485780 rg=puiz
~#! tid=1012386260
ach ja, ergebnisse:

  R    |   result
-------------------------
 10    | 7.37
 20    |14.74
 40    |29.49

ein proportionales verhalten duerfte klar erkennbar sein ;)
jeder darf sich den faktor selbst ausrechnen

-- 
patryn

-----------------------------------------------------------------------------



Re^36: Schoener Wohnen ... (Patryn, 31. Jan 2002, 15:09:23):
~#! rn=Patryn rt=1012485957 rg=puiz
~#! tid=1012386260
und da haben wir den salat, so geht das doch nich, muesst das integral
bemuehen :)
natuerlich sind hier die punkte in der mitte viel dichter verteilt als am
rand, ich kann die randoms nich einfach auf polarkoords werfen

-- 
patryn, seufzend

-----------------------------------------------------------------------------



Re^37: Schoener Wohnen ... (Elberet, 31. Jan 2002, 15:10:23):
~#! rn=Patryn rt=1012486163 rg=puiz
~#! tid=1012386260
:grinst und troestet.

-----------------------------------------------------------------------------



Re^37: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 15:10:25):
~#! rn=Patryn rt=1012486163 rg=puiz
~#! tid=1012386260
Also, wenn das Re^100 durch selbstreplies kommt gibts aber keine Schokolade...

GdA

-----------------------------------------------------------------------------



Re^38: Schoener Wohnen ... (Patryn, 31. Jan 2002, 15:20:28):
~#! rn=Grimmborn rt=1012486225 rg=puiz
~#! tid=1012386260
neues programm, neues glueck...
wie schauts damit aus:

import java.util.Random;

public class Test {
    private static final int TESTS = 10000000;
    private static final double R = 40.0;


    /**
    * @param args the command line arguments
    */
    public static void main (final String args[]) {
        final Random random = new Random();
        double d = 0.0, x1, y1, x2, y2;
        for(int i = TESTS; i-- > 0; ) {
            do {
                x1 = R * random.nextDouble();
                if (random.nextBoolean())
                    x1 = -x1;
                y1 = R * random.nextDouble();
                if (random.nextBoolean())
                    y1 = -y1;
            } while (Math.sqrt(x1 * x1 + y1 * y1) > R);
            do {
                x2 = R * random.nextDouble();
                if (random.nextBoolean())
                    x2 = -x2;
                y2 = R * random.nextDouble();
                if (random.nextBoolean())
                    y2 = -y2;
            } while (Math.sqrt(x2 * x2 + y2 * y2) > R);
            d += Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        }
        System.out.println(d / TESTS);
    }

}

---------------------
ergebnisse

   R    |   result
--------------------
  10    |  9.052
  20    | 18.108
  40    | 36.220

zum glueck auch proportional :)
vieleicht sollte ich mal mein integral numerisch loesen  zum ueberpruefen,
wenn ich zeit hab...muss heut auch mal was sinnvolles tun *g*

-- 
patryn

-----------------------------------------------------------------------------



Re^27: Schoener Wohnen ... (Vincent, 31. Jan 2002, 15:32:55):
~#! rn=Patryn rt=1012483491 rg=puiz
~#! tid=1012386260
Aehmmm. Kannst du die formel bitte mal herleiten? Meines Erachtens muesste
das Ergbnis der Aufgabe eine Loesung der Form k*R sein, mit R als Radius
und k als "errechneten" Faktor. So ie die Formel da aber steht, kommt da
irgendetwas quadratisches raus, also k*R^2 (oder gar ^n). Und das
ist ja dann kein Abstand, oder? Oder lese ich die Formel irgendwie falsch?
Das moechte ich natuerlich nicht ausschliessen. Bin Informatiker und kein
Mathematiker. *Am Kopf kratz*
Gruss
Vincent

-----------------------------------------------------------------------------



Re^39: Schoener Wohnen ... (Matis, 31. Jan 2002, 15:33:01):
~#! rn=Patryn rt=1012486828 rg=puiz
~#! tid=1012386260
Also, ich versuch mal das von mir angesprochene Problem etwas einfacher 
anzugehen. Nehme wir das reelle Intervall [0,1]. Betrachten wir die Funktion
X -> X^2 darauf, eine eineindeutige Abbildung auf dasselbe Intervall.
Waehle zufaellig eine Zahl aus [0,1], quadriere sie, und nimm das Resultat als
unsere Zufallszahl. Alle Punkte aus [0,1] sind dann immer  noch gleich-
wahrscheinlich, schliesslich laesst sich jeder eineindeutig auf seine Wurzel
zurueckfuehren, und die sind ja auch alle gleichwahrscheinlich.
"50% der X-e" kommen aus [0,0.5], werden aber auf [0,0.25] abgebildet. Also
sind alle Zufallszahlen aus[0,1] gleichwahrscheinlich, aber 50% kommen aus
[0,0.25]? Hm ...

Matis

-----------------------------------------------------------------------------



Re^40: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 15:39:45):
~#! rn=Matis rt=1012487581 rg=puiz
~#! tid=1012386260
Genau. Also taugt die Wurzelfunktion nicht, um die Gleichverteilung der Punkte
abzubilden, denn was hinten rauskommt ist eben nicht mehr gleichverteilt.
Du hast also gezeigt dass man eine gleichverteilte Menge durch eine so
gefaerbte Brille angucken kann dass sie nicht mehr gleichverteilt ist. Das
kann ich auch mit meinem Wuerfel: Ich zaehle die Seite n nur dann, wenn sie
n-mal hintereinander geworfen wurde, sonst ignoriere ich. Die Seiten 1-6 sind
nach wie vor gleichverteilt, aber wenn ich sie mir so angucke kommt doch am
haeufigsten die 1 hinten raus.

GdA

-----------------------------------------------------------------------------



Re^40: Schoener Wohnen ... (Isi, 31. Jan 2002, 15:41:31):
~#! rn=Matis rt=1012487581 rg=puiz
~#! tid=1012386260
ad Patryn: so ne numerische loesung ist ja ganz huebsch
aber warum kommt da nicht das naheliegene 'r' raus, kann man da ein pi
rausziehen, wie schaut die algebraische loesung aus und aeh
hat derjenige der das problem am anfange gestellt hat ne Loesung?

ad Matis
ich weiss genau, da ist ein logik fehler drin ;)
isi (popcornwerfend)

-----------------------------------------------------------------------------



Re: Abstand in einer Kugel (Vincent, 31. Jan 2002, 15:41:41):
~#! rn=Mucks rt=1012317634 rg=puiz
~#! tid=1012317634
Hmmm. Je mehr ich ueber den Wortlaut der Aufgabenstellugn nachdenke, desto
seltsamer kommt mir die Formulierung vor. Kann man die Aufgabenstellung
etwas praezisieren? Oder sinnesgleich anders ausdruecken? 

Was genau ist denn mit durchschnittlichem Abstand gemeint? Muss ich mir das
so vorstellen, dass der gesuchte "durchschnittliche" Abstand derjenige ist,
der am ehesten zu erwarten ist, wenn man zwei Punkte per Zufall waehlt? Kann
man das so umformulieren?

Gruss
Vincent

-----------------------------------------------------------------------------



Re^41: Schoener Wohnen ... (Catweazle, 31. Jan 2002, 15:43:03):
~#! rn=Grimmborn rt=1012487985 rg=puiz
~#! tid=1012386260
Ich versteht das Problem nicht. 
Du waehlst zufaellig einen zahl zwischen 0 und R. Den Punkt denkst du Dir dann
auf eine beliebige Achse Deines Kugelkoordinatensystems. Dann denkst Du dir
einen zweiten Punkt aus und wuerfelst Dir zwei Winkel zwischen 0 und 180 Grad
aus. Und dann rechnest du den Abstand zwischen den beiden Punkten aus. Die
WInkel hast du dir praktischerweise mitgeliefert. 

YTC

-----------------------------------------------------------------------------



Re^40: Schoener Wohnen ... (Mucks, 31. Jan 2002, 15:44:34):
~#! rn=Matis rt=1012487581 rg=puiz
~#! tid=1012386260
Stelle Dir eine echte Kugel aus Blei vor, waehle zufaellig zwei Bleiatome aus
der Kugel, und der durchschnittliche Abstand zwischen allen Atompaaren ist
gesucht (das Blei ist ueberall gleichdicht).

Per Programm (z.B. folgendes) kommt in etwa 1.0285*R heraus.
#include <stdio.h>
#include <math.h>

double LAENGE(double a,double b,double c) { return sqrt(a*a+b*b+c*c); }

double k[6];
double s=0.0;

int n,i,m=0;

void main()
{
  for(n=2000000;n--;)
  {
    for(i=6;i--;)
      k[i]=(abs(rand())%20001)/10000.0-1.0;
    if(LAENGE(k[0],k[1],k[2])<=1.0 && LAENGE(k[3],k[4],k[5])<=1.0)
    {
      s+=LAENGE(k[0]-k[3],k[1]-k[4],k[2]-k[5]);
      m++;
    }
  }
  printf("%lf\n", s/m);
}

(das zweite Programm von Patryn berechnet Punkte im Kreis, nicht Kugel; sein
Ergebnis ist aber nicht Konstante*R^2 sondern korrekt Konstante*R, man beachte
in der Tabelle der dritte Wert ja 40 und nicht 30 lautet)

                                                       Mucks

-----------------------------------------------------------------------------



Re^42: Schoener Wohnen ... (Matis, 31. Jan 2002, 15:45:08):
~#! rn=Catweazle rt=1012488183 rg=puiz
~#! tid=1012386260
Grimmborn, das wichtige Detail hier ist, dass es um _reelle_ Zufallsgroessen
geht, nicht um Wuerfel mit endlich vielen Ereignissen. Und da muss man
dazusagen, was man mit "zufaellig waehlen" meint.

Matis

-----------------------------------------------------------------------------



Re^43: Schoener Wohnen ... (Elberet, 31. Jan 2002, 15:46:33):
~#! rn=Matis rt=1012488308 rg=puiz
~#! tid=1012386260
das ist der knackpunkt, was heisst waehlen, bzw auswaehlen und dann auch noch
zufaellig

-----------------------------------------------------------------------------



Re^43: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 15:46:51):
~#! rn=Matis rt=1012488308 rg=puiz
~#! tid=1012386260
Ich verstehs wohl wirklich nicht. "Zufaellig waehlen" heisst, dass jedes
Ergebnis gleichwahrscheinlich ist, oder nicht? Zumindest wenn ich das ohne
Zusaetze sage. 

GdA

-----------------------------------------------------------------------------



Re^44: Schoener Wohnen ... (Matis, 31. Jan 2002, 15:47:51):
~#! rn=Grimmborn rt=1012488411 rg=puiz
~#! tid=1012386260
Mh, und bei der konstruierten X ->X^2 Zufallsgroesse wahren alle Punkte 
gleichwahrscheinlich ...

Matis

-----------------------------------------------------------------------------



Re^44: Schoener Wohnen ... (Isi, 31. Jan 2002, 15:48:30):
~#! rn=Grimmborn rt=1012488411 rg=puiz
~#! tid=1012386260
nur wenn die ausgangsmenge gleichfoermig ist.
wenn du aus 5 weissen und 5 schwarzen baellen einen zufaellig aussuchst
haste die haelfte
wenn nur einer von 10 schwarz ist isser nicht merh gleichwahscheinlich.
isi (mousswerfend)

-----------------------------------------------------------------------------



Re^45: Schoener Wohnen ... (Elberet, 31. Jan 2002, 15:48:58):
~#! rn=Isi rt=1012488510 rg=puiz
~#! tid=1012386260
was is denn eine gleichfoermige menge?

-----------------------------------------------------------------------------



Re^46: Schoener Wohnen ... (Humni, 31. Jan 2002, 15:50:45):
~#! rn=Elberet rt=1012488538 rg=puiz
~#! tid=1012386260
Wenn Du eine endliche Menge hast, kannst Du einem Punkt (oder einem Ereignis)
eine positive Wahrscheinlichkeit zuordnen. So zum Beispiel einem Wuerfelwurf
jeder Seite die Wahrscheinlichkeit 1/6.

Wenn Du aber in einem Raum in dem unendlich viele Punkte sind einen auswaehlen
sollst dann musst Du mit grenzwerten arbeiten. Und wenn Du zum Beispiel den
grenzwert ueber einer Verteilung in Polarkoordinaten und einer Verteilung in
x,y,z-Dimensionen berechnest wuerde es mich wundern, wenn Du ohne das
irgendwie zu beachten, dass bei groesserem r bei der Zufallsverteilung die
Wahrscheinlichkeit groesser wird (einfach weil da ,mehr' Punkte sind) dasselbe
rauskommt. Aber ich bin kein Stochastiker, habe keine Ahnung und sage daher
besser nix mehr.

Humni

-----------------------------------------------------------------------------



Re^46: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 15:50:49):
~#! rn=Elberet rt=1012488538 rg=puiz
~#! tid=1012386260
Matis: Die Ausgangsmenge war gleichwahrscheinlich, das Ergebnis nicht. Siehe
mein superelegantes Wuerfelbeispiel.

GdA

-----------------------------------------------------------------------------



Re^47: Schoener Wohnen ... (Isi, 31. Jan 2002, 15:53:08):
~#! rn=Grimmborn rt=1012488649 rg=puiz
~#! tid=1012386260
Eben. Ausserdem beweis mir doch bitte einer, das r als antwort falsch ist.
isi (w100werfend)

-----------------------------------------------------------------------------



Re^47: Schoener Wohnen ... (Matis, 31. Jan 2002, 15:54:27):
~#! rn=Grimmborn rt=1012488649 rg=puiz
~#! tid=1012386260
"Die Assgangsmenge war gleichwahrscheinlich." Jeder Punkt dieser Menge wird
eineindeutig auf einen Punkt der "Ergebnismenge" abgebildet. Ist damit dann
nicht mehr jeder Punkt der "Ergebnismenge" gleichwahrscheinlich?

Matis

-----------------------------------------------------------------------------



Re^48: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 15:57:10):
~#! rn=Matis rt=1012488867 rg=puiz
~#! tid=1012386260
Nein.

GdA

-----------------------------------------------------------------------------



Re^48: Schoener Wohnen ... (Cuchullin, 31. Jan 2002, 15:57:54):
~#! rn=Matis rt=1012488867 rg=puiz
~#! tid=1012386260
Gleichwahrscheinlich schon, aber nicht gleichverteilt. Wolltest du
das hoeren, Matis?


-----------------------------------------------------------------------------



Re^48: Schoener Wohnen ... (Patryn, 31. Jan 2002, 15:58:12):
~#! rn=Matis rt=1012488867 rg=puiz
~#! tid=1012386260
wo ist das problem...versteh ich nicht. wenn du den erwartungswert
fuer gleichmaessig verteiltes x in [0,1] ausrechnest haste
int_0^1 h(x) * x * dx, wenn du schon x ersetzt, dann musste auch komplett
aubstituieren, sowohl in dichte als auch die ereignisse.
die quadrierten x sind dann gleichverzeilt, nicht mehr die normalen.
und natuerlich aendert sich das integral durch die substitution
x = x_neu ^2 nicht.

-- 
patryn

-----------------------------------------------------------------------------



Re^49: Schoener Wohnen ... (Matis, 31. Jan 2002, 15:59:17):
~#! rn=Cuchullin rt=1012489074 rg=puiz
~#! tid=1012386260
Ja :o).

Matis

-----------------------------------------------------------------------------



Re^50: Schoener Wohnen ... (Isi, 31. Jan 2002, 16:09:40):
~#! rn=Matis rt=1012489157 rg=puiz
~#! tid=1012386260
also die frage ob die zahlen gleichverteilt sind, interessiert doch nur,
wenn man das numerisch loesen will.
gibs da keine geometrische loesung?
achso ich setz fuers Reh 99 mal ne mousse aus.
aber nur unter der bedingung das a) kein re ausgelassen wird
b) keine selbstreplys kommen c) irgendwer endlich mit der
mathematische loesung ueberkommt
und d) was mir sonst noch einfaellt.
und ueberhaupt ihr seid im total falschen thread
isi (steinewerfend)

-----------------------------------------------------------------------------



Re^51: Schoener Wohnen ... (Boing, 31. Jan 2002, 16:17:44):
~#! rn=Isi rt=1012489780 rg=puiz
~#! tid=1012386260
Ich hab schon gestern gesagt, dass das hier der falsche Thread ist, aber
da wurde ich ja willkuerlich verlegt ... ;)
  Boing

-----------------------------------------------------------------------------



Re^52: Schoener Wohnen ... (Anthea, 31. Jan 2002, 16:19:49):
~#! rn=Boing rt=1012490264 rg=puiz
~#! tid=1012386260
Ja, und das nicht mal von GdA!

-----------------------------------------------------------------------------



Re^53: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 16:26:42):
~#! rn=Anthea rt=1012490389 rg=puiz
~#! tid=1012386260
Also, wir sollten hier ein fuer allemal festhalten dass eine Verlegung dann
und nur dann willkuerlich ist, wenn sie durch mich erfolgt ist. Ich
distanziere mich von diesen Plagiaten.

GdA

-----------------------------------------------------------------------------



Re^51: Schoener Wohnen ... (Patryn, 31. Jan 2002, 16:35:38):
~#! rn=Isi rt=1012489780 rg=puiz
~#! tid=1012386260
also eine mathematische loesung ;)))))
folgendes programm:
public class Test {
    private static final int TESTS = 10000000;
    private static final double R = 1.0;
    private static final int N = 100;  
   
    /**
    * @param args the command line arguments
    */
    public static void main (final String args[]) {
        final double x1[] = new double[N],
                     x2[] = new double[N];
        final Random random = new Random();
        double d, s;
        int i,j;
        for (int n = 1; n <= N; n++) {  
            d = 0.0;
            for (i = TESTS; i-- > 0; ) {
                do {
                    s = 0.0;
                    for (j = n; j-- > 0; ) {
                        x1[j] = R * random.nextDouble();
                        if (random.nextBoolean())
                            x1[j] = -x1[j];
                        s += x1[j] * x1[j];
                    }
                } while (Math.sqrt(s) > R);
                do {
                    s = 0.0;
                    for (j = n; j-- > 0; ) {
                        x2[j] = R * random.nextDouble();
                        if (random.nextBoolean())
                            x2[j] = -x2[j];
                        s += x2[j] * x2[j];
                    }
                } while (Math.sqrt(s) > R);
                s = 0.0;
                for (j = n; j-- > 0; )
                    s += (x1[j] - x2[j]) * (x1[j] - x2[j]);
                d += Math.sqrt(s);
            }
            System.out.println(d / TESTS);
        }    }
}

nun lege ein ausgleichspolynom durch die punkte und fertig haste ein
durchschnittslaenge = durchschnittslaenge(R)
*g*

-- 
patryn

-----------------------------------------------------------------------------



Re^52: Schoener Wohnen ... (Patryn, 31. Jan 2002, 16:36:10):
~#! rn=Patryn rt=1012491338 rg=puiz
~#! tid=1012386260
ich meine durchschnittslaengenfaktor(N)

-- 
patryn

-----------------------------------------------------------------------------



Re^53: Schoener Wohnen ... (Elberet, 31. Jan 2002, 16:38:02):
~#! rn=Patryn rt=1012491370 rg=puiz
~#! tid=1012386260
och, das ist aber auch noch keine schoene Loesung ;)

-----------------------------------------------------------------------------



Re^52: Schoener Wohnen ... (Grimmborn, 31. Jan 2002, 16:39:23):
~#! rn=Patryn rt=1012491338 rg=puiz
~#! tid=1012386260
Das erinnert mich an diesen Witz ueber den Beweis dass alle ungeraden Zahlen
prim sind (jetzt streiten wir mal nicht ueber die 1).
Mathematiker: "1 ist prim, 3 ist prim, Rest folgt durch vollstaendige
  Induktion."
Physiker: "1 ist prim, 3 ist prim, 5 ist prim, 7 is prim, 9... Messfehler, 11
  ist prim, nochmal was ganz grosses: 37 ist auch prim, das stimmt also."
Ingenieur: "1 ist prim, 3 ist prim, 5 ist prim, 7 is prim, 9 ist prim, 
  11 ist prim... stimmt doch."
Informatiker: schreibt ein Programm, startet es, liest ab: 1 ist prim, 1 ist
  prim, 1 ist prim..."

GdA

-----------------------------------------------------------------------------



Re^52: Schoener Wohnen ... (Azrael, 31. Jan 2002, 16:55:47):
~#! rn=Patryn rt=1012491338 rg=puiz
~#! tid=1012386260
Die durchschnittliche Laenge fuer 
Dimension 1: s(1)=2/3*R
Dimension 2: s(2)=(128*R)/(45*PI)
Dimension 3: 36*R/35
(Punkte zufaellig gemaess Gleichverteilung und euklidischer Abstand).

Azrael

PS: Ist nicht von mir.

-----------------------------------------------------------------------------



Re^53: Schoener Wohnen ... (Catweazle, 31. Jan 2002, 16:57:01):
~#! rn=Azrael rt=1012492547 rg=puiz
~#! tid=1012386260
Hah!

Ich finde ich war mit meinem Schnellschuss (R) verdammt nah dran. Ohne etliche
laengliche Programme :-)

YTC

-----------------------------------------------------------------------------



Re^54: Schoener Wohnen ... (Azrael, 31. Jan 2002, 17:13:00):
~#! rn=Catweazle rt=1012492621 rg=puiz
~#! tid=1012386260
OK, ohne Quellen ist unfair.
Also:

Kendall, M. G. and Moran, P. A. P.
Geometrical Probability. 
New York: Hafner, 1963.

Santal, L. A. 
Integral Geometry and Geometric Probability. 
Reading, MA: Addison-Wesley, 1976.

Tu, S.-J. and Fischbach, E. 
A New Geometric Probability Technique for an
N.-Dimensional Sphere and Its Applications 17 Apr 2000.
http://xxx.lanl.gov/abs/math-ph/0004021/.


Azrael

-----------------------------------------------------------------------------



Re^55: Schoener Wohnen ... (Cuchullin, 31. Jan 2002, 17:16:14):
~#! rn=Azrael rt=1012493580 rg=puiz
~#! tid=1012386260
Junge, haettest Du das nicht vor 50 Artikeln schreiben koennen? :o)


-----------------------------------------------------------------------------



Re^56: Schoener Wohnen ... (Azrael, 31. Jan 2002, 17:17:03):
~#! rn=Cuchullin rt=1012493774 rg=puiz
~#! tid=1012386260
Klar, aber da haette sich Grimmborn nicht so laecherlich 
gemacht ;-)

Azrael

-----------------------------------------------------------------------------



Re^56: Schoener Wohnen ... (Croft, 31. Jan 2002, 17:18:22):
~#! rn=Cuchullin rt=1012493774 rg=puiz
~#! tid=1012386260
Auf Kosten des Unterhaltungswertes ;-)

-----------------------------------------------------------------------------



Re^57: Schoener Wohnen ... (Patryn, 31. Jan 2002, 17:23:06):
~#! rn=Croft rt=1012493902 rg=puiz
~#! tid=1012386260
wenisgetsn war mein 2/3*R richtig und mein werte fuer n=2 und 3 wurden
zumindest bestaetigt, ersten 5 stueck mal hier:
natuerlich genaehert, wollt nich zu lange warten
0.666608768416392
0.9055754536827026
1.0286933769600035
1.1038240115052607
1.1543155679535408
jeweils mal R

nun ja...aus dem paper sieht man wohl, dass explizites rechnen ein hammer ist,
das hab ich fast geahnt.

-- 
patryn

-----------------------------------------------------------------------------



Re^58: Schoener Wohnen ... (Montanus, 31. Jan 2002, 17:38:39):
~#! rn=Patryn rt=1012494186 rg=puiz
~#! tid=1012386260
Und jetzt habt ihr ueber dem ganzen Mist vergessen, waum Boing in der Wueste
ne Verabredung nachts hatte, und mit wem.
Seine Sonnenuhrmethode hat mich naemlich eigentlich ueberzeugt.

-----------------------------------------------------------------------------



Re^59: Schoener Wohnen ... (Orktoeter, 31. Jan 2002, 17:41:05):
~#! rn=Montanus rt=1012495119 rg=puiz
~#! tid=1012386260
Wer geht jetzt eigentlich Grimmborn beerdigen? Der muesste doch inzwischen
laengst ausgeblutet sein?

OrkT.

-----------------------------------------------------------------------------



Re^60: Schoener Wohnen ... (Montanus, 31. Jan 2002, 17:45:00):
~#! rn=Orktoeter rt=1012495265 rg=puiz
~#! tid=1012386260
Unkraut vergeht nicht.
Ausserdem wird Boing ihn verbunden haben, schliesslich ist der ja auch in der
Wueste.

-----------------------------------------------------------------------------



Re^61: Schoener Wohnen ... (Boing, 31. Jan 2002, 17:51:33):
~#! rn=Montanus rt=1012495500 rg=puiz
~#! tid=1012386260
Ich hab doch auch nur 2 Zuendschnuere und ein Feuerzeug ... das hab ich 
allerdings benutzt um Grimmborns Wunde fachgerecht auszubrennen.
  Boing

-----------------------------------------------------------------------------



Re^62: Schoener Wohnen ... (Woody, 31. Jan 2002, 17:52:27):
~#! rn=Boing rt=1012495893 rg=puiz
~#! tid=1012386260
McGyver! ;)


-----------------------------------------------------------------------------



Re^61: Schoener Wohnen ... (Croft, 31. Jan 2002, 17:52:42):
~#! rn=Montanus rt=1012495500 rg=puiz
~#! tid=1012386260
Hatte dann Boing die Verabredung mit Grimmborn?  Und die Viertelstunde war
der Zeitrahmen damit Grimmborn grade so nicht verblutet?

-----------------------------------------------------------------------------



Re^62: Schoener Wohnen ... (Montanus, 31. Jan 2002, 17:55:05):
~#! rn=Croft rt=1012495962 rg=puiz
~#! tid=1012386260
also ich weiss nru eins - wenn ich in die Wueste gehen wuerde, wuerde ich
vieles mitnehmen, aber keine Zuendschnuere.
Apropos Wueste - da hat doch sicherlich Dancer wieder seine Pfoten drin, oder?

-----------------------------------------------------------------------------



Re^62: Schoener Wohnen ... (Cuchullin, 31. Jan 2002, 20:01:17):
~#! rn=Croft rt=1012495962 rg=puiz
~#! tid=1012386260
ZPK?

-----------------------------------------------------------------------------



Re^63: Schoener Wohnen ... (Croft, 31. Jan 2002, 23:26:00):
~#! rn=Cuchullin rt=1012503677 rg=puiz
~#! tid=1012386260
Ich habe leider immer noch keine Mails bekommen die ich an Vincent und
Muadib haette weiterleiten koennen.  Aber aus der Story liesse sich
sicher etwas interessantes machen.  Also: helft mit damit Vincent und
Muadib dieses Mud bereichern koennen!

-----------------------------------------------------------------------------



Re^64: Schoener Wohnen ... (Vincent, 31. Jan 2002, 23:35:25):
~#! rn=Croft rt=1012515960 rg=puiz
~#! tid=1012386260
ZPK? Was soll das sein? Nie gehoert!
Ich habe davon noch nie was gehoert.
Sowas gibts nicht und gabs noch nie.
Und selbst wenn es ZPKs geben wuerde,
ohne jetzt den Eindruck vermitteln zu
wollen, ich koennte mir vorstellen, was
ZPKs sind, dann wuerde sie niemand
wirklich wollen.
ZPKs sind reine Erfindungen...nein
nicht einmal Erfindungen...es sind
hauchduenne Geruechte, duenner als
das Skandal-Kleid von Sarah Connor(*).

Gruss
Vincent

(*) DAs Kleid eignet sich hervorragend zur
Herstellung von Klarsichtfolien, wie eine
bekannte dt. Tageszeitung schrieb. ;-)

-----------------------------------------------------------------------------



Re^9: Zwei Zuendschnuere (Grimmborn,  1. Feb 2002, 10:54:58):
~#! rn=Muadib rt=1012557152 rg=puiz
~#! tid=1012472889
Bitte lies den thread bevor Du hier sinnlosen Duennpfiff schreibst, das hier
ist eine ernsthafte, serioese Problemloesungsdiskussion. Den abgebissenen Arm
hat mir Boing bereits ausgebrannt. Und bevor Du mit dem Argument kommst: Man
kann den Puls auch woanders als am Handgelenk spueren.

GdA

-----------------------------------------------------------------------------



Re^38: Schoener Wohnen ... (Muadib,  1. Feb 2002, 10:57:22):
~#! rn=Anthea rt=1012485792 rg=puiz
~#! tid=1012386260
war da nicht noch ein pokal mit dem portal ?

-----------------------------------------------------------------------------



Re^39: Schoener Wohnen ... (Anthea,  1. Feb 2002, 10:58:27):
~#! rn=Muadib rt=1012557442 rg=puiz
~#! tid=1012386260
Ja. Nachdem sie den Kelch mit dem Elch zerbrochen hatten.

-----------------------------------------------------------------------------



Re^63: Schoener Wohnen ... (Muadib,  1. Feb 2002, 11:05:01):
~#! rn=Cuchullin rt=1012503677 rg=puiz
~#! tid=1012386260
ZPK? was ischt das? isch weisch nichts von ZPK!

-----------------------------------------------------------------------------



Re^64: Schoener Wohnen ... (Anthea,  1. Feb 2002, 11:05:36):
~#! rn=Muadib rt=1012557901 rg=puiz
~#! tid=1012386260
Ist das ne Abkuerzung fuer Zweitie-Player-Killing? ;)

-----------------------------------------------------------------------------



Re^10: Zwei Zuendschnuere (Muadib,  1. Feb 2002, 11:06:40):
~#! rn=Grimmborn rt=1012557298 rg=puiz
~#! tid=1012472889
hui die ernsthaftigkeit der diskussion war mir gar nicht bewusst, bitte
vielmals um entschuldigung :)

-----------------------------------------------------------------------------



Re^11: Zwei Zuendschnuere (Cuchullin,  1. Feb 2002, 11:07:02):
~#! rn=Muadib rt=1012558000 rg=puiz
~#! tid=1012472889
Ernsthaftigkeit? "Das ist doch nur ein Kratzer!" :o)


-----------------------------------------------------------------------------



Re^12: Zwei Zuendschnuere (Grimmborn,  1. Feb 2002, 11:09:50):
~#! rn=Cuchullin rt=1012558022 rg=puiz
~#! tid=1012472889
Ich spuck Dir in die Augen!

GdA

-----------------------------------------------------------------------------



Re^13: Zwei Zuendschnuere (Cuchullin,  1. Feb 2002, 11:10:09):
~#! rn=Grimmborn rt=1012558190 rg=puiz
~#! tid=1012472889
Du redest zuviel als dass Du spucken koenntest. ]:^>


-----------------------------------------------------------------------------



Re^14: Zwei Zuendschnuere (Grimmborn,  1. Feb 2002, 11:11:00):
~#! rn=Cuchullin rt=1012558209 rg=puiz
~#! tid=1012472889
Ich hab halt eine feuchte Aussprache...

GdA

-----------------------------------------------------------------------------



Re^15: Zwei Zuendschnuere (Orktoeter,  1. Feb 2002, 11:11:56):
~#! rn=Grimmborn rt=1012558260 rg=puiz
~#! tid=1012472889
Erstens ist es doch viel zu warm und zweitens.. verlierst du nicht gerade
schon genug Fluessigkeit?

OrkT.

-----------------------------------------------------------------------------



Der magische Hilbert und der heisse Preis (Noki,  1. Feb 2002, 11:52:42):
Hier mal ein anderes Wahrscheinlichkeitsraetsel, welches garantiert einige
kennen, andere aber verblueffen koennte... Alle Stochastiker weiterlesen ;)

Der Zwerg Schnaps kommt zu Don Hilbert. Im Orakel zu Tingam hat er erfahren,
dass der grosse Magier einen Zaubertrank fuer ihn hat. Doch Don Hilbert will
nicht gleich so recht mit dem ZT rausruecken und lieber ein kleines Spiel
spielen.

Also holt er aus seinen weiten Manteltaschen drei Zaubertrankphiolen, eine
blaue, eine rote und eine gelbe. Nur in einer der Phiolen ist tatsaechlich der
begehrte Trank. Schnaps darf sich nun eine der drei Phiolen aussuchen.

Schnaps tut dies und waehlt die blaue Phiole. Milde laechelnd sagt Hilbert:
"Bevor Du jetzt nachschaust, ob Du Glueck hast, will ich Dir zeigen, dass eine
der beiden verbleibenden Phiolen tatsaechlich leer ist." Er oeffnet die gelbe.

"Du kannst nun waehlen. Behaeltst du die blaue Phiole? Oder moechtest Du
tauschen?"

Was soll Schnaps tun?

:) noki

-----------------------------------------------------------------------------



Re: Der magische Hilbert und der heisse Preis (Anacrion,  1. Feb 2002, 12:21:13):
~#! rn=Noki rt=1012560762 rg=puiz
~#! tid=1012560762
Seine Chancen verdoppeln :o) ...

Anac* - sagt nicht mehr

-----------------------------------------------------------------------------



Re^65: Schoener Wohnen ... (Hobo,  1. Feb 2002, 12:32:42):
~#! rn=Anthea rt=1012557936 rg=puiz
~#! tid=1012386260
Zwei Buchstaben sind schon mal richtig. Zw-P-Ki

  Hobo - will kein ZPK haben

-----------------------------------------------------------------------------



Re: Re: Der magische Hilbert und der heisse Preis (Catweazle,  1. Feb 2002, 12:35:46):
~#! rn=Anacrion rt=1012562473 rg=puiz
~#! tid=1012560762
Nein, seine Chancen vervierdritteln. 

YTC (Teilzeitmathematiker)

-----------------------------------------------------------------------------



Re^66: Schoener Wohnen ... (Noki,  1. Feb 2002, 12:35:48):
~#! rn=Hobo rt=1012563162 rg=puiz
~#! tid=1012386260
Ich bin eh mehr fuer ein EPK.
noki :)

-----------------------------------------------------------------------------



Re^3: Der magische Hilbert und der heisse Preis (Noki,  1. Feb 2002, 12:38:54):
~#! rn=Catweazle rt=1012563346 rg=puiz
~#! tid=1012560762
Mhh, fuer eine vervierdritelung moechte ich dann doch den Beweis sehen. Das
waer mir neu.
An dieser Stelle beglueckwuensche ich uebrigens die ersten drei
Raetselmeister: 1. Platz Orktoeter, 2. Platz Boing und Dritter ist Vincent.
Alle per TM und frueher als die richtigen AW's hier in der MPA. :)

-----------------------------------------------------------------------------



Re^43: Schoener Wohnen ... (Elberet,  1. Feb 2002, 12:39:55):
~#! rn=Christopher rt=1012562051 rg=puiz
~#! tid=1012386260
doch R ist ein freier Q-Modul. Q ist ein Koerper. Und die da hingeschriebene
Menge ist keine Basis.

-----------------------------------------------------------------------------



Re^66: Schoener Wohnen ... (Muadib,  1. Feb 2002, 12:45:58):
~#! rn=Hobo rt=1012563162 rg=puiz
~#! tid=1012386260
ich hab auf jeden fall rein NICHTS damit zu tun

-----------------------------------------------------------------------------



Re^67: Schoener Wohnen ... (Humni,  1. Feb 2002, 12:49:35):
~#! rn=Muadib rt=1012563958 rg=puiz
~#! tid=1012386260
Ich wollte nur mal erwaehnen, dass Du mit Sicherheit KEINE Basis hinschreiben
kannst. Es gibt eine, das ist beweisbar, aber Du kannst keine hinschreiben.
Wenn Du das schaffst kriegst Du mehr als nur die Anerkennung dafuer im Mud.
Vermutlich ist dafuer eine Fiels-Medallie faellig.

Humni

-----------------------------------------------------------------------------



Re^67: Schoener Wohnen ... (Vincent,  1. Feb 2002, 12:50:47):
~#! rn=Muadib rt=1012563958 rg=puiz
~#! tid=1012386260
EPK? Erst-Player-Kills? Gibts jetzt auch Punkte fuer das erstmalige Toeten
von Spielern? Oder sind das Extra-Punkte fuer Zweities, die ihre Ersties
toeten?
Ob das Konzept in der Form durch die MG-Obrigkeit durchkommt?

Gruss
Vincent

-----------------------------------------------------------------------------



Re^68: Schoener Wohnen ... (Grimmborn,  1. Feb 2002, 12:53:50):
~#! rn=Humni rt=1012564175 rg=puiz
~#! tid=1012386260
Fiels-Medaille? Ist das so ein Nopelpreisersatz, geschaffen aus Trotz dass es
keinen Nobelpreis fuer Mathematik gibt? Troestet euch, es hat auch keinen fuer
Astrid Lindgren gegeben...

GdA

-----------------------------------------------------------------------------



Re^69: Schoener Wohnen ... (Humni,  1. Feb 2002, 12:54:38):
~#! rn=Grimmborn rt=1012564430 rg=puiz
~#! tid=1012386260
Exakt. Zum Beispiel ist die vergeben worden an denjenigen, dessen Name mir
gerade nicht einfallen will, der Fermat geloest hat... *grummel wie hiess der
noch*

Humni

-----------------------------------------------------------------------------



Re^70: Schoener Wohnen ... (Zook,  1. Feb 2002, 12:55:00):
~#! rn=Humni rt=1012564478 rg=puiz
~#! tid=1012386260
Wiles

glaub ich zumindest. zook.

-----------------------------------------------------------------------------



Re^70: Schoener Wohnen ... (Zook,  1. Feb 2002, 12:56:35):
~#! rn=Noki rt=1012564569 rg=puiz
~#! tid=1012386260
Dachte ich auch. Aber wenn Humni "Fiels" schreibt, wirds schon stimmten. Er
kennt sich damit ja besser aus als ich ;)

Zook.

-----------------------------------------------------------------------------



Re^71: Schoener Wohnen ... (Humni,  1. Feb 2002, 12:57:02):
~#! rn=Zook rt=1012564595 rg=puiz
~#! tid=1012386260
Richtig, Andrew Wiles. Google hats rausgesucht.

Und wie's geschrieben wird...also mindestens eine Website hats auch so
geschrieben. Mag sein dass Du recht hast. Dann war das ein Typo von mir ;-)

Humni, hat das meist gesagt und fast nie geschrieben...

-----------------------------------------------------------------------------



Re^72: Schoener Wohnen ... (Noki,  1. Feb 2002, 13:01:33):
~#! rn=Humni rt=1012564622 rg=puiz
~#! tid=1012386260
Das ding heisst also Fields-medaille - und dieser fermat-typ hat die uebrigens
auch nicht bekommen, der war zu alt *g* gab nur so eine art trostpreis...

-----------------------------------------------------------------------------



Re^67: Schoener Wohnen ... (Rochus,  2. Feb 2002, 12:27:03):
~#! rn=Noki rt=1012563348 rg=puiz
~#! tid=1012386260
Hmm, also ein PK fuer E statt fuer Z? :)

Rochus...........E

-----------------------------------------------------------------------------



Re^68: Schoener Wohnen ... (Noki,  2. Feb 2002, 12:36:29):
~#! rn=Rochus rt=1012649223 rg=puiz
~#! tid=1012386260
Eigentlich nicht... aber Du bringst mich auf Ideen...
Noki, laedt seine Guertelschnalle durch.

-----------------------------------------------------------------------------



Re^58: Schoener Wohnen ... (Patryn,  7. Feb 2002, 00:31:14):
~#! rn=Patryn rt=1012494186 rg=puiz
~#! tid=1012386260
hab mir mal die erste haelfte des angegebenen scripts durchgeschaut.
die loesung ist ziemlich spannend und genial einfach.
wen das interessiert der soll sich nich durch den umfang des scripts
abschrecken lassen, die eigentlichen ideen stecken in den ersten 10 seiten
und den abbildungen. damit kann mans allein zusammenbasteln.

-- 
patryn

-----------------------------------------------------------------------------



einsteins aufgabe (Leibniz, 15. Feb 2002, 19:22:01):
1. Es gibt 5 Haeuser mit je einer anderen Farbe 
2. In jedem Haus wohnt eine Person mit einer anderen Nationalitaet 
3. Jeder bevorzugt ein anderes Getraenk, Zigarettenmarke und Haustier 
4. Keiner trinkt, raucht oder haelt das Gleiche Haustier 

Hinweise

der Brite lebt im roten Haus 
der Schwede haelt einen Hund 
der Daene trinkt gerne Tee 
das gruene Haus steht links vom Weissen
der Besitzer des gruenen Hauses trinkt gerne Kaffee 
der Pall-Mall Raucher hat einen Vogel 
der Mann im mittleren Haus trinkt Milch
der Besitzer des gelben Hauses raucht Dunnhill 
der Norweger wohnt im ersten Haus 
der Marlbororaucher wohnt neben dem, der eine Katze haelt 
der Mann der ein Pferd hat, wohnt neben dem, der Dunhill raucht 
der Winfieldraucher trinkt gerne Bier 
der Norweger wohnt neben dem blauen Haus 
der Deutsche raucht Rothmanns 
er Nachbar des Marlbororauchers trinkt Wasser


WEM GEHOeRT DER FISCH ? 


Einstein verfasste ein gleichartiges Raetsel im letzten Jahrhundert und
behauptete, dass 98 % der Weltbevoelkerung nicht in der seien, dies zu loesen.


-----------------------------------------------------------------------------



Re: einsteins aufgabe (Grimmborn, 15. Feb 2002, 19:26:50):
~#! rn=Leibniz rt=1013797321 rg=puiz
~#! tid=1013797321
Das heisst die trinken und rauchen alle verschiedene Haustiere? Ausserdem ist
das Raetsel nicht zeitgemaess - multikulti und "zurueck zur Natur" sind gerade
sowas von out...

GdA

-----------------------------------------------------------------------------



Re: Re: einsteins aufgabe (Phobos, 15. Feb 2002, 19:29:14):
~#! rn=Grimmborn rt=1013797610 rg=puiz
~#! tid=1013797321
.. und dass der Pall-Mall Raucher einen Vogel hat, 
versteht sich ja wohl von selbst. Wo doch jeder weiss,
dass Rauchen schaedlich ist.

Phobos

-----------------------------------------------------------------------------



Re^3: einsteins aufgabe (Grimmborn, 15. Feb 2002, 19:33:22):
~#! rn=Phobos rt=1013797754 rg=puiz
~#! tid=1013797321
Wobei die Frage am Ende garadezu primitiv einfach ist: Der Fisch gehoert
natuerlich Verleihnix, denn schliesslich ist er ja nur verliehen.

GdA

-----------------------------------------------------------------------------



Re: einsteins aufgabe (Imda, 15. Feb 2002, 19:50:55):
~#! rn=Leibniz rt=1013797321 rg=puiz
~#! tid=1013797321
Also ich will ne Katze rauchen. Aber ohne Fell, das stinkt so.

-----------------------------------------------------------------------------



Textaufgabe (Phobos, 15. Feb 2002, 20:03:55):
Das Kind ist 21 Jahre juenger als die Mutter. In 6 Jahren wird
die Mutter 5 mal so alt sein wie das Kind. Wo ist der Vater?

Phobos

-----------------------------------------------------------------------------



Re: Textaufgabe (Imda, 15. Feb 2002, 20:09:13):
~#! rn=Phobos rt=1013799835 rg=puiz
~#! tid=1013799835
Is das hier puiz, oder Mathe 6te Klasse ?

-----------------------------------------------------------------------------



Re: Re: Textaufgabe (Grimmborn, 15. Feb 2002, 20:13:10):
~#! rn=Imda rt=1013800153 rg=puiz
~#! tid=1013799835
Ah, Du hast also nicht versucht nachzurechnen.
Der Vater ist in Stockholm, holt sich gerade den Nobelpreis fuer Medizin ab. 

GdA

-----------------------------------------------------------------------------



Re: einsteins aufgabe (Montanus, 15. Feb 2002, 20:35:30):
~#! rn=Leibniz rt=1013797321 rg=puiz
~#! tid=1013797321
Ich gehoere zu den 2%. Loesung per Mail. :-)

-----------------------------------------------------------------------------



Weisswuerste und Witwen (Karis, 16. Feb 2002, 21:25:16):
3 Frauen essen Weisswuerste.
Die erste schneidet dazu die Weisswurst der Laenge nach auf, pellt die
Haelften und isst dann die Haelften mit Salz.
Die zweite schneidet Scheiben von der Weisswurst, streicht scharfen Senf
darauf und isst sie.
Die dritte nimmt die Weisswurst in die Hand, tunkt sie in suessen Senf und
zutschelt (hochdeutsch: saugt) sie aus.
Welche der 3 Frauen ist die Witwe?

Karis, vermutet eine aehnliche Loesung wie beim Fisch.

-----------------------------------------------------------------------------



Re^3: Textaufgabe (Mogien, 16. Feb 2002, 22:39:40):
~#! rn=Grimmborn rt=1013800390 rg=puiz
~#! tid=1013799835
Wieso sollte der denn in Stockholm sein? Nach meiner Rechnung ist er eher
gerade beschaeftigt gewesen, in Anwesenheit der Mutter ;)

-----------------------------------------------------------------------------



Re^4: Textaufgabe (Grimmborn, 17. Feb 2002, 01:20:43):
~#! rn=Mogien rt=1013895580 rg=puiz
~#! tid=1013799835
Also Du bist der Meinung, die Mutter ist jetzt 21 Jahre, die Tochter 0. In
sechs Jahren ist also die Tochter sechs, die Mutter 27. Und fuenf mal sechs
sind bei mir nicht 27.

GdA

-----------------------------------------------------------------------------



Re^5: Textaufgabe (Rochus, 17. Feb 2002, 17:27:25):
~#! rn=Grimmborn rt=1013905243 rg=puiz
~#! tid=1013799835
Also Mogien hat recht.
m = k + 21 (mutter 21 jahre aelter als kind)
m+6 = 5*(k+6) (in 6 jahren mutter 5 mal aelter als kind)
Die erste Gleichung von der zweiten abziehen ergibt
6 = 4k + 9
Also k=-3/4 Jahre, das kind ist also -9 Monate alt,
wo der Vater grade ist duerfte damit klar sein :)

  Rochus

-----------------------------------------------------------------------------



Re: einsteins aufgabe (Matis, 17. Feb 2002, 19:30:18):
~#! rn=Leibniz rt=1013797321 rg=puiz
~#! tid=1013797321
Das ist eine Abwandlung des altbekannten Zebrapuzzels. Und ein nettes 
Anwendungsbeispiel fuer Prolog ;o):

% Loesung = [Haus1,Haus2,Haus3,Haus4,Haus5]
% Haus    = [Farbe,Nationalitaet,Getraenk,Zigarette,Haustier]

linker_nachbar(LinkerNachbar,RechterNachbar,Loesung):-
  append(_,[LinkerNachbar,RechterNachbar|_],Loesung).

nachbar(Nachbar1,Nachbar2,Loesung):-
  linker_nachbar(Nachbar1,Nachbar2,Loesung);
  linker_nachbar(Nachbar2,Nachbar1,Loesung).


raetsel(Loesung):-
  Loesung = [_,_,_,_,_],
  member([rot,brite,_,_,_],Loesung),
  member([_,schwede,_,_,hund],Loesung),
  member([_,daene,tee,_,_],Loesung),
  linker_nachbar([gruen,_,_,_,_],[weiss,_,_,_,_],Loesung),
  member([gruen,_,kaffee,_,_],Loesung),
  member([_,_,_,pallmall,vogel],Loesung),
  Loesung = [_,_,[_,_,milch,_,_],_,_],
  member([gelb,_,_,dunnhill,_],Loesung),
  Loesung = [[_,norweger,_,_,_],_,_,_,_],
  nachbar([_,_,_,marlboro,_],[_,_,_,_,katze],Loesung),
  nachbar([_,_,_,_,pferd],[_,_,_,dunnhill,_],Loesung),
  member([_,_,bier,winfield,_],Loesung),
  nachbar([_,norweger,_,_,_],[blau,_,_,_,_],Loesung),
  member([_,deutscher,_,rothmanns,_],Loesung),
  nachbar([_,_,_,marlboro,_],[_,_,wasser,_,_],Loesung).

Matis

-----------------------------------------------------------------------------



Mathe-Knobel: Wurm auf Gummiband (Vincent, 18. Feb 2002, 11:15:43):
Hier ein mathematisch angehauchtes Raetsel, von dem ich hoffe, dass es noch
nicht zu bekannt ist.

Auf einem Gummiband befindet sich ein Wurm, der sich von einem Ende zum
anderen bewegt. Der Wurm legt in einer Sekunde einen Zentimeter zurueck.
Zu Beginn ist das Gummiband einen Kilometer lang. Nach jeder Sekunde wird
es schlagartig um einen weiteren Kilometer in die Laenge gezogen. Nach der
ersten Sekunde hat der Wurm also einen Zentimeter zurueckgelegt, und die
Laenge des Gummibandes betraegt jetzt zwei Kilometer. Nach der zweiten
Sekunde ist der Wurm um einen weiteren Zentimeter vorwaertsgekommen, waehrend
das Band jetzt drei Kilometer lang ist. Und so geht es immer weiter...
Es wird nur das Gummiband gedehnt. Alle Zeit- und Laengeneinheiten und
-angaben in der umgebenden Raum-Zeit bleiben unveraendert. Ausserdem gehen
wir - wie immer bei solchen Aufgaben - von physikalischen Idealbedingungen
aus, d.h. das Gummiband kann unendlich gedehnt werden und der Wurm lebt
beliebig lange und ist punktfoermig.

Frage:
Erreicht der Wurm jemals das andere Ende des Gummibandes? Falls nein, wieso
nicht? Falls ja, wieso und wie lange wuerde das ganz grob dauern?

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Mathe-Knobel: Wurm auf Gummiband (Vincent, 18. Feb 2002, 15:12:26):
~#! rn=Vincent rt=1014027343 rg=puiz
~#! tid=1014027343
Soeben hat mir Matis die richtige Loesung mit Begruendung mitgeteilt. Er war
der schnellste. Dies nur zur Info. Gratulation, Matis! :-)

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Re: Mathe-Knobel: Wurm auf Gummiband (Catweazle, 18. Feb 2002, 16:25:09):
~#! rn=Vincent rt=1014041546 rg=puiz
~#! tid=1014027343
Baeh,

macht sowas nie inner excaltabelle, einmal speichern und wieder laden und
irgendwie ist alles verrutscht. Jetzt will ich nicht mehr :(

YTC

-----------------------------------------------------------------------------



Re: Mathe-Knobel: Wurm auf Gummiband (Imda, 18. Feb 2002, 16:55:39):
~#! rn=Vincent rt=1014027343 rg=puiz
~#! tid=1014027343
Hmmm, das ob ist klar, und das wielange kann man ausrechnen (lassen).

Imda. mal wieder zu faul...

-----------------------------------------------------------------------------



Ein Wuerfelkalender als Werbegeschenk (Vincent, 20. Feb 2002, 13:04:13):
Und hier noch ein kleines, fast gar nicht mathematisch angehauchtes Raetsel
aus meinem Archiv:

Ein Wuerfelkalender ist ein Kalender, der die Nummern des Tages im aktuellen
Monat anzeigt, und zwar mit Hilfe zweier sechseitiger Wuerfel, die
nebeneinander gelegt werden. Die Wuerfel koennen immer so gelegt werden,
dass die vordere Seite das aktuelle Tagesdatum anzeigt. Hierbei stellt der
eine Wuerfel die Zehnerstelle und der andere die Einerstelle da. Manchmal
muessen die Wuerfel auch vertauscht werden, damit das richtige Tagesdatum
zu sehen ist. Vor einigen Jahren gab es solche Wuerfelkalender als
Werbegeschenke von verschiedenen Firmen.

Frage:
Wie muessen die beiden Wuerfel mit Zahlen beschriftet werden, damit der
Kalender in der beschriebenen Weise funktioniert, also die Zahlen
01, 02, 03, ..., 29, 30, 31 dargestellt werden koennen?

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Ein Wuerfelkalender als Werbegeschenk (Vincent, 20. Feb 2002, 13:22:14):
~#! rn=Vincent rt=1014206653 rg=puiz
~#! tid=1014206653
Nonne war blitzschnell und hat mir al erstes die richtige Loesung mitgeteilt.
Gratulation, und weiter so! :-)

Gruss
Vincent

-----------------------------------------------------------------------------



Durchschnittsgeschwindigkeit (Catweazle, 20. Feb 2002, 13:32:14):

Ok, mal was ganz popelig einfaches:

Jemand faehrt von A nach B. Auf dem Hinweg ist seine Geschwindigkeit konstant
60 km/h, auf dem Rueckweg konstant 40km/h.

Wie hoch ist seine Durchschnittsgeschwindigkeit auf der gesamten Strecke?

YTC

-----------------------------------------------------------------------------



Re: Durchschnittsgeschwindigkeit (Grimmborn, 20. Feb 2002, 13:33:56):
~#! rn=Catweazle rt=1014208334 rg=puiz
~#! tid=1014208334
Das nennst Du trivial? Da fehlt aber noch eine Menge Information, z.B. ob er
jeweils dieselbe Strecke gefahren ist, wie lange der Aufenthalt war, und
wieviele und wielange er Pinkelpausen auf dem Weg gemacht hat.

GdA

-----------------------------------------------------------------------------



Re: Re: Durchschnittsgeschwindigkeit (Humni, 20. Feb 2002, 13:37:35):
~#! rn=Grimmborn rt=1014208436 rg=puiz
~#! tid=1014208334
Auch interessant ist dabei folgendes:

Person X faehrt von A nach B mit einer Geschwindigkeit von 60 km/h und will
noch zurueck. Wie schnell muss X zurueckfahren, um auf dem gesamten Weg eine
Durchschnittsgeschwindigkeit von 120 km/h zu fahren?

Humni

-----------------------------------------------------------------------------



Re: Re: Durchschnittsgeschwindigkeit (Catweazle, 20. Feb 2002, 13:39:11):
~#! rn=Grimmborn rt=1014208436 rg=puiz
~#! tid=1014208334
Pah, unwesentliches Beiwerk. Du denkst zuviel. Natuerlich faehrt er die
gleiche Strecke. Und bei konstanter Geschwindigkeit pinkeln ist nicht wirklich
witzig. Die Auffenthaltszeit darfste nicht einrechnen. Und ja der Typ hat nen
Wagen der von 0 auf 60km/h in 0 Sekunden beschleunigt.

YTC

-----------------------------------------------------------------------------



Re^3: Durchschnittsgeschwindigkeit (Orktoeter, 20. Feb 2002, 13:41:05):
~#! rn=Catweazle rt=1014208751 rg=puiz
~#! tid=1014208334
aber von 60 auf 100 braucht er dafuer dann 30 Minuten?

-----------------------------------------------------------------------------



Re^4: Durchschnittsgeschwindigkeit (Humni, 20. Feb 2002, 14:01:22):
~#! rn=Orktoeter rt=1014208865 rg=puiz
~#! tid=1014208334
Also fuer meine Aufgabe hat Boing gerade die richtige Loesung
geliefert..Catweazle war etwas schneller aber dafuer etwas unpraeziser....

Nur so. Damit ihr weiterraetseln koennt gibts die Loesung aber nur bei mir auf
Anfrage. ;-)

Humni

-----------------------------------------------------------------------------



Ein Spion auf der Lauer (Vincent, 21. Feb 2002, 15:06:12):
Ich habe noch einen netten Artikel ueber einen brisanten Vorfall des letzten
Jahres gefunden, der bislang geheim gehalten wurde, den ich Euch aber nicht
vorenthalten moechte: 

s!Ein Mal!Einmal!
Ein Mal versuchte sich ein Spion Zutritt in den Hochsicherheitsbereich der
boingschen Ideen- und Entwicklungsabteilung zu verschaffen. Deswegen legte
er sich in einem Versteck auf die Lauer und beobachtete die Personen, die
am Waechter vorbei kommen und das Zielgebiet betreten duerfen.

Der ersten Person, die kam, stellte der Waechter die Frage: "Wenn ich 28
sage, was sagst dann Du?" Die Person antwortete: "Ich sage 14." Daraufhin
liess der Waechter die Person eintreten.

Etwas spaeter kam eine zweite Person an. Der Waechter fragte sie: "Wenn ich 8
sage, was sagst dann Du?" Die Person gab zur Antwort: "Ich sage 4." Der
Waechter liess sie passieren.

Kurz darauf kam eine dritte Person und bat um Einlass. Der Waechetr stellte
auch ihr eine Frage: "Wenn ich 16 sage, was sagst dann Du?" Die Antwort
lautete: "Ich sage 8." Und auch die dritte Person durfte hinein.

Der Spion dachte sich, dass das ja einfach sei, und ging zum Waechter. Der
Waechter hielt ihn an und fragte: "Wenn ich 14 sage, was sagst dann Du?"
Der Spion antwortete: "Ich sage 7." Daraufhin rief der Waechter das
geheime Morgengrauen-Spionage-Abwehr-Team und liess den Spion unschaedlich
machen.

Frage:
Was haette der Spion antworten muessen, um nicht als solcher erkannt zu
werden?

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Ein Spion auf der Lauer (Grimmborn, 21. Feb 2002, 15:10:27):
~#! rn=Vincent rt=1014300372 rg=puiz
~#! tid=1014300372
"Ich habe hier eine sehr grosskalibrige Waffe durch meinen Mantel auf Dich
gerichtet, und der erste, der stirbt wenn ich enttarnt werde bist Du."

GdA

-----------------------------------------------------------------------------



Re: Re: Ein Spion auf der Lauer (Zook, 21. Feb 2002, 15:12:43):
~#! rn=Grimmborn rt=1014300627 rg=puiz
~#! tid=1014300372
Ich moechte nur betonen, dass es selbstverstaendlich keine geheime 
MorgenGrauen-Spinage-Abwehr gib. Das sind alles Geruechte, die ich
entschieden dementiere. 

Zook orakelt herum.

-----------------------------------------------------------------------------



Re^3: Ein Spion auf der Lauer (Muaddib, 21. Feb 2002, 15:23:43):
~#! rn=Zook rt=1014300763 rg=puiz
~#! tid=1014300372
Spinat-Abwehr?

-----------------------------------------------------------------------------



Re: Ein Spion auf der Lauer (Vincent, 21. Feb 2002, 18:56:46):
~#! rn=Vincent rt=1014300372 rg=puiz
~#! tid=1014300372
Phobos hat mir als erster die richtige Antwort mit Begruendung zukommen
lassen. Gratulation und weiter so! :-)

Die Loesung teile ich gerne auf Anfrage mit, damit, wer Lust hat, noch
in Ruhe gruebeln kann. :-)

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Re: Ein Spion auf der Lauer (Elberet, 22. Feb 2002, 09:44:42):
~#! rn=Vincent rt=1014314206 rg=puiz
~#! tid=1014300372
also ich glaub ja nciht, dass man da sagen kann, ob ne Loesung richtig oder
falsch ist, so wie das Problem gestellt ist.

-----------------------------------------------------------------------------



Re^3: Ein Spion auf der Lauer (Grimmborn, 22. Feb 2002, 09:47:42):
~#! rn=Elberet rt=1014367482 rg=puiz
~#! tid=1014300372
:nickt Elberet zu. Da gibts mehrere Loesungen.

GdA

-----------------------------------------------------------------------------



Re^4: Ein Spion auf der Lauer (Vincent, 26. Feb 2002, 13:43:43):
~#! rn=Grimmborn rt=1014367662 rg=puiz
~#! tid=1014300372
Also ich kenne nur eine richtige Loesung. Dass es moeglicherweise mehrere
Wege gibt, die Frage/Antwort-Sache zu interpretieren moechte ich nicht
ausschliessen, aber ob die dann jeweils richtig sind? Mailt doch einfach
Eure Loesungsvorschlaege, und dann werden wir ja sehen...
Ausserdem, falls es wirklich mehrere Loesungen geben sollte, dann ist
natuerlich immer die einfachste und die am naechstenliegende die gesuchte.

Gruss
Vincent

-----------------------------------------------------------------------------



QUIZ (Qitess, 23. Mar 2002, 12:54:31):
also, hier nun einkleines quiz:
1. wie lautet dein name?

2. zu welcher Ajah gehoert der aktuelle Amyrlin-Sitz in Tar Valon ?

3. Welchen Episodentitel hat der vierte Teil der USS Highlander Saga?

3. Wieviele magische Ringe gibt es in "Der JHerr der Ringe" ?

Wie lautet das Motto?

6. Wie viele Babylon-Stationen sind tatsaechlich explodiert?

7. Tick, Trick und Track, welche Farbe gehoert zu wem?

8. Wieviele Ehrengaeste Tragen eine Krawatte?

9. Welchen Rufnamen hat Todd Marshall?

10. Wie heisst duie Hexe aus "Records of Lodoss War"?

11. Wie heisst der Junge in "Akira", der waehrend des Films seltsame Kraefte
bekommt?

12. Wie heisst das Maedchen auds Alien II mit buergerlichem Namen?

13. Welche Augenfarbe hat der kleinere der beiden Blues Brothers?

14. Welche Hausnummer hat die Muehle?

15. Wie heisst die Ehefrau von Paul Atreides?

16. In welchem Gefaess ist der Wein gut und rein?

17. Wer ist Du-weisst-schon-wer ?

18. Und wie heisst er mit 2. Vornamen?

19. Was ist ein Botch (Vampire 3. Edition)?

20. Wie nennt sich eine Gemeinde von Skrangs?

21. Was sieht Molly aus "Neuromancer" die ganze Zeit?

22. Wie viele verschiedene Lichtschwerter bekommt man in Episode IV bis VI zu
sehen?

23. Wie heisst Catwoman mit buergerlichem Namen?

24. Wie lauten Tolkien's Vornamen?

25. Welcher beruehmte Renaissance-Kuenstler wird in den Shadowrun-Romanen
wiederbelebt?

26. Wie heisst die an Japan angelehnte Kultur auf Midgard?

Seufz. Antworten gerne ausdiskutieren oder per mail an Qitess.

Das ist ein kleines Gewinnspiel, und ich will da gewinnen. :-)

QI** schummelnd...

-----------------------------------------------------------------------------



Re: QUIZ (Schwubbel, 23. Mar 2002, 15:55:14):
~#! rn=Qitess rt=1016884471 rg=puiz
~#! tid=1016884471
Bah, wat fuern doofes Quiz.
(schon allein deshalb, weil ich a. die meisten Fragen nicht beantworten kann
und b. bei noch mehr Fragen nicht mal den Hintergrund kenn).
Ist das so ein Test "Wie gut kenne ich die Trivialkultur"?
Oder wie?
Oder was?
und bekomm ich auch was, wenn du gewinnst?

Fragen ueber Fragen.....
Da schau ich doch jetzt lieber nach, ob ich ein Kaninchen zeichnen kann, das
wie Suedamerika aussieht.
(Ich kann!)

Bis denno,
Schwubbel

-----------------------------------------------------------------------------



Re: QUIZ (Phobos, 23. Mar 2002, 22:37:50):
~#! rn=Qitess rt=1016884471 rg=puiz
~#! tid=1016884471
17. Lord Voldemort
18. Tom Marvolo Riddle = I am Lord Voldemort
    Tom Vorlost Riddle = Ist Lord Voldemort

Phobos  -  faengt grad das dritte Buch an

-----------------------------------------------------------------------------



Re: QUIZ (Catweazle, 23. Mar 2002, 22:42:48):
~#! rn=Qitess rt=1016884471 rg=puiz
~#! tid=1016884471
Schwierig :-)

2. Ist gemein, wann ist 'aktuell'. Ansonsten wuerde ich sagen 'rot'. Die
exakte Antwort weiss garantiert Anatol.

4.: Zwanzig. 3 Elfen, 7 Zwerge, 9 Menschen  +one
6.: Afaik nur eine, naemlich Nummer 4. Kann mich aber taeuschen. Ist eine
nicht nem Attentat waehrend des Baus zum Opfer gefallen? Weiss nimmer...
15: Chani wars nicht, die war nur seine Geliebte. Afaik hat er Prinzessin
Irulan geheiratet. 

21: Huh, das ist Hundert Jahre her. Die Uhrzeit?

22: Auch gemein, ich wuerde sagen drei. Obiwans, Vaders und ein
Skywalker-Neubau.

24: Einfach :) John Ronald Reuel

YTC

PS: (Fast) alles ohne Garantie...


-----------------------------------------------------------------------------



Re: Re: QUIZ (Montanus, 24. Mar 2002, 02:56:01):
~#! rn=Catweazle rt=1016919768 rg=puiz
~#! tid=1016884471
zu Frage 22:
ich wuerde sagen: mindestens 4.
In Episode 4 sieht man 3 - Obi-Wans, Lukes (das alte von Anakin) und Vaders,
mit dem er dann Obi-Wan maeht. In Episode 5 verliert Luke hand und Schwert,
und baut sich dann ein neues.

Aber in EP II wird man Yoda mit dem Lichtsaebel kaempfen sehen...  hmmm, evtl
sollte man nochmal in EP V nachgucken, ob auf Dagobah Yoda seinen Saebel bei
Lukes Training verwendet hat. Aber ich glaub eher nicht.

-----------------------------------------------------------------------------



Re: QUIZ (Anacrion, 24. Mar 2002, 03:00:44):
~#! rn=Qitess rt=1016884471 rg=puiz
~#! tid=1016884471
15. Irulan (Er hat naemlich aus Staatsraison die Prinzessin geheiratet und
Chani als Konkubine behalten)
9. Maniac

Anac* senft auch (aber nicht viel)

-----------------------------------------------------------------------------



Re: Re: QUIZ (Nonne, 24. Mar 2002, 08:57:44):
~#! rn=Catweazle rt=1016919768 rg=puiz
~#! tid=1016884471
4.: Meiner Meinung nach nur 4 oder 13. Die sieben der Zwerge sind verloren und
die neun der Menschen sind nun die Ringgeister. Ich weiss nicht, ob die die
noch tragen. Die drei der Elfen werden noch versteckt und natuerlich der Eine.

22: Ich wuerde auch 4 sagen. Yoda bildet Luke nicht im Schwertkampf aus,
benutzt also auch keins.

7: Tick rot, Trick blau und Track gruen.
23: Selina Kyle

Mehr googlen will ich im Moment nicht (c;

Nonne.

-----------------------------------------------------------------------------



Re^3: QUIZ (Phobos, 24. Mar 2002, 12:31:01):
~#! rn=Nonne rt=1016956664 rg=puiz
~#! tid=1016884471
4. soweit ich weiss, hat sauron 3 der sieben gefunden, die anderen wurden
   von den drachen zerstoert.

Phobos

-----------------------------------------------------------------------------



Re^4: QUIZ (Grimmborn, 24. Mar 2002, 12:35:51):
~#! rn=Phobos rt=1016969461 rg=puiz
~#! tid=1016884471
Vielleicht sollte man erstmal die Frage lesen: Im Herrn der Ringe gibt es vier
magische Ringe. Die anderen Ringe werden erwaehnt (irgendwo wird sogar
erwaehnt dass es sehr viele magische Ringe gibt, und diese ethnischen Ringe
werden lediglich hervorgehoben), tauchen aber nicht auf. 

GdA

-----------------------------------------------------------------------------



Re^5: QUIZ (Anacrion, 24. Mar 2002, 12:36:51):
~#! rn=Grimmborn rt=1016969751 rg=puiz
~#! tid=1016884471
Der 7te Zwergenring taucht im Hobbit auf -> Thror besitzt ihn bis zum Tod.

-----------------------------------------------------------------------------



Re^6: QUIZ (Grimmborn, 24. Mar 2002, 12:39:54):
~#! rn=Anacrion rt=1016969811 rg=puiz
~#! tid=1016884471
Und jetzt kannst Du sicher auch erklaeren inwieweit ein Auftauchen im Hobbit
unter "Wieviele magische Ringe gibt es in "Der Herr der Ringe"" faellt.

GdA

-----------------------------------------------------------------------------



Re^5: QUIZ (Phobos, 24. Mar 2002, 12:42:21):
~#! rn=Grimmborn rt=1016969751 rg=puiz
~#! tid=1016884471
Ich zitiere mal Gandalf aus LoTR:
"The Three, fairest of all, the Elf-lords hid from him, and his hand
never touched them or sullied them. Seven the Dwarf-kings possessed, but
three he has recovered, and the others the dragons have consumed. Nine
he gave to Mortal Men, proud and great, and so ensnared them.
...

Phobos

-----------------------------------------------------------------------------



Re^6: QUIZ (Grimmborn, 24. Mar 2002, 12:43:35):
~#! rn=Phobos rt=1016970141 rg=puiz
~#! tid=1016884471
Die Frage war nicht wieviele Ringe im Herrn der Rine erwaehnt werden.

GdA

-----------------------------------------------------------------------------



Re^7: QUIZ (Phobos, 24. Mar 2002, 12:48:08):
~#! rn=Grimmborn rt=1016970215 rg=puiz
~#! tid=1016884471
Ich glaube kaum, dass die Frage so kleinkariert gemeint ist. 
Die erwartete Antwort ist mit Sicherheit 1+3+7+9 = 20

Phobos

-----------------------------------------------------------------------------



Re^8: QUIZ (Anacrion, 24. Mar 2002, 12:49:30):
~#! rn=Phobos rt=1016970488 rg=puiz
~#! tid=1016884471
Also GEZEIGT meine ich werden nur 2 .... galadriels venya und der eine ... ich
glaube mich nicht erinnern zu koennen, das gandalf narya rausholt oder elrond
nenya.

-----------------------------------------------------------------------------



Re^8: QUIZ (Grimmborn, 24. Mar 2002, 12:49:34):
~#! rn=Phobos rt=1016970488 rg=puiz
~#! tid=1016884471
Das uebliche Problem: Beantwortet man eine Frage so wie sie gestellt ist oder
so wie sie gemeint sein koennte?

GdA

-----------------------------------------------------------------------------



Re^9: QUIZ (Grimmborn, 24. Mar 2002, 12:50:44):
~#! rn=Anacrion rt=1016970570 rg=puiz
~#! tid=1016884471
Ich erinnere mich an was a la "...who now were wearing the rings openly."
Vielleicht war das in einem Appendix, aber auch diese gehoeren zum Herrn der
Ringe.

GdA

-----------------------------------------------------------------------------



Re^9: QUIZ (Sango, 24. Mar 2002, 12:52:48):
~#! rn=Anacrion rt=1016970570 rg=puiz
~#! tid=1016884471
Narya wird am ende vom LotR kurz gezeigt, Sam oder Frodo sehen ihn bei Gandalf
als sie sich verabschieden und nach Westen reisen.

-----------------------------------------------------------------------------



Re^10: QUIZ (Grimmborn, 24. Mar 2002, 12:54:25):
~#! rn=Sango rt=1016970768 rg=puiz
~#! tid=1016884471
Dann schau doch bitte nochmal nach in der Szene wos an den Hafen und uebers
Meer geht, ich hab den dritten Teil grad nicht zur Hand.

GdA

-----------------------------------------------------------------------------



Re^11: QUIZ (Phobos, 24. Mar 2002, 12:58:32):
~#! rn=Grimmborn rt=1016970865 rg=puiz
~#! tid=1016884471
Then Cirdan led them to the Havens, and there was a white ship
lying, and upon the quay beside a great grey horse stood a figure
robed all in white awaiting them. As he turned and came towards
them Frodo saw that Gandalf now wore openly upon his hand the
Third Ring, Narya the Great, and the stone upon it was red as fire.
Then those who were to go were glad, for they knew that Gandalf
also would take ship with them.

Phobos

-----------------------------------------------------------------------------



Re^12: QUIZ (Anacrion, 24. Mar 2002, 13:06:22):
~#! rn=Phobos rt=1016971112 rg=puiz
~#! tid=1016884471
Und was ist mit Elronds Ring? Vilya? Irgendwo explizit erwaehnt? :-)

Anac* (hat gerade kein HdR da)

-----------------------------------------------------------------------------



Re^12: QUIZ (Phobos, 24. Mar 2002, 13:10:19):
~#! rn=Phobos rt=1016971112 rg=puiz
~#! tid=1016884471
ok, der Vollstaendigkeit halber noch ein paar Stellen:

"Yes", she said, divining his thought, "it is not permitted to speak
of it, and Elrond could not do so. But it cannot be hidden from the
Ring-bearer, and one who has seen the Eye. Verily it is in the
land of Lorien upon the finger of Galadriel that one of the Three
remains. This is Nenya, the Ring of Adamant, and I am its keeper.

am Ende vom letzten Buch:
There was Gildor and many fair Elven folk; and there to Sam's
wonder rode Elrond and Galadriel. Elron wore a mantle of grey and
had a star upon his forehead, and a silver harp was in his hand, and
upon his finger was a ring of gold with a great blue stone, Vilya,
mightiest of the Three. But Galadriel sat upon a white palfrey and
was robed all in glimmering white, like clouds about the Moon; for
she herself seemed to shine mith a soft light. On her finger was Nenya,
the ring wrought of mithril, that bore a single white stone flickering
like a frosty star. Riding slowly behind on a small grey pony, and
seeming to nod in his sleep, was Bilbo himself.

Phobos

-----------------------------------------------------------------------------



Re^13: QUIZ (Grimmborn, 24. Mar 2002, 14:25:09):
~#! rn=Phobos rt=1016971819 rg=puiz
~#! tid=1016884471
OK, mein Gedaechtnis war nicht 100%ig mit der Stelle, aber wir sind uns einig
dass vier der magischen Ringe im Herrn der Ringe vorkommen?

GdA

-----------------------------------------------------------------------------



Re^13: QUIZ (Anacrion, 24. Mar 2002, 14:25:37):
~#! rn=Phobos rt=1016971819 rg=puiz
~#! tid=1016884471
Interessante Frage ist, ob irgendwo erwaehnt wird, ob die Nazgul ihre Ringe
noch tragen ...

-----------------------------------------------------------------------------



Re^4: QUIZ (Ark, 25. Mar 2002, 10:53:22):
~#! rn=Phobos rt=1016969461 rg=puiz
~#! tid=1016884471
Noe, die Elfen haben doch drei, einen hat Gandalf, einen Cirdan und einen
traegt die Elfenkoenigin.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^10: QUIZ (Ark, 25. Mar 2002, 10:55:12):
~#! rn=Grimmborn rt=1016970644 rg=puiz
~#! tid=1016884471
Als die Elfen, Gandalf und die Hobbits in den Grey Havens ankommen, werden
Narya, Venya und Nenya erwaehnt.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^11: QUIZ (Grimmborn, 25. Mar 2002, 11:21:16):
~#! rn=Ark rt=1017050112 rg=puiz
~#! tid=1016884471
Nicht nur das, man bekommt sie auch zu "sehen". Und den Einen Ring ja sowieso
staendig.

GdA

-----------------------------------------------------------------------------



Re^12: QUIZ (Kobayashi, 25. Mar 2002, 13:33:05):
~#! rn=Grimmborn rt=1017051676 rg=puiz
~#! tid=1016884471
Geht's um den Film oder um das Buch, im Buch werden 4 gezeigt. Der "eine", und
die drei der Elfen zusammen, als Elrond, Galadriel und Gandalf (jeder traegt
einen) mit Bilbo bei den grauen Anfurten Mittelerde verlassen.

Kobayashi

-----------------------------------------------------------------------------



Re^13: QUIZ (Humni, 25. Mar 2002, 17:20:24):
~#! rn=Kobayashi rt=1017059585 rg=puiz
~#! tid=1016884471
19: Wenn man mehr Einsen als Erfolge wuerfelt. Dann ist der Wurf nicht nur
misslungen, sondern katastrophal (also das, was sonstwo ein ,Patzer' ist). Das
ist zumindest in Mage, 3. Edition, Werwolf, 2. Edition und Vampire, 2. Edition
sowie Changeling, 1. Edition so - ich gehe also mal davon aus, dass das in
Vampire, 3. Edition (meinen die The Masquerade oder The Old Ages?) dasselbe
ist.

Humni, bekennender White Wolfer.

-----------------------------------------------------------------------------



QUIZ2 (Qitess, 26. Mar 2002, 08:18:00):
Soll ich mal die Aufloesung bekanntgeben (sofern ich noch alles
zusammenbekomme?)

QI**

-----------------------------------------------------------------------------



Re: QUIZ2 (Catweazle, 26. Mar 2002, 08:51:26):
~#! rn=Qitess rt=1017127080 rg=puiz
~#! tid=1017127080
Unbedingt. Mit Erklaerung am besten ...

YTC

-----------------------------------------------------------------------------



Re: QUIZ (Krellja, 28. Mar 2002, 11:15:43):
~#! rn=Qitess rt=1016884471 rg=puiz
~#! tid=1016884471
Falls Du noch interesse hast:

26: KanThaiPan

Oder war das China??

Krellja, ploetzlich verunsichert :(

-----------------------------------------------------------------------------



Re: QUIZ (Vincent,  2. Apr 2002, 17:51:09):
~#! rn=Qitess rt=1016884471 rg=puiz
~#! tid=1016884471
zu 16:
Das Gefeass kommt im Kinofilm "Der Hofnarr" vor. Allerdings weiss ich nicht
wie das Gedicht lautet. Hab es zumindest nicht per Google finden koennen.
Allerdings meine ich mich zu erinnernb, dass es der "Becher mit dem Faecher"
war. Weiss es jemand genau?

zu 12:
Mute (oder Mjute, Njute, Nute geschrieben oder so). Wurde der Nachname
erwaehnt?

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Re: QUIZ (Vector,  2. Apr 2002, 18:39:36):
~#! rn=Vincent rt=1017762669 rg=puiz
~#! tid=1016884471
Der Kelch mit dem Elch.

-----------------------------------------------------------------------------



Re: Re: QUIZ (Gnome,  2. Apr 2002, 23:12:02):
~#! rn=Vincent rt=1017762669 rg=puiz
~#! tid=1016884471
12. nein, sie heisst "Rebecka" (oder Rebecca, wie es die amis nur kennen),
    Njute (oder so aehnlich) ist nur ihr kosename.

gnOme

-----------------------------------------------------------------------------



Re^3: QUIZ (Troy,  5. Apr 2002, 08:53:10):
~#! rn=Vector rt=1017765576 rg=puiz
~#! tid=1016884471
Moment mal. Das geht doch
Der Trank mit dem Gift ist in dem Becher mit dem Faecher
und der Wein gut und rein ist in dem Kelch mit dem Elch,

woraufhin der Kelch zerstoert wird und es dann heisst:

Der Trank mit dem Gift ist im Pokal mit dem Portal
und der Wein gut und rein ist in dem Becher mit dem Faecher.

Durch den Pokal wird die Verwirrung ja erst erzeugt.

@Qitess: Welchen Zeitpunkt meintest Du in Deiner Frage?

Troy - mag Danny Kaye - und BESONDERS The Jester -

-----------------------------------------------------------------------------



Re^4: QUIZ (Anthea,  5. Apr 2002, 08:56:53):
~#! rn=Troy rt=1017989590 rg=puiz
~#! tid=1016884471
Nix "Trank mit dem Gift"
Der Wein mit der Pille ist im Becher mit dem Faecher
Der Kelch mit dem Elch hat den Wein gut und rein.

und 

Der Wein mit der Pille ist im Kelch mit dem Elch
Der Becher mit dem Faecher hat den Wein gut und rein.

Versuch mir nix falsches ueber Danny-Kaye-Filme vorzumachen ;)

-----------------------------------------------------------------------------



Re^5: QUIZ (Troy,  5. Apr 2002, 08:58:25):
~#! rn=Anthea rt=1017989813 rg=puiz
~#! tid=1016884471
Sorry, ich hab nur das englische Original und versuchte dies
zu uebersetzen...

Troy

-----------------------------------------------------------------------------



Re^5: QUIZ (Anthea,  5. Apr 2002, 09:09:00):
~#! rn=Anthea rt=1017989813 rg=puiz
~#! tid=1016884471
ARGL!
Jetzt vertupps ich mich auch noch!
Also, zweiter Teil:
Der Wein mit der Pille ist im Kelch mit dem Elch
Der Pokal mit dem Portal hat den Wein gut und rein.

-----------------------------------------------------------------------------



ringe (Fender, 19. Apr 2002, 17:57:54):
Also nochmal zu den Ringen im Herr der ringe...
Im Buch werden 20 erwaehnt, und im Film werden 20 Ringe gezeigt...
Also waere die Antwort 20 ;-)

-----------------------------------------------------------------------------



Re: ringe (Nizzl, 19. Apr 2002, 17:58:38):
~#! rn=Fender rt=1019231874 rg=puiz
~#! tid=1019231874
ma wuarschdt :)

-----------------------------------------------------------------------------



Re: Re: ringe (Grimmborn, 19. Apr 2002, 18:02:58):
~#! rn=Nizzl rt=1019231918 rg=puiz
~#! tid=1019231874
Auf welche Frage waere das die Antwort gewesen?

GdA

-----------------------------------------------------------------------------



Re^3: ringe (Fender, 21. Apr 2002, 11:39:44):
~#! rn=Grimmborn rt=1019232178 rg=puiz
~#! tid=1019231874
Auf die mit den Ringen ;-)

-----------------------------------------------------------------------------



Re^4: ringe (Grimmborn, 21. Apr 2002, 11:43:44):
~#! rn=Fender rt=1019381984 rg=puiz
~#! tid=1019231874
Wohl kaum. Die Frage war wieviele Ringe vorkommen. Deine Antwort dagegen
argumentiert mit "erwaehnt" (wir duerften uns einig sein dass der Film nicht
autoritativ ist).

GdA

-----------------------------------------------------------------------------



Re^5: ringe (Troy, 21. Apr 2002, 18:42:37):
~#! rn=Grimmborn rt=1019382224 rg=puiz
~#! tid=1019231874
Also mal deduktiv? Die Drei sind laut Buch bei Gandalf, Galadriel und Elrond
zu finden. M. E. wird Elronds Ring nicht gezeigt, die anderen beiden aber
schon, macht 2 plus den Einen sind 3. Von den Sieben sieht man nix und die
Neun sind sofern ueberhaupt vorhanden unter den Panzerhandschuhen der
Nazgul verborgen. Ich plaediere daher fuer 3.

Troy

-----------------------------------------------------------------------------



Re^6: ringe (Grimmborn, 21. Apr 2002, 18:44:29):
~#! rn=Troy rt=1019407357 rg=puiz
~#! tid=1019231874
Das hatten wir hier alles schon vor Wochen durchgekaut. Elronds Ring wird
gezeigt (Szene an den Grey Havens am Ende). Also vier.

GdA

-----------------------------------------------------------------------------



Re^5: ringe (Fender, 22. Apr 2002, 09:48:23):
~#! rn=Grimmborn rt=1019382224 rg=puiz
~#! tid=1019231874
Okay.. im Film kommen definitiv 20 Ringe vor...

-----------------------------------------------------------------------------



Re^6: ringe (Troy, 22. Apr 2002, 13:54:26):
~#! rn=Fender rt=1019461703 rg=puiz
~#! tid=1019231874
Der Vorspann zaehlt nicht. Nur der Hauptfilm.

Troy

-----------------------------------------------------------------------------



Re^7: ringe (Ark, 22. Apr 2002, 13:59:25):
~#! rn=Troy rt=1019476466 rg=puiz
~#! tid=1019231874
Musst Du jetzt aber genauer sagen, nach wieviel Sekunden/Minuten zaehlt es
denn? Ich moechte auch Erbsen zaehlen :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^8: ringe (Troy, 22. Apr 2002, 15:21:04):
~#! rn=Ark rt=1019476765 rg=puiz
~#! tid=1019231874
Moment, Stoppuhr holen... Es beginnt wenn Gandalf nach Hobbinton faehrt,
also wenn die Erklaerung-fuer-Unwuer^H^Hissende-Vorgeschichte vorbei ist :-)

Troy

-----------------------------------------------------------------------------



Re^7: ringe (Fender, 22. Apr 2002, 16:33:10):
~#! rn=Troy rt=1019476466 rg=puiz
~#! tid=1019231874
ach, unsinn... Wo steht denn im Fragebogen, dass nur der hauptfilm zaehlt???

Achja, was ist eigentlich mit den Antworten??? (Weiss leider nicht mehr, wer
die Fragen gestellt hat :-(

Fender

-----------------------------------------------------------------------------



Re^8: ringe (Croft, 22. Apr 2002, 16:45:43):
~#! rn=Fender rt=1019485990 rg=puiz
~#! tid=1019231874
Wo steht im Fragebogen das der Film ueberhaupt zaehlt?

-----------------------------------------------------------------------------



Re^9: ringe (Boing, 22. Apr 2002, 17:05:12):
~#! rn=Croft rt=1019486743 rg=puiz
~#! tid=1019231874
Und wo steht ueberhaupt der Fragebogen?
  Boing

-----------------------------------------------------------------------------



Re^10: ringe (Fender, 22. Apr 2002, 17:06:40):
~#! rn=Boing rt=1019487912 rg=puiz
~#! tid=1019231874
Eben, und deswegen faend ich es gut, wenn der Fragebogen (bzw. das Quiz) mal
wieder in die Zeitung kaeme, oder endlich mal die Aufloesung gezeigt wird...

-----------------------------------------------------------------------------



Re^11: ringe (Croft, 22. Apr 2002, 17:08:20):
~#! rn=Fender rt=1019488000 rg=puiz
~#! tid=1019231874
Schau halt ins Archiv.

-----------------------------------------------------------------------------



Muenzengroessen. (Catweazle, 23. Apr 2002, 14:01:11):

So, ma kuckn wers nicht rauskriegt. Und ehrlich antworten gelle. Und nicht
vorher beliebte Zeitung lesen.

Entworfen werden soll ein Satz moeglichst vieler runder Muenzen im Durchmesser
zwischen 15 und 45 Millimeter, jede der Muenzen soll dabei mindestens 30
Prozent groesser sein als die vorige.

YTC

PS: Wers wiedererkennt: Klappe halten :)

-----------------------------------------------------------------------------



Re: Muenzengroessen. (Anthea, 23. Apr 2002, 14:02:45):
~#! rn=Catweazle rt=1019563271 rg=puiz
~#! tid=1019563271
Jetzt machst Du mit uns hier wohl den ganzen Pisa-Test?

-----------------------------------------------------------------------------



Re: Re: Muenzengroessen. (Humni, 23. Apr 2002, 14:03:15):
~#! rn=Anthea rt=1019563365 rg=puiz
~#! tid=1019563271
30 Prozent im Durchmesser oder in der Flaeche?

Humni
(kennts noch nicht)

-----------------------------------------------------------------------------



Re^3: Muenzengroessen. (Anthea, 23. Apr 2002, 14:03:47):
~#! rn=Humni rt=1019563395 rg=puiz
~#! tid=1019563271
Durchmesser.

-----------------------------------------------------------------------------



Re^4: Muenzengroessen. (Nonne, 23. Apr 2002, 14:06:48):
~#! rn=Anthea rt=1019563427 rg=puiz
~#! tid=1019563271
Sollte schon die Flaeche sein, sonst ists vielleicht ein bisschen sehr
trivial, oder?

-----------------------------------------------------------------------------



Re: Muenzengroessen. (Croft, 23. Apr 2002, 14:13:09):
~#! rn=Catweazle rt=1019563271 rg=puiz
~#! tid=1019563271
Noch irgendwelche Randbedingungen das die Durchmesser nur ganzzahlige
mm-Anzahlen sein muessen?

-----------------------------------------------------------------------------



Re^5: Muenzengroessen. (Catweazle, 23. Apr 2002, 14:13:21):
~#! rn=Nonne rt=1019563608 rg=puiz
~#! tid=1019563271
Maaaaa, Anthea!!!

Das mit der Flaeche war der Witz.
Natuerlich kriegt man unterschiedliche Sachen raus, ob man nun Flaeche oder
Durchmesser nimmt.
So wie ich es in der Aufgabe geschrieben habe, stands im Spiegelartikel, und
der Satz ist alles andere als eindeutig. In der Originalaufgabe stand dann was
von 30 Prozent mehr Durchmesser...

YTC

-----------------------------------------------------------------------------



Re: Re: Muenzengroessen. (Elberet, 23. Apr 2002, 14:13:25):
~#! rn=Croft rt=1019563989 rg=puiz
~#! tid=1019563271
jo die muessen ganzzahlig sein

-----------------------------------------------------------------------------



Re^3: Muenzengroessen. (Catweazle, 23. Apr 2002, 14:14:57):
~#! rn=Elberet rt=1019564005 rg=puiz
~#! tid=1019563271

Der Artikel:
http://www.spiegel.de/unispiegel/studium/0,1518,192528,00.html

Die Aufgabe:
http://www.spiegel.de/unispiegel/studium/0,1518,192528-2,00.html

YTC

-----------------------------------------------------------------------------



Re^4: Muenzengroessen. (Humni, 23. Apr 2002, 14:15:29):
~#! rn=Catweazle rt=1019564097 rg=puiz
~#! tid=1019563271
Haha. Erkannt. Und das, OHNE das zu kennen.

Humni

-----------------------------------------------------------------------------



Raetsel (Brotnael, 23. Apr 2002, 15:04:46):
Ok, nun das schwierigste Raetsel ueberhaupt: Warum ist Pitfall so verfressen?

Brotmuh

-----------------------------------------------------------------------------



Re: Raetsel (Sky, 23. Apr 2002, 21:13:03):
~#! rn=Brotnael rt=1019567086 rg=puiz
~#! tid=1019567086
4 maegen?

-----------------------------------------------------------------------------



Re^6: Muenzengroessen. (Anthea, 24. Apr 2002, 13:28:24):
~#! rn=Catweazle rt=1019564001 rg=puiz
~#! tid=1019563271
Noe. Im Spiegel-Artikel steht das hier (oder haben die da was geaendert?)
Ausgehend von einer Muenze muss der Durchmesser der naechsten Muenze
mindestens 30 Prozent groesser sein. 
Weil ich hatte mich auch erst gewundert, noch mal die Aufgabe angeschaut, und
war dann ueberzeugt, dass vom Durchmesser die Rede ist. Darum.

-----------------------------------------------------------------------------



Re^8: ringe (Kobayashi, 25. Apr 2002, 21:01:16):
~#! rn=Ark rt=1019476765 rg=puiz
~#! tid=1019231874
Wenn, dann musst du schon warten, bis der Filem komplett (3 teile) gezeigt
wurde. schliesslich ist ein in prinzip nur ein film, da er am stueck abgedreht
wurde. erst dann kannst du film und buch vergleichen.

\kobayashi

-----------------------------------------------------------------------------



12 Kugeln (Fender, 28. Apr 2002, 03:56:44):
Ich hab keine Ahnung, ob die Aufgabe schonmal vorkam, hab sie jedenfalls nicht
gefunden. Vielleicht kennt sie auch jemand in abgewandelter Form:

Zur Verfuegung stehen 12 gleich grosse Kugeln, von denen eine entweder
schwerer oder leichter ist als die anderen, und eine Waage (so eine wie
Iustitia haelt, den genauen Namen kenne ich nicht) aber keine Gewichte.
Aufgabe ist, die besondere Kugel zu finden und zu sagen, ob sie schwerer oder
leichter ist. Besonderheit: man darf nur 3 mal wiegen

So, viel Spass nun, und nehmt Euch einen grossen Zettel ;-)

P.S. Bitte nur ehrlich ueberlegte Antworten, keine nachgeschlagenen...

-----------------------------------------------------------------------------



Re: 12 Kugeln (Vector, 28. Apr 2002, 04:23:39):
~#! rn=Fender rt=1019959004 rg=puiz
~#! tid=1019959004
Ich will ja kein Spielverderber sein, aber genau diese Aufgabe
ist Teil einer Quest hier im MG.....

-----------------------------------------------------------------------------



Re: Re: 12 Kugeln (Fender, 28. Apr 2002, 05:03:43):
~#! rn=Vector rt=1019960619 rg=puiz
~#! tid=1019959004
Ich hab das Raetsel in der Quest grad gemacht, hab aber direkt die einfachste
moeglichkeit, die ueberhaupt kein problem ist, gehabt.. Es geht um die anderen
;-)
KOmmen die in der Quest ueberhaupt vor?

-----------------------------------------------------------------------------



Re^3: 12 Kugeln (Anacrion, 28. Apr 2002, 10:55:19):
~#! rn=Fender rt=1019963023 rg=puiz
~#! tid=1019959004
Es kann jede Moeglichkeit vorkommen.

anac*

-----------------------------------------------------------------------------



Re: 12 Kugeln (Boing, 28. Apr 2002, 11:37:34):
~#! rn=Fender rt=1019959004 rg=puiz
~#! tid=1019959004
Oh, sind schon wieder 3 Monate rum?
  Boing

-----------------------------------------------------------------------------



Re: 12 Kugeln (Phobos, 28. Apr 2002, 20:33:17):
~#! rn=Fender rt=1019959004 rg=puiz
~#! tid=1019959004
MA DO LIKE
ME TO FIND
FAKE COIN

Phobos

-----------------------------------------------------------------------------



Re: Re: 12 Kugeln (Fender, 29. Apr 2002, 18:30:26):
~#! rn=Boing rt=1019986654 rg=puiz
~#! tid=1019959004
Wie ich schon sagte, ich hatte keine Ahnung, ob das Raetsel schon mal
vorkam...

-----------------------------------------------------------------------------



glasmurmeln (Phobos, 29. Apr 2002, 21:26:48):
Ich habe hier drei Glasmurmeln, und moechte gerne herausfinden, welches
das niedrigste Stockwerk in Hilberts Turm ist, bei dem die Murmeln
zerbrechen, wenn man sie aus dem Fenster wirft. Alle drei Murmeln sind
identisch, d.h. sie zerbrechen ab derselben Hoehe.

Ich stehe hier grad im 100. Stockwerk .. Moment, ich lasse mal eine
Murmel fallen . . . . . . <klirr>

OK, neue Aufgabe:

Ich habe hier zwei Glasmurmeln, und moechte gerne herausfinden, welches
das niedrigste Stockwerk in Hilberts Turm ist, bei dem die Murmeln
zerbrechen, wenn man sie aus dem Fenster wirft. Die beiden Murmeln sind
identisch, d.h. sie zerbrechen ab derselben Hoehe. Ich weiss aus gut
unterrichteten Kreisen, dass die Murmeln zerbrechen, wenn man sie aus
dem 100. Stockwerk wirft.

Wieviele Wurfversuche muss ich mindestens machen, um die kritische 
Hoehe zu bestimmen?

Phobos

-----------------------------------------------------------------------------



Re: glasmurmeln (Tiamak, 29. Apr 2002, 21:29:55):
~#! rn=Phobos rt=1020108408 rg=puiz
~#! tid=1020108408
Mindestens noch zwei weitere.

Einmal gut raten, die Murmel aus dem Fenster werfen -> sie zerbricht nicht.
Dann ein Stockwerk hoeher dasselbe nochmal -> sie zerbricht.

Das war der Beweis: gut geraten. ;^)


Tiamak

-----------------------------------------------------------------------------



Re: Re: glasmurmeln (Grimmborn, 29. Apr 2002, 21:35:23):
~#! rn=Tiamak rt=1020108595 rg=puiz
~#! tid=1020108408
Und auch hoechstens zwei Wurfversuche. Denn auch wenn eine Murmel nicht kaputt
geht ist ihre Struktur so geschaedigt, dass sie sich beim zweiten Versuch
anders verhalten wuerde (Du kannst jede Murmel also immer nur einmal
verwenden).

Nicht dass ich wuesste weswegen Dich solche komischen Sachen interessieren,
aber kleiner Tip: Nimm doch einen Flummi statt dessen, der geht auf jeden Fall
nicht kaputt.

GdA

-----------------------------------------------------------------------------



Re^3: glasmurmeln (Phobos, 29. Apr 2002, 21:41:33):
~#! rn=Grimmborn rt=1020108923 rg=puiz
~#! tid=1020108408
OK, also noch ein paar Infos:

Es sind magische Murmeln, die nach einem Wurf entweder voellig heile
oder voellig kaputt sind. Man kann sie also evtl. mehrfach verwenden.

Und gesucht ist die kleinste Wurfanzahl, um absolut sicher zu sein,
dass man die Hoehe erraet.

Beispiel:

Falls ich nur eine Murmel habe, muss ich in Stockwerk 1 testen, dann
in Stockwerk 2, ... d.h. ich brauche 99 Versuche, um die Hoehe absolut
sicher zu erraten.

Phobos

-----------------------------------------------------------------------------



Re^4: glasmurmeln (Grimmborn, 29. Apr 2002, 21:43:46):
~#! rn=Phobos rt=1020109293 rg=puiz
~#! tid=1020108408
Aeh, worin besteht der Unterschied ob Du eine oder zwei Murmeln hast?
Und ich hoffe fuer Dich dass es da einen Fahrstuhl gibt...

GdA

-----------------------------------------------------------------------------



Re^5: glasmurmeln (Grosch, 29. Apr 2002, 21:54:38):
~#! rn=Grimmborn rt=1020109426 rg=puiz
~#! tid=1020108408
der unterschied ist, das du die erste mal aus dem 50 ten stock wirfst und dann
nur noch die haelfte der moeglichkeiten hast
grosch

-----------------------------------------------------------------------------



Re^6: glasmurmeln (Isi, 29. Apr 2002, 21:56:17):
~#! rn=Grosch rt=1020110078 rg=puiz
~#! tid=1020108408
wenn ich weiss dass das der 50. ist kann ich doch gleich beim hoch
laufen zahelen?
isi (moussewerfend)

-----------------------------------------------------------------------------



Re^6: glasmurmeln (Grimmborn, 29. Apr 2002, 21:56:19):
~#! rn=Grosch rt=1020110078 rg=puiz
~#! tid=1020108408
Genau, das ist der Erste Versuch. Und die zweite Kugel werfe ich dann aus dem
25. Stock, das ist der Zweite Versucht. Bzw. ich werfe die erste Kugel nochmal
aus dem 25. Stock, das waere der Zweite Versuch mit nur einer Kugel. Ich sehe
den Einfluss der Kugelzahl auf die Versuche immer noch nicht.

GdA

-----------------------------------------------------------------------------



Re^7: glasmurmeln (Nizzl, 29. Apr 2002, 21:57:38):
~#! rn=Grimmborn rt=1020110179 rg=puiz
~#! tid=1020108408
stock 50: klirr
stock 25: klirr
und was macht ihr nu?

-----------------------------------------------------------------------------



Re^8: glasmurmeln (Grimmborn, 29. Apr 2002, 21:58:54):
~#! rn=Nizzl rt=1020110258 rg=puiz
~#! tid=1020108408
Elementar: 12. Stock, und die Kugel nicht fallenlassen, sondern aus dem
Fenster lehnen und ein halbes Stockwerk hochwerfen.

GdA

-----------------------------------------------------------------------------



Re^7: glasmurmeln (Grosch, 29. Apr 2002, 21:59:14):
~#! rn=Isi rt=1020110177 rg=puiz
~#! tid=1020108408
sobald die erste kugel kaputt geht kannst du das mit dem halbieren nicht mehr
machen, da wenn die zweite auch zerspringt kannst du zu keinem ergebniss mehr
kommen
grosch

-----------------------------------------------------------------------------



Re^8: glasmurmeln (Grimmborn, 29. Apr 2002, 21:59:54):
~#! rn=Grosch rt=1020110354 rg=puiz
~#! tid=1020108408
Das sind magische Murmeln, die setzen sich nach ein paar Minuten wieder von
selber zusammen.

GdA

-----------------------------------------------------------------------------



Re: Re: glasmurmeln (Anacrion, 29. Apr 2002, 22:02:45):
~#! rn=Tiamak rt=1020108595 rg=puiz
~#! tid=1020108408
Hmmm. also theoretisch nur 1 Wurf .... wenn man im 1ten stock wirf und sie
zerbricht, muss es das erdgeschoss sein.

anac*

-----------------------------------------------------------------------------



Re^9: glasmurmeln (Karis, 29. Apr 2002, 22:03:17):
~#! rn=Grimmborn rt=1020110394 rg=puiz
~#! tid=1020108408
Sind das Boing'sche Resetmurmeln?
Karis

-----------------------------------------------------------------------------



Re^10: glasmurmeln (Jadawin, 29. Apr 2002, 22:03:53):
~#! rn=Karis rt=1020110597 rg=puiz
~#! tid=1020108408
Unterliegen magische Murmeln ueberhaupt der Gravitation?
Jad* (wundert sich)

-----------------------------------------------------------------------------



Re^11: glasmurmeln (Grimmborn, 29. Apr 2002, 22:05:35):
~#! rn=Jadawin rt=1020110633 rg=puiz
~#! tid=1020108408
Ja, aber im magischen Feld, nicht im Schwerefeld.

Und wenn die Kugeln nicht resetten, dann muss man halt immer schoen die Kugeln
aus jedem zweiten Stock werfen.

GdA

-----------------------------------------------------------------------------



Re^12: glasmurmeln (Phobos, 29. Apr 2002, 22:07:53):
~#! rn=Grimmborn rt=1020110735 rg=puiz
~#! tid=1020108408
nur so am rande .. gabs in der schule eigentlich bei den
textaufgaben sonderpunkte fuer kreative antworten? :)

phobos

-----------------------------------------------------------------------------



Re^12: glasmurmeln (Nizzl, 29. Apr 2002, 22:08:16):
~#! rn=Grimmborn rt=1020110735 rg=puiz
~#! tid=1020108408
aus jedem 20sten werfen. macht 4 wuerfe bis 80
und dann nochmal max 19 fuer die restlichen stockwerke.
macht 23 wuerfe

-----------------------------------------------------------------------------



Re^13: glasmurmeln (Jadawin, 29. Apr 2002, 22:09:08):
~#! rn=Nizzl rt=1020110896 rg=puiz
~#! tid=1020108408
threadkiller
Jad*

-----------------------------------------------------------------------------



Re^14: glasmurmeln (Nizzl, 29. Apr 2002, 22:09:23):
~#! rn=Jadawin rt=1020110948 rg=puiz
~#! tid=1020108408
geht eh noch mit weniger

-----------------------------------------------------------------------------



Re^15: glasmurmeln (Nizzl, 29. Apr 2002, 22:09:47):
~#! rn=Nizzl rt=1020110963 rg=puiz
~#! tid=1020108408
ich weiss nur noch nicht wie :)

-----------------------------------------------------------------------------



Re^16: glasmurmeln (Phobos, 29. Apr 2002, 22:10:09):
~#! rn=Nizzl rt=1020110987 rg=puiz
~#! tid=1020108408
ich sag dann stop ;)

phobos

-----------------------------------------------------------------------------



Re^17: glasmurmeln (Grimmborn, 29. Apr 2002, 22:11:18):
~#! rn=Phobos rt=1020111009 rg=puiz
~#! tid=1020108408
Wirf die Kugel aus jedem 15. Stock? Macht 6 Wuerfe, plus maximal nochmal 14.

GdA

-----------------------------------------------------------------------------



Re^17: glasmurmeln (Phobos, 29. Apr 2002, 22:11:19):
~#! rn=Phobos rt=1020111009 rg=puiz
~#! tid=1020108408
argh, stopp! 

phobos - neudeutschrechtsschreibend

-----------------------------------------------------------------------------



Re^16: glasmurmeln (Grosch, 29. Apr 2002, 22:11:26):
~#! rn=Nizzl rt=1020110987 rg=puiz
~#! tid=1020108408
der ansatz ist richtig du musst man muss jetzt nur noch das minimum finden und
bei den kleinen zahlen geht das ja auch durch probieren. z.b. von jedem
zehnten stock werfen -> 10 +9
grosch

-----------------------------------------------------------------------------



Re^17: glasmurmeln (Nizzl, 29. Apr 2002, 22:11:50):
~#! rn=Grosch rt=1020111086 rg=puiz
~#! tid=1020108408
jo muss man halt versuchen
war eher als denkanstoss

-----------------------------------------------------------------------------



Re^12: glasmurmeln (Anacrion, 29. Apr 2002, 22:14:00):
~#! rn=Grimmborn rt=1020110735 rg=puiz
~#! tid=1020108408
Hmm. Wir zerteilen die Strecke in N Intervalle mit jeweils M Stockwerken im
Intervall (N*M=100). Kugel wird geworfen in Stock M, dann 2M, dann 3M ... usw.
bis (N-1)M .... wenn sie kaputtgeht. dann nochmal die andere von (X-1)M+1 bis
XM-1 in einerschritten werfen (XM ist das stockwerk, in dem die erste
kaputtging). Die maximale Anzahl wuerfe ermittelt sich also als (N-1)+M-1 =
N+100/N-2 .... macht das problem zu einem einfachen: Minimiere N+100/N-2 mit N
teiler von 100

Gabs da nen Satz zu?

-----------------------------------------------------------------------------



Re^13: glasmurmeln (Grimmborn, 29. Apr 2002, 22:15:42):
~#! rn=Anacrion rt=1020111240 rg=puiz
~#! tid=1020108408
Noe. Wer behauptet denn dass M ein Teiler von 100 sein muss? Nimm mein
huebsches Beispiel mit der 15.

GdA

-----------------------------------------------------------------------------



Re^14: glasmurmeln (Anacrion, 29. Apr 2002, 22:17:06):
~#! rn=Grimmborn rt=1020111342 rg=puiz
~#! tid=1020108408
Okay. Ist nicht zwingend erforderlich .... aber es spart zumindest einen Wurf
der ersten Serie ... also mit N=10 komme ich auf die besten ergebnisse. (18
wuerfe)

-----------------------------------------------------------------------------



Re^15: glasmurmeln (Anacrion, 29. Apr 2002, 22:19:04):
~#! rn=Anacrion rt=1020111426 rg=puiz
~#! tid=1020108408
Ich mache ungern ein Selbstreply, aber 10 ist auch die Loesung der Ableitung
und Nullsetzung von N+100/N-2 ...

Anac*

-----------------------------------------------------------------------------



Re^14: glasmurmeln (Grosch, 29. Apr 2002, 22:19:28):
~#! rn=Grimmborn rt=1020111342 rg=puiz
~#! tid=1020108408
bei einer schrittweite von 11 kommt reichen 8+10 versuche dies ist bei
linearen schrittweiten das kleinste. wenn man jetzt aber degresive schritte
benutzt kann man noch etwas darunter kommen
grosch

-----------------------------------------------------------------------------



Re^5: glasmurmeln (Liafar, 29. Apr 2002, 22:20:12):
~#! rn=Grimmborn rt=1020109426 rg=puiz
~#! tid=1020108408
ich denk mal man faengt an im 14. Stock und wirft die glasmurmel hinunter...
sollte die zerbrechen hat man insgesamt 14 versuche gebraucht wenn man nun mit
der letzten verbleibenden murmel vom ersten immer eins nach oben geht. Sollte
sie jedoch nicht zerbrechen geht man 13 Stockwerke nach oben (natuerlich
nachdem man die murmel geholt hat) und probiert es hier wiederum... wenn sie
zerbricht braucht man insgesamt wieder 14 versuche... (15 16 17 ...)...
andernfalls diesmal 12 das naechste mal 11 usw... man sollte eigentlich immer
14 versuche brauchen... 

Liafar

-----------------------------------------------------------------------------



Re^6: glasmurmeln (Nizzl, 29. Apr 2002, 22:22:58):
~#! rn=Liafar rt=1020111612 rg=puiz
~#! tid=1020108408
hier stand nix :)

-----------------------------------------------------------------------------



Re^6: glasmurmeln (Phobos, 29. Apr 2002, 22:23:16):
~#! rn=Liafar rt=1020111612 rg=puiz
~#! tid=1020108408
genau das ist die beste mir bekannte methode:

1+2+3+...+13 = 91,  1+2+...+14 = 105, d.h. mit 14 versuchen
kommt man aus.

phobos

-----------------------------------------------------------------------------



Re^7: glasmurmeln (Rumata, 30. Apr 2002, 09:07:47):
~#! rn=Phobos rt=1020111796 rg=puiz
~#! tid=1020108408
Ich moechte aber darauf hinweisen, dass das das ergeschoss in Hilberts
Turm die Nummer -unendlich hat. Alle bisher angegebenen Verfahren gehen
davon auss, dass Stockwerk 100 eine endliche anzahl von Stockwerken
ueber dem Boden ist :-)
Rum** (hat Hilbert beim Turmbau geholfen :-)

-----------------------------------------------------------------------------



Re^8: glasmurmeln (Elberet, 30. Apr 2002, 12:44:08):
~#! rn=Rumata rt=1020150467 rg=puiz
~#! tid=1020108408
hmm, aber nen beweis, ob das die optimale methode ist, ist das noch lange
nicht, oder seh ich das falsch?

Elbi (ich weiss die antwort nicht)

-----------------------------------------------------------------------------



Mal ein ganz einfaches Quiz :) (Cicero,  8. Mai 2002, 12:33:57):
1) Wie lange dauerte der Hunderjaehrige Krieg?;
2) In welchem Land werden Panamahuete hergestellt?;
3) Welches Tier ist der Lieferant von Katzendarm (Catgut, Geigensaiten
&;chirurgisches Nahtmaterial)?;
4) In welchem Monat feiert Russland die Oktoberrevolution?;
5) Woraus bestehen die Borsten eines Kamelhaarpinsels?;
6) Nach welchem Tier wurden die Kanarischen Inseln benannt?;
7) Was war der Rufname von Koenig George VI?;
8) Welche Farbe hat ein Purpurgimpel?;
9) Welches Land ist Hauptlieferant von Chinesischen Stachelbeeren?;
10) In welchem Monat beginnt das Muenchner Oktoberfest?

Viel Spass :)
Cicero aka ShadoW

-----------------------------------------------------------------------------



Re: Mal ein ganz einfaches Quiz :) (Nonne,  8. Mai 2002, 13:49:24):
~#! rn=Cicero rt=1020854037 rg=puiz
~#! tid=1020854037
Das Oktoberfest beginnt meist im September, jetzt suche ich noch die Haken bei
den anderen Fragen (c;

Nonne.

-----------------------------------------------------------------------------



Re: Re: Mal ein ganz einfaches Quiz :) (Humni,  8. Mai 2002, 13:59:50):
~#! rn=Nonne rt=1020858564 rg=puiz
~#! tid=1020854037
Ich denke, dass die Kanarischen Inseln nicht nach dem Kanarienvogel benannt
wurden, sondern andersrum. 

Humni

-----------------------------------------------------------------------------



Re: Re: Mal ein ganz einfaches Quiz :) (Anthea,  8. Mai 2002, 13:59:52):
~#! rn=Nonne rt=1020858564 rg=puiz
~#! tid=1020854037
Ganz einfach:
Jede Antwort ist nicht das, was in der Frage impliziert ist.

-----------------------------------------------------------------------------



Re^3: Mal ein ganz einfaches Quiz :) (Anthea,  8. Mai 2002, 14:00:18):
~#! rn=Humni rt=1020859190 rg=puiz
~#! tid=1020854037
ne, sie wurden nach Hunden benannt. Sozusagen die Hunde-Inseln.

-----------------------------------------------------------------------------



Re^3: Mal ein ganz einfaches Quiz :) (Boing,  8. Mai 2002, 14:00:19):
~#! rn=Anthea rt=1020859192 rg=puiz
~#! tid=1020854037
1: 1337 - 1453, also 116 Jahre
2: Ecuador
3: Bergschaf
4: November
6: Hund (Canis)
7: Bertie
9: Neuseeland

  Boing

-----------------------------------------------------------------------------



Re^4: Mal ein ganz einfaches Quiz :) (Nonne,  8. Mai 2002, 14:03:27):
~#! rn=Boing rt=1020859219 rg=puiz
~#! tid=1020854037
Hab mal gegoogelt. Kamelhaarpinsel scheine aber wirklich aus Kamelhaar zu
sein.

Nonne.

-----------------------------------------------------------------------------



Re^5: Mal ein ganz einfaches Quiz :) (Cicero,  8. Mai 2002, 14:05:57):
~#! rn=Nonne rt=1020859407 rg=puiz
~#! tid=1020854037
Okay... Das mit dem Kamelhharpinsel ist doof... In Deutschland werden die
wirklich aus Kamelhaar hergestellt... in den U.S. nicht :)

Cicero aka ShadoW

-----------------------------------------------------------------------------



Re^6: Mal ein ganz einfaches Quiz :) (Ahab,  8. Mai 2002, 14:11:45):
~#! rn=Cicero rt=1020859557 rg=puiz
~#! tid=1020854037
Die Frage war doch eigentlich, woraus die Borsten _bestehen_, und die Antwort
'Kamelhaar' ist IMHO nur in erster Naeherung richtig. Chemisch gesehen koennte
man das sicher noch um einiges detaillierter diskutieren.
Haare sind z.b. idR ein hornartiges Material...

Ahoi,
Ahab, DM 0.02 werfend.

-----------------------------------------------------------------------------



Re^7: Mal ein ganz einfaches Quiz :) (Elberet,  8. Mai 2002, 14:16:53):
~#! rn=Ahab rt=1020859905 rg=puiz
~#! tid=1020854037
noe die Oktoberrevolution war im Oktober, nur nen anderer kalender halt

Elbi

-----------------------------------------------------------------------------



Re^8: Mal ein ganz einfaches Quiz :) (Cicero,  8. Mai 2002, 14:17:55):
~#! rn=Elberet rt=1020860213 rg=puiz
~#! tid=1020854037
Die Oktoberrevultion fand zwar im Oktober statt, aber gefeiert wird sie im
November :)
Frage lesen

-----------------------------------------------------------------------------



Re^9: Mal ein ganz einfaches Quiz :) (Elberet,  8. Mai 2002, 14:19:29):
~#! rn=Cicero rt=1020860275 rg=puiz
~#! tid=1020854037
war nicht was mit umstellung von julianischem kalender der orthodoxen Kirche
auf den westlichen gregorianischen kallender? 

Elbi

-----------------------------------------------------------------------------



Re^9: Mal ein ganz einfaches Quiz :) (Catweazle,  8. Mai 2002, 14:19:45):
~#! rn=Cicero rt=1020860275 rg=puiz
~#! tid=1020854037
Hm, und die chinesische Stachelbeere heisst gemeinhin Kiwi. Damit waers
Neuseeland. Hammwer jetzt alles beisammen?

YTC

-----------------------------------------------------------------------------



Re^10: Mal ein ganz einfaches Quiz :) (Cicero,  8. Mai 2002, 14:20:19):
~#! rn=Catweazle rt=1020860385 rg=puiz
~#! tid=1020854037
Ne soweit ichs sehe habt ihr das mi'm Purpurgimpel noch nicht :)

-----------------------------------------------------------------------------



Re^11: Mal ein ganz einfaches Quiz :) (Nonne,  8. Mai 2002, 14:20:39):
~#! rn=Cicero rt=1020860419 rg=puiz
~#! tid=1020854037
Ist der nicht rot?

Nonne.

-----------------------------------------------------------------------------



Re^10: Mal ein ganz einfaches Quiz :) (Grimmborn,  8. Mai 2002, 14:20:45):
~#! rn=Elberet rt=1020860369 rg=puiz
~#! tid=1020854037
Unwahrscheinlich, iirc haben die Orthodoxen immer noch den julianischen
Kalender. Daher haben die ja neulihc erst Ostern gefeiert.

GdA

-----------------------------------------------------------------------------



Re^11: Mal ein ganz einfaches Quiz :) (Elberet,  8. Mai 2002, 14:21:52):
~#! rn=Grimmborn rt=1020860445 rg=puiz
~#! tid=1020854037
jo aber wenn wir sagen, dass die oktoberrevolution haben haben wir november

Elbi (Egozentrischesweltbildwerfend)

-----------------------------------------------------------------------------



Re^11: Mal ein ganz einfaches Quiz :) (Catweazle,  8. Mai 2002, 14:22:18):
~#! rn=Grimmborn rt=1020860445 rg=puiz
~#! tid=1020854037
Ach und Neuseeland hatten wir schon, hab ich uebersehen. Und woraus bestehen
nu amerikanische Kamelhaare?

YTC

-----------------------------------------------------------------------------



Re^11: Mal ein ganz einfaches Quiz :) (Cicero,  8. Mai 2002, 14:22:30):
~#! rn=Grimmborn rt=1020860445 rg=puiz
~#! tid=1020854037
Stimmt :)
Offiziell sogar karmesinrot... Aber das sind so Farben die bloss in
Frauenaugen existieren, so wie Eierschalengelb usw *g*

-----------------------------------------------------------------------------



Re^12: Mal ein ganz einfaches Quiz :) (Grimmborn,  8. Mai 2002, 14:22:32):
~#! rn=Catweazle rt=1020860538 rg=puiz
~#! tid=1020854037
Keratin, im wesentlichen.

GdA

-----------------------------------------------------------------------------



Re^13: Mal ein ganz einfaches Quiz :) (Isi,  8. Mai 2002, 14:23:12):
~#! rn=Grimmborn rt=1020860552 rg=puiz
~#! tid=1020854037
nur weil ihr gruen immer fuer blau haltet.
isi (mousswerfend)

-----------------------------------------------------------------------------



Re^12: Mal ein ganz einfaches Quiz :) (Ahab,  8. Mai 2002, 14:23:20):
~#! rn=Cicero rt=1020860550 rg=puiz
~#! tid=1020854037
hamwers dann jetzt? gut. :)

Ahoi,
Ahab.

-----------------------------------------------------------------------------



Re^12: Mal ein ganz einfaches Quiz :) (Cicero,  8. Mai 2002, 14:23:46):
~#! rn=Cicero rt=1020860550 rg=puiz
~#! tid=1020854037
Amerikanische Kamelhaarpinsel bestehen angeblich aus Squirrel (Eichhoernchen)
Hab's selber net glauben koennen aber scheint zu stimmen
zumindest find ich nix gegenteiliges im google

-----------------------------------------------------------------------------



Re^13: Mal ein ganz einfaches Quiz :) (Ahab,  8. Mai 2002, 14:24:58):
~#! rn=Cicero rt=1020860626 rg=puiz
~#! tid=1020854037
wobei google nu auch nicht der weisheit letzter schluss ist...

Ahoi.
Ahab.

-----------------------------------------------------------------------------



Re^14: Mal ein ganz einfaches Quiz :) (Cicero,  8. Mai 2002, 14:25:24):
~#! rn=Ahab rt=1020860698 rg=puiz
~#! tid=1020854037
Hab leider kein amerikanisches Lexikon bei mir rumliegen :)

-----------------------------------------------------------------------------



Polly will einen Keks (Phobos, 18. Mai 2002, 11:35:29):
Ich habe mir letzte Woche einen komischen Papagei gekauft. Leider
wiederholt der bloede Vogel keinen der Saetze, die ich zu ihm sage.
Entweder er antwortet etwas voellig anderes, oder er antwortet
ueberhaupt nicht. Folgendes habe ich herausgefunden:

1. Wenn ich einen Satz sage, in dem das erste und das letzte Wort
   "Polly" ist, dann antwortet Polly mit dem gleichen Satz, laesst
   aber das erste und letzte Wort weg.
   (z.B. "Polly will einen Keks Polly"  ->  "Will einen Keks")

2. Wenn ich vor einen Satz, auf den Polly bereits geantwortet hat,
   das Wort "sag" setze, dann setzt Polly vor seine urspruengliche
   Antwort das Wort "Polly".
   (z.B. "Sag Polly will einen Keks Polly"  ->  "Polly will einen
   Keks", wegen 1.)

3. Wenn ich vor einen Satz, auf den Polly bereits geantwortet hat,
   das Wort "wiederhole" setze, dann wiederholt Polly seine
   urspruengliche Antwort.
   (z.B. "Wiederhole Polly will einen Keks Polly"  ->  "will einen
   Keks will einen Keks", wegen 1.)

4. Wenn ich vor einen Satz, auf den Polly bereits geantwortet hat,
   das Wort "rueckwaerts" setze, dann gibt Polly seine
   urspruengliche Antwort rueckwaerts wieder.
   (z.B. "Rueckwaerts Polly will einen Keks Polly"  ->  "Keks einen
   will", wegen 1.)

5. Polly antwortet nur auf Saetze, die den Regeln 1.-4. gehorchen.



Welchen Satz muss ich sagen, damit Polly mit demselben Satz 
antwortet? 


Runyn

-----------------------------------------------------------------------------



Apotheker (Gnome, 19. Mai 2002, 11:19:51):
ein apotheker behauptet, mit nur vier massestuecken und seiner
apothekerwaage alle ganzzahligen massen zwischen 1g und 40g wiegen
zu koennen.
wie macht er das?

gnOme

-----------------------------------------------------------------------------



Re: Apotheker (Cuchullin, 19. Mai 2002, 23:48:10):
~#! rn=Gnome rt=1021799991 rg=puiz
~#! tid=1021799991
Hatten wir schon. 1, 3, 9, 27.

-----------------------------------------------------------------------------



Re: Polly will einen Keks (Grimmborn, 20. Mai 2002, 19:41:35):
~#! rn=Phobos rt=1021714529 rg=puiz
~#! tid=1021714529
Da bin ich bei Gelegenheit auf die Antwort gespannt. Persoenlich bin ich ja
der Meinung dass so, wie Du den Piepmatz praesentierst, es keine Loesung gibt.
Aber ich war mit solchen Aufgaben nie sonderlich gut (fuer sowas hab ich eine
Schwester), also wer weiss...

GdA

-----------------------------------------------------------------------------



Re: Re: Polly will einen Keks (Phobos, 21. Mai 2002, 18:30:25):
~#! rn=Grimmborn rt=1021916495 rg=puiz
~#! tid=1021714529
Hmm, zu schwierig? Dann sollte ich vielleicht mal ne Mini-Quest
draus machen :)

Phobos

-----------------------------------------------------------------------------



Vervollstaendige die Reihe (nur fuer Magier) (Morgoth,  1. Jun 2002, 20:22:28):
Da es kein Magier.puiz gibt, also hier:
33, 41, 48, 55

M* :)

-----------------------------------------------------------------------------



Re: Vervollstaendige die Reihe (nur fuer Magier) (Elberet,  1. Jun 2002, 20:36:31):
~#! rn=Morgoth rt=1022955748 rg=puiz
~#! tid=1022955748
die richtige loesung lautet 33,41,48,55,0
auch wenn ich kein Magier bin :)

Elbi

-----------------------------------------------------------------------------



Re: Re: Vervollstaendige die Reihe (nur fuer Magier) (Mandragon,  1. Jun 2002, 20:44:44):
~#! rn=Elberet rt=1022956591 rg=puiz
~#! tid=1022955748
Also wenn ich als loesungsfunktion (1/6)x^3-1.5x^2+(34/3)x+23 annehme, kommt
fuer x=1..4 deine zahlen raus, fuer x=5 63 .... biete also 63 .... :o)

-----------------------------------------------------------------------------



Re^3: Vervollstaendige die Reihe (nur fuer Magier) (Elberet,  1. Jun 2002, 20:46:20):
~#! rn=Mandragon rt=1022957084 rg=puiz
~#! tid=1022955748
folge bernhardiner
w
w
sw
w
sw
sw
nw
w
w
w
nw
nw
no
nimm f(x)=-21/8*x^47/12*x^3-747/8*x^2+1711/12*x-40, dann kommt 0 raus
haben wir jetzt beide recht? oder nur Mandragon, der ist ja Magier 

Elbi *gg

-----------------------------------------------------------------------------



Re^4: Vervollstaendige die Reihe (nur fuer Magier) (Elberet,  1. Jun 2002, 20:46:56):
~#! rn=Elberet rt=1022957180 rg=puiz
~#! tid=1022955748
naja als mag kann er wenistens posten :)

Elbi

-----------------------------------------------------------------------------



Re^5: Vervollstaendige die Reihe (nur fuer Magier) (Imda,  1. Jun 2002, 21:03:32):
~#! rn=Elberet rt=1022957216 rg=puiz
~#! tid=1022955748
ich will aber dass die reihe mit 42 weitergeht. kann das ma kurz wer
ausrechen, oder muss ich das selber ?

-----------------------------------------------------------------------------



Re^5: Vervollstaendige die Reihe (nur fuer Magier) (Elberet,  1. Jun 2002, 21:03:42):
~#! rn=Bambi rt=1022958044 rg=puiz
~#! tid=1022955748
offensichtlich nix gutes, so waers richtig gewesen :((

-21/8*x^4+317/12*x^3-747/8*x^2+1711/12*x-40

so jetzt hoffentlich richtig
das hat mich nen tod gekostet *grummel

Elbi

-----------------------------------------------------------------------------



Re^6: Vervollstaendige die Reihe (nur fuer Magier) (Vector,  2. Jun 2002, 02:16:58):
~#! rn=Elberet rt=1022958222 rg=puiz
~#! tid=1022955748
Also ich tippe ja, dass das die Punkte sind aus der Topkill-
Liste. Weiter oben kommen dann die Punkte von Boing, Paracelsus,
Rochus und Morgoth.
Stimmts oder hab ich recht? :)

-----------------------------------------------------------------------------



Re^7: Vervollstaendige die Reihe (nur fuer Magier) (Humni,  2. Jun 2002, 11:39:06):
~#! rn=Vector rt=1022977018 rg=puiz
~#! tid=1022955748
Nein, weder Topkill- noch Topscores-Liste passen dazu.

Humni

-----------------------------------------------------------------------------



Runder Tisch (Bendeigid,  2. Jun 2002, 19:53:52):
Folgendes (vermutlich triviales :) Problem:

5 Paerchen sollen an einem runden Tisch derart verteilt werden, dass die
jeweils zusammengehoerenden Partner NICHT nebeneinander sitzen. Die Stuehle
sind nummeriert, also unterschiedlich.
Auf wie viele Arten geht das?

Bendeigid

-----------------------------------------------------------------------------



Re: Runder Tisch (Phobos,  2. Jun 2002, 21:15:09):
~#! rn=Bendeigid rt=1023040432 rg=puiz
~#! tid=1023040432
Sieht nach der 5. Menage-Zahl aus

Phobos

-----------------------------------------------------------------------------



Re: Re: Runder Tisch (Isi,  4. Jun 2002, 20:10:43):
~#! rn=Phobos rt=1023045309 rg=puiz
~#! tid=1023040432
Also unter der vorausetzung das ich keinen knoten im hirn hab:
10 plaetze also auf platz 1 10 personen. platz zwei: 8 personen (der partner
von
dem ersten darf nicht. platz 3 7 personen (2 sitzen, der partner von dem auf 2
darf nicht. weiter runter *6 *5 *4 *3 *2 . so jetzt gibts noch zwei plaetze.
variante A - der partner von nr 1 sitzt schon - also 2 moeglichkeiten oder
ersutz
noich nicght - eine moeglichkeit- also +3 moeglichkeiten.
macht summa summarum 403203
so und nu erklaer mir bitet eine wo ich mich verrecchnet hab ;)
isi (moussewerfend)

-----------------------------------------------------------------------------



Re^3: Runder Tisch (Grimmborn,  4. Jun 2002, 20:12:19):
~#! rn=Isi rt=1023214243 rg=puiz
~#! tid=1023040432
Die Plaetze sind nummeriert.

GdA

-----------------------------------------------------------------------------



Re^4: Runder Tisch (Orktoeter,  4. Jun 2002, 20:19:49):
~#! rn=Grimmborn rt=1023214339 rg=puiz
~#! tid=1023040432
Ausserdem hat der dritte wieder die Auswahl aus 8 freien Plaetzen, da er keine
Ruecksicht nehmen muss.

OrkT.

-----------------------------------------------------------------------------



Re^5: Runder Tisch (Isi,  4. Jun 2002, 20:22:30):
~#! rn=Orktoeter rt=1023214789 rg=puiz
~#! tid=1023040432
das wuerde bedeuten mal 10. ich bin mir ziemlich sciher dass ihr dann 
doubletten bekommt. die rotation ist in der 1. 10 schon drin
(man beweise mir das gegenteil) und OT entweder 10*7*8*5*6 etc wenn 
Du personen rechnest oer 10 *8*7*6 etc wenn Du plaetze rechnest
(wie ich oben begruedet hab...)
isi (moussewerfend)

-----------------------------------------------------------------------------



Re^6: Runder Tisch (Phobos,  4. Jun 2002, 21:01:47):
~#! rn=Isi rt=1023214950 rg=puiz
~#! tid=1023040432
Ok, ich biete mal brutal forcierte 1125120.

Falls Damen und Herren immer abwechselnd sitzen, hat man das
Menage-Problem; dann ist die Loesung M_5 = 3120

Phobos

-----------------------------------------------------------------------------



Re^7: Runder Tisch (Elberet,  4. Jun 2002, 21:02:41):
~#! rn=Phobos rt=1023217307 rg=puiz
~#! tid=1023040432
erklaer mal was ne menage zahl ist
Elbi

-----------------------------------------------------------------------------



Re^8: Runder Tisch (Phobos,  4. Jun 2002, 21:03:59):
~#! rn=Elberet rt=1023217361 rg=puiz
~#! tid=1023040432
Menage (franz.) = Ehepaar

Das ist ein bekanntes Problem aus der Kombinatorik.

Phobos

-----------------------------------------------------------------------------



Re^7: Runder Tisch (Elberet,  4. Jun 2002, 21:06:56):
~#! rn=Phobos rt=1023217307 rg=puiz
~#! tid=1023040432
ist mehr als eine Milionen nicht was viel? die ganze S_10 hat doch nur knapp 3
mal soviele elemente

Elbi

-----------------------------------------------------------------------------



Re^8: Runder Tisch (Phobos,  4. Jun 2002, 21:38:28):
~#! rn=Elberet rt=1023217616 rg=puiz
~#! tid=1023040432
ok, um das Thema totzutreten:
2: 8
3: 192
4: 11904
5: 1125120
6: 153262080

www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=003435

Phobos

-----------------------------------------------------------------------------



Re^8: Runder Tisch (Elberet,  4. Jun 2002, 21:38:30):
~#! rn=Elberet rt=1023217616 rg=puiz
~#! tid=1023040432
also ich muss mich schonmal auf 293*5!82^5 korrigieren, aber phobos schreibt
auch noch was :)

-----------------------------------------------------------------------------



Re^9: Runder Tisch (Grimmborn,  4. Jun 2002, 21:47:11):
~#! rn=Elberet rt=1023219510 rg=puiz
~#! tid=1023040432
 On-Line Encyclopedia of Integer Sequences - wattetnitalljitt...

GdA

-----------------------------------------------------------------------------



Re^10: Runder Tisch (Elberet,  4. Jun 2002, 22:09:00):
~#! rn=Grimmborn rt=1023220031 rg=puiz
~#! tid=1023040432
oh die seite ist ziemlich geil :)

Elbi

-----------------------------------------------------------------------------



Mittelgrosses Zahlenproblem (Vincent, 13. Jun 2002, 23:23:48):
Hier ein kleines Zahlenproblem, das zwar nicht ganz neu ist, aber von dem
ich ausgehe, dass es noch Leute gibt, die es nicht kennen. ;-)

Male zehn Kaestchen nebeneinander auf ein Blatt Papier. In die zehn Kaestchen
soll nun eine zehnstellige Zahl geschrieben werden, so dass jede Ziffer der
Zahl in einem Kaestchen steht.
Hierbei soll die Ziffer im ersten Kaestchen die Anzahl der Einsen in dieser
Zahl angeben, die Ziffer im zweiten Kaestchen die Anzahl der Zweien in
der Zahl,....die Ziffer im zehnten Kaestchen die Anzahl der Nullen in der
Zahl.

Viel Spass beim Knobeln! :)

Gruss
Vincent

P.S.: Loesungen bitte vorerst nicht in der MPA veroeffentlichen, damit den
interessierten Puiz-Knoblern nicht gleich der Spass genommen wird.

-----------------------------------------------------------------------------



Re: Re: Mittelgrosses Zahlenproblem (Croft, 13. Jun 2002, 23:33:04):
~#! rn=Grimmborn rt=1024003938 rg=puiz
~#! tid=1024003428
Nix.  1. ist das nicht richtig und 2. sollst du doch in der MPA keine Loesung
posten ;-)

-----------------------------------------------------------------------------



Re: Mittelgrosses Zahlenproblem (Vincent, 14. Jun 2002, 00:04:00):
~#! rn=Vincent rt=1024003428 rg=puiz
~#! tid=1024003428
Mandragon hat mir soeben die korrekte Loesung als erster mitgeteilt - und
er kannte das Retsel noch nicht vorher. Gartulation! :)

Gruss
Vincent

-----------------------------------------------------------------------------



Schnittpunkt gesucht (Zarniya,  2. Jul 2002, 12:43:35):

Hi, 

eigentlich ist das Problem einfach, wenn man es nur aufzeichnet, aber ich
suche eine rechnerische Loesung... 

Wenn man die Funktionsgraphen von x^2 und e^x aufzeichnet, dann haben die ja
einen Schnittpunkt... demnach muss es auch eine Loesung geben, wenn ich die
beiden Funtkionen gleichsetze... Wie formt man das um, damit man nachher als
Ergebnis x=irgendwas hat?

Marc

P.S.: Loesungen koennen auch per Email an mich geschickt werden.

-----------------------------------------------------------------------------



Re: Schnittpunkt gesucht (Imda,  2. Jul 2002, 13:19:48):
~#! rn=Zarniya rt=1025606615 rg=puiz
~#! tid=1025606615
Pappa Bronstein meint, das ging nur naeherungsweise. Schomal Maple gefragt ?

-----------------------------------------------------------------------------



Re: Re: Schnittpunkt gesucht (Elberet,  2. Jul 2002, 13:34:05):
~#! rn=Imda rt=1025608788 rg=puiz
~#! tid=1025606615
was meinst du mit x=...
also sag x=loes(x) wobei x die loesungsfunktion ist, bist du damit zufrieden?
Oder erwartest du eine Entwicklung der Loesungsfunktion oder was?

Elbi

-----------------------------------------------------------------------------



Re^3: Schnittpunkt gesucht (Mandragon,  2. Jul 2002, 13:35:55):
~#! rn=Elberet rt=1025609645 rg=puiz
~#! tid=1025606615
Er moechte 2ln(x)=x so aufgeloest haben, dass x=zahl da steht, nehme ich an
;-)

Ma*

-----------------------------------------------------------------------------



Re^4: Schnittpunkt gesucht (Humni,  2. Jul 2002, 13:37:39):
~#! rn=Mandragon rt=1025609755 rg=puiz
~#! tid=1025606615
Nun ja. Dann ist das simpel. Das ist x=Sharenug, wobei Sharenug die Zahl ist,
fuer die 2ln(Sharenug)=Sharenug gilt. Wurzel 2 ist ja auch nix anderes als die
Zahl, fuer die (Wurzel 2)^2=2 gilt.

Ach ja, natuerlich jeweils mit Sharenug, (Wurzel 2)>0 ;-)

Humni

-----------------------------------------------------------------------------



Re^5: Schnittpunkt gesucht (Elberet,  2. Jul 2002, 13:40:05):
~#! rn=Humni rt=1025609859 rg=puiz
~#! tid=1025606615
genau so meint ich das, ich hab das nur nciht sharenug genannt ;)
Maple sagt uebrigens, dass die Loesung -2 LambertW(-1/2), -2 LambertW(1/2)
sei. Und jetzt frag mich bitte nicht, was die LermbertW-Funktion ist ;)

Elbi

-----------------------------------------------------------------------------



Re^5: Schnittpunkt gesucht (Mandragon,  2. Jul 2002, 13:41:03):
~#! rn=Humni rt=1025609859 rg=puiz
~#! tid=1025606615
Gibt bestimmt nen trick, wie man ln(x) und x zusammenfassen kann in
kaputtefunktion(x) .... womit dann x=inv(kaputtefunktion)(konstante) waere

ma*

-----------------------------------------------------------------------------



Re^6: Schnittpunkt gesucht (Humni,  2. Jul 2002, 13:41:09):
~#! rn=Elberet rt=1025610005 rg=puiz
~#! tid=1025606615
Vermutlich gilt Sharenug = -2 LamberW(-1/2) oder Sharenug=-2 LambertW(1/2).
Ist doch klar ;-)

Humni

-----------------------------------------------------------------------------



Re^7: Schnittpunkt gesucht (Boing,  2. Jul 2002, 13:42:30):
~#! rn=Humni rt=1025610069 rg=puiz
~#! tid=1025606615
Du hattest mal Vorlesung bei Schoenwaelder, oder? Das ist ganz klar
seine Handschrift ...
  Boing

-----------------------------------------------------------------------------



Re^7: Schnittpunkt gesucht (Mandragon,  2. Jul 2002, 13:42:32):
~#! rn=Humni rt=1025610069 rg=puiz
~#! tid=1025606615
Ich definiere:

 kaputtefunktion(x)=-2Lambertw(+-x)

Ma* :o)

-----------------------------------------------------------------------------



Re^8: Schnittpunkt gesucht (Elberet,  2. Jul 2002, 13:43:54):
~#! rn=Boing rt=1025610150 rg=puiz
~#! tid=1025606615
das schlimme ist, du hast recht, das ist seine Handschrift :-)

Elbi

-----------------------------------------------------------------------------



Re^9: Schnittpunkt gesucht (Mandragon,  2. Jul 2002, 13:44:43):
~#! rn=Elberet rt=1025610234 rg=puiz
~#! tid=1025606615
Also ich hab mal geguckt ...


lambertw(x) ist das w fuer das gilt: we^w=x :o)

-----------------------------------------------------------------------------



Re^10: Schnittpunkt gesucht (Elberet,  2. Jul 2002, 13:45:15):
~#! rn=Mandragon rt=1025610283 rg=puiz
~#! tid=1025606615
hihi, aber wahrscheinlich ist da jemand jetzt gluecklich mit ;)

Elbi

-----------------------------------------------------------------------------



Re^11: Schnittpunkt gesucht (Humni,  2. Jul 2002, 13:48:48):
~#! rn=Elberet rt=1025610315 rg=puiz
~#! tid=1025606615
Nein, das ist nicht Schoenwaelder's Handschrift. Bei Schoenwaelder sehe das so
aus:

(Klammerkommentare sind natuerlich nicht in seiner, sondern meiner
handschrift)

Es sei (Nicht etwa sei, man darf das x ja nicht anschreien und ihm Befehle
geben!) IR der Koerper der reelen Zahlen. Dann definiere ich (weil das jemand
anders ja anders machen kann!) die Funktion LambertW wie folgt:

LambertW : IR -> IR, (x|->y), wobei fuer y gilt: ye^y=x.

Dann haben wir das Problem geloest, denn das haben wir ja gerade so gemacht!
Das freut uns.

(oder so aehnlich...)

Humni, Schoenwaelder-geschaedigt seit dem 1. Semester

-----------------------------------------------------------------------------



Re^12: Schnittpunkt gesucht (Zarniya,  3. Jul 2002, 08:28:46):
~#! rn=Humni rt=1025610528 rg=puiz
~#! tid=1025606615
hmmm das mag ja alles sein, aber der Zusammenhang ist bei mir ein wenig
anders. Diese Aufgabe, den Schnittpunkt zu finden, also wirklich die
Koordinaten des Punktes S(x|y) hat mal einer Lehrer einem Klasse 11 Grundkurs
Mathe gegeben... und die wissen nur (a) Funktionen gleichsetzen und (b) nach x
aufloesen. Ich bin auch kein Mathematiker, sondern geb so armen Schuelern
Nachhilfe... Also haette mich interessiert, wie man sowas mit Schulwissen
loesen kann, wenn ueberhaupt. Das man das naehern muss, das hab ich mir auch
schon gedacht.... 

Marc 

-----------------------------------------------------------------------------



Re^13: Schnittpunkt gesucht (Imda,  3. Jul 2002, 10:18:54):
~#! rn=Zarniya rt=1025677726 rg=puiz
~#! tid=1025606615
Nuja, naehern kann man das ja wohl in der 11. Klasse, oder ? Seis durch
iterieren, aber ich meint, die koennen auch Newton...

-----------------------------------------------------------------------------



Re^14: Schnittpunkt gesucht (Elberet,  3. Jul 2002, 11:30:33):
~#! rn=Imda rt=1025684334 rg=puiz
~#! tid=1025606615
wenn das fuer Schule in der 11. Klasse war, dann hmm, ist entweder mit dem
Newton-Verfahren zu loesen oder es war ne andere Funktion gemeint ;) Zweiteres
ist glaub ich aber wahrscheinlicher.

Elbi

-----------------------------------------------------------------------------



Re^15: Schnittpunkt gesucht (Householder,  3. Jul 2002, 21:43:03):
~#! rn=Elberet rt=1025688633 rg=puiz
~#! tid=1025606615
10. klasse sollte das mit intervallschachtelung koennen, 11. klasse mit newton
verfahren, wenn ich mich recht entsinne

-----------------------------------------------------------------------------



Re^16: Schnittpunkt gesucht (Grimmborn,  3. Jul 2002, 21:48:56):
~#! rn=Householder rt=1025725383 rg=puiz
~#! tid=1025606615
Ja, und in der 9. Klasse kann das der Taschenrechner...

GdA

-----------------------------------------------------------------------------



Re^17: Schnittpunkt gesucht (Elberet,  3. Jul 2002, 21:50:25):
~#! rn=Grimmborn rt=1025725736 rg=puiz
~#! tid=1025606615
und sinnlos ist das trotzdem :)

Elbi

-----------------------------------------------------------------------------



Re^18: Schnittpunkt gesucht (Grimmborn,  3. Jul 2002, 21:51:29):
~#! rn=Elberet rt=1025725825 rg=puiz
~#! tid=1025606615
Kommt auf die Definition von "sinnlos" an. Wenn der Lehrer verlangt dass man
das zum bestehen/fuer eine gute Note kann, ist das nicht sinnlos das zu
koennen.

GdA

-----------------------------------------------------------------------------



Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Nedime,  5. Jul 2002, 17:08:43):
Lehrer den Schuelern auch zeigen moechte, dass es Gleichungen gibt,
die algebraisch nicht einfach loesbar sind (was ja eher auf die Mehrheit
der Anwendungsprobleme zutrifft) und eben nicht alle Gleichungen nach
"Kochrezept" a la pq-Formel zu loesen sind?
Mal davon abgesehen, ist die Anwendung von Naeherungsverfahren, wie
etwa einfache Intervallschachtelungen durchaus etwas, worauf die
Bezeichnung sinnlos nicht zutrifft.
Nedime aergert sich ein wenig ueber den arroganten Ton in Bezug auf
Mathelehrer ;-)

-----------------------------------------------------------------------------



Re: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Elberet,  5. Jul 2002, 17:23:11):
~#! rn=Nedime rt=1025881723 rg=puiz
~#! tid=1025881723
moment, ich hab die Mathelehrer an sich nicht angegriffen. Nur wenn man ein x=
... sucht, was ist das dann deiner Meinung nach? Ein Naehrungsverfahren? Also
ich hab die Anfrage anders interpretiert. Wenn das so gemeint war, dann Asche
auf mein Haupt. 
Und was den Matheunterricht an sich betrifft verstehe ich einfach nicht, wieso
man heutzutage immer noch elendig lange Kurvendiskussionen durchkaut oder
dieses Schneiden von Ebenen mit Kugeln oder aehnliches. Ein wenig mehr
diskrete Mathematik waere irgendwie moderner haette dann auch vielleicht mal
wirklich was mit dem praktischen Leben zu tun und wuerde die Motivation der
Schueler steigern. Wieso zum Beispiel nicht mal moderne Kryptoverfahren im
Unterricht behandeln anstatt der 60. Kurvendiskussion? 

Oder ein bischen Optimierungstheorie oder aehnliches. Koennte man alles
machen. 

Elbi

-----------------------------------------------------------------------------



Kurvendiskussion (Nedime,  5. Jul 2002, 19:28:11):
Da kann ich Dir nur zustimmen. Sinnlose und immer nach dem gleichen Schema
ablaufende Kurvendiskussionen von ganzrationalen oder sonstwelchen Funktionen
sind sicherlich einer der sinnloseren Taetigkeiten der Oberstufe. Leider sind
sie immer noch ein Bestandteil der Richtlinien. Allerdings geht die
Entwicklung
durchaus in die Richtung, modernere und auch anwendungsorientierte Probleme
zu behandeln. 
Die Schwierigkeit ist nur leider oft folgende: Gerade im GK Bereich sind eine
Reihe
von Schuelern zu finden, die so grosse Luecken aus der Mittelstufe haben,
dass sie sich kaum noch zutrauen, etwas anderes in Mathe zu machen als
Kochrezepte auswendig zu lernen und anzuwenden (und selbst das geht oft
schief).
Mit diesen ist es durchaus sehr schwierig, Anwendungsprobleme zu behandeln, da
das in den Bereich "Textaufgaben" faellt, die von vielen gefuerchtet und als
noch schwieriger angesehen werden.
Das fuehrt leider immer noch oft dazu, dass solche Aufgaben dann eher
vermieden
werden, zumal sie Zeit kosten und dann weniger Zeit bleibt, um Verfahren zu 
ueben die dann im Abi geprueft werden koennen. Letztendlich ist das natuerlich
Mist, da man durchaus auch im Abitur was anderes als den ueblichen Standard-
kurvendiskussionskram pruefen koennte und inzwischen auch darf (und soll). 
Ob das allerdings alle Kollegen machen werden bleibt zu bezweifeln und bei
den Schuelern stossen solche Dinge zunaechst mal auf groessere Widerstaende,
da sie ungewohnt und auf den ersten Blick auch schwieriger sind.
Vielleicht sogar auch auf den zweiten....

-----------------------------------------------------------------------------



Re: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Daria,  7. Jul 2002, 13:48:21):
~#! rn=Nedime rt=1025881723 rg=puiz
~#! tid=1025881723
Dann macht man so eine Aufgabe aber nicht als Hausaufgabe, sondern in der
Stunde, damit man die Schuelerreaktionen entsprechend begleiten kann und die
nicht zuu Hause in Panik ausbrechen.

Daria studiert auch Mathe Lehramt.

-----------------------------------------------------------------------------



Re: Re: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Grimmborn,  7. Jul 2002, 20:07:00):
~#! rn=Daria rt=1026042501 rg=puiz
~#! tid=1025881723
Aha, und wie kommst Du zu der abenteuerlichen Annahme, dass Nachhilfeschueler
ihren Nachhilfelehrern unbedingt immer reinen Wein einschenken? "Das haben wir
im Unterricht nicht gemacht" hoert sich halt viel besser an als "ich bin zu
daemlich das zu kapieren".

GdA

-----------------------------------------------------------------------------



Re^3: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Elberet,  8. Jul 2002, 10:23:18):
~#! rn=Grimmborn rt=1026065220 rg=puiz
~#! tid=1025881723
Aber den Schulstoff danach auszusuchen, dass die Schueler sich in der
Mittelstufe zu grosse Luecken angesammelt haben, um was anderes zu machen,
halte ich fuer ein komisches Konzept. Entweder in der Mittelstufe werden Dinge
von den Schuelern verlangt, die im Mittel zu schwer sind oder es krankt dann
an etwas anderem. Wenn ich an meine ganzen Nachhilfeschueler in Mtehe denke,
da konnte keiner eigentlich zufriedenstellend Bruchrechnung. Gleichungen
aufloesen war ein Buch mit sieben Siegeln usw. Aber deswegen zu sagen, wir
machen in der Oberstufe Kochrezepte anwenden weil alles andere zu schwer ist,
kann doch nicht das Ziel sein, oder? Ich mein in Deutsch werden doch auch
nicht nur Comics gelesen, weil andere Texte zu schwer oder wer weiss was sind.
In Franzoesisch wird doch auch nicht auf die Rechtschreibung verzichtet, nur
weil die halt was komplizierter ist. 

Irgendwas ist da wirklich arg faul.

Elbi

-----------------------------------------------------------------------------



Wer gerne... (Zook,  9. Jul 2002, 09:55:52):
googlehupft, kann sich die FAZ-Aufgabe vom Sonntag in Megaschmarrn,
Re^30853 ansehen. (derzeit Artikel 213)

Zook.

-----------------------------------------------------------------------------



Re^4: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Gnome, 10. Jul 2002, 14:26:47):
~#! rn=Elberet rt=1026116598 rg=puiz
~#! tid=1025881723
nunja. in vielen oberstufen krankt es nicht unbedingt am neuen stoff,
sondern eher am alten. jeder zwoelftklaessler kann y' von 2x bilden.
aber lass sie mal das x aus (x^2 + x) ausklammern. 50% failed, minimum.
es mangelt also ganz gewaltig am basiswissen, 7.-9. klasse.
fazit: das muss (oder sollte) in der oberstufe zusaetzlich zum neuen
stoff nachgeholt werden. und der neue stoff verkommt dann allmaehlich
zu kochrezepten: die guten langweilen sich, die schlechten kochen
immer noch falsch.

gnOme

-----------------------------------------------------------------------------



Re^5: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Elberet, 10. Jul 2002, 14:30:31):
~#! rn=Gnome rt=1026304007 rg=puiz
~#! tid=1025881723
das ist ja genau mein reden. Es krankt an den Grundfertigkeiten, die man in
der Unterstufe haette lernen muessen. Aber das dann in der Oberstufe zu
reparieren ist zu spaet. Man wird ja auch nicht in Englisch in der Oberstufe
noch mal die vokabeln aus der 5. Klasse wiederholen, weil alle Schueler die
vergessen haben. 

Elbi

-----------------------------------------------------------------------------



Re^6: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Gnome, 10. Jul 2002, 14:52:48):
~#! rn=Elberet rt=1026304231 rg=puiz
~#! tid=1025881723
doch. unser englischlehrer in der 12. hat mit uns den grundwortschatz
angefangen. wir guckten alle etwas unglaeubig, aber es war sein ernst.
und auch wenn wir natuerlich nichts davon gelernt haben, finde ich die
idee _jetzt_ im prinzip nicht schlecht, denn was nuetzt es, wenn du weisst,
wie das present perfect progressive gebildet wird und wann man es
anwendet, wenn man von den meisten verben nichtmal die 3 formen draufhat.

gnOme

-----------------------------------------------------------------------------



Re^7: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Elberet, 10. Jul 2002, 15:27:47):
~#! rn=Gnome rt=1026305568 rg=puiz
~#! tid=1025881723
ich sag ja nicht, dass die lehrer es nicht machen sollen, natuerlich muss auch
wiederholung sein, aber wenn du in der Oberstufe solange Bruchrechung
wiederholst, bis jeder sie kann, haben die Leute ihr abitur. Wozu lernt man
das eigentlich in der 5-6. Klasse (nicht)? Um es zu vergessen? Muss man nur
das wissen, was man in den letzten 4 Wochen im Unterricht gemacht hat? Also
ich weiss ja nicht. 

Elbi

-----------------------------------------------------------------------------



Re^8: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Vanion, 10. Jul 2002, 15:29:07):
~#! rn=Elberet rt=1026307667 rg=puiz
~#! tid=1025881723
Habt ihr den Eindruck, dass das hier die richtige Rubrik fuer diese Diskussion
ist?

V*

-----------------------------------------------------------------------------



Re^9: Schon mal darueber nachgedacht, dass es durchaus moeglich ist, dass man als (Elberet, 10. Jul 2002, 15:29:25):
~#! rn=Vanion rt=1026307747 rg=puiz
~#! tid=1025881723
nein verschieb das mal wer woanders hin ;)

Elbi

-----------------------------------------------------------------------------



Auch mal will (Cuchullin, 22. Jul 2002, 22:15:20):
Fuer Leute, die dieses "Raetsel" noch nicht kennen, koennte es eine kleine
Herausforderung sein - daher vielleicht nicht SOFORT die Loesung posten, 
bitte. :) 

Tja, die Frage ist furchtbar einfach. Was lief beim folgenden Satz falsch?

          "Week ought sick seals within adequate baits."

Cuch :)

-----------------------------------------------------------------------------



Re: Auch mal will (Bambi, 23. Jul 2002, 21:41:25):
~#! rn=Cuchullin rt=1027368920 rg=puiz
~#! tid=1027368920
Mach ich den Witz kaputt, wenn ich nach der Uebersetzung frage?

-----------------------------------------------------------------------------



Re: Re: Auch mal will (Anthea, 24. Jul 2002, 13:50:59):
~#! rn=Bambi rt=1027453285 rg=puiz
~#! tid=1027368920
Bei dem Satz? Die Leerzeichen sind falsch. Und bei Richtigstellung derer die
Rechtschreibung.

-----------------------------------------------------------------------------



Re^3: Auch mal will (Cuchullin, 24. Jul 2002, 15:23:21):
~#! rn=Anthea rt=1027511459 rg=puiz
~#! tid=1027368920
*grunz* Die ersten drei Loesungseingaenge stammen von Anacrion, Muaddib
und Zephyr. Leider keine Medaille, Anthea. ;)

Der Satz koennte so von einem laut-erkennenden System darniedergeschrieben
worden sein. Von einem System allerdings, das von Grammatik keine Ahnung
hat, sonst waere der - natuerlich grammatikalisch korrekten - Alternative
"We caught six eels with inadequate baits." den Vorzug gegeben worden.

Naja, ist eigentlich davon auszugehen, dass die richtig guten Systeme eben
diese Grammatik-Komponente haben. Dafuer ist die Erstellung eines Lexikons
und einer halbwegs (!!) tauglichen Grammatik zu einfach.

Cuch loest auf. :)

-----------------------------------------------------------------------------



Der RAUM (Phobos, 24. Jul 2002, 19:25:37):

Ruhe! Hinsetzen! Zuhoeren!

Ich weise euch darauf hin, dass dieses die letzte Gelegenheit ist, wo ihr
mit einander reden koennt. Sobald wir das Gefaengnis erreicht haben, wird
jeder von euch eine Einzelzelle bekommen, wo ihr den Rest eures Lebens
verbringen werdet. Ihr werdet nie wieder einen anderen Mithaeftling zu
Gesicht bekommen.

Das heisst .. der Direktor des Gefaengnisses ist ein sehr weichherziger
Mann. Deshalb gibt er euch EINE Chance, noch einmal lebend hier heraus
zu kommen.

Es gibt hier einen RAUM, in dem sich zwei Schalter befinden. Jeder
Schalter hat genau zwei Stellungen. Ich verrate euch nicht, in welcher
Stellung sich die Schalter gerade befinden.

Zu bestimmten Zeitpunkten, die der Direktor frei bestimmen kann, wird
er zufaellig einen von euch 23 Haeftlingen auswaehlen und in den RAUM
fuehren. Ihr muesst dann genau einen der beiden Schalter auswaehlen
(welchen, das duerft ihr frei bestimmen) und in die jeweils andere
Stellung umlegen.

Die Auswahl, welcher Haeftling den RAUM betreten darf, wird vorher
jeweils zufaellig durch Losverfahren bestimmt, d.h. jeder hat gleiche
Chancen. Aber die Zeitpunkte, wann jemand den RAUM betreten darf, sind
frei waehlbar. Kein anderer Haeftling wird jemals mitbekommen, wer wann
den RAUM betreten hat.

Jetzt die gute Nachricht: Zu jeder beliebigen Zeit kann jeder von euch
die folgende Aussage machen: "Jeder von uns 23 Haeftlingen hat den RAUM
mindestens einmal betreten". Falls diese Aussage zutrifft, werden alle
von euch sofort freigelassen. Aber Vorsicht: Falls noch nicht alle 23
von euch den RAUM betreten haben, wenn jemand diese Aussage macht, werdet
ihr NIE WIEDER in die Freiheit entlassen. Eine zweite Chance gibt es
nicht!

Ok, ich lasse euch mal allein, ihr habt bestimmt viel zu beraten, bis
wir ankommen.


(Antworten bitte in die MPA. Btw, ich kenne die Antwort momentan auch
noch nicht)


Phobos 

-----------------------------------------------------------------------------



Re: Der RAUM (Gnome, 25. Jul 2002, 01:34:44):
~#! rn=Phobos rt=1027531537 rg=puiz
~#! tid=1027531537
aehm... was bewirken diese schalter?
oder bin ich grade etwas zu viel zwerg? :)

-----------------------------------------------------------------------------



Re: Re: Der RAUM (Maarg, 25. Jul 2002, 09:09:52):
~#! rn=Gnome rt=1027553684 rg=puiz
~#! tid=1027531537
Und wie lautet ueberhaupt die Frage?

Gruss,

   Maarg

-----------------------------------------------------------------------------



Re^3: Der RAUM (Humni, 25. Jul 2002, 09:29:58):
~#! rn=Maarg rt=1027580992 rg=puiz
~#! tid=1027531537
Hmpf. Ich hatte bereits 2 Loesungen, und jedesmal beim schreiben des Posts ist
mir aufgefallen, dass sie nicht taugen...

Humni

-----------------------------------------------------------------------------



Re^4: Der RAUM (Humni, 25. Jul 2002, 09:31:49):
~#! rn=Humni rt=1027582198 rg=puiz
~#! tid=1027531537
Mist selbstreply. Aber 2 doofe Fragen hab ich doch noch:

1. Wer in den Raum gefuehrt wird MUSS einen der Hebel umlegen?
2. Und wenn er MUSS, DARF er auch GENAU einen Hebel umlegen?
Oder ist gemeint, er darf auch beide?

Humni meint: das stand zwar eigentlich drin, aber ich frag lieber doch noch
mal nach... wuesste so nicht, wie das gehen soll...

-----------------------------------------------------------------------------



Re^5: Der RAUM (Bambi, 25. Jul 2002, 09:33:00):
~#! rn=Humni rt=1027582309 rg=puiz
~#! tid=1027531537
Dann haett ich auch noch ne Frage...
Gelten "geheime" Kreidezeichen, also dass sich jeder einfach an ner Wand
verewigt? ;)

-----------------------------------------------------------------------------



Re^6: Der RAUM (Troy, 25. Jul 2002, 09:34:30):
~#! rn=Bambi rt=1027582380 rg=puiz
~#! tid=1027531537
Die Haeftlinge sind nackt - keine Kreide

Troy

-----------------------------------------------------------------------------



Re^7: Der RAUM (Humni, 25. Jul 2002, 09:34:42):
~#! rn=Troy rt=1027582470 rg=puiz
~#! tid=1027531537
Naja, ich hab glaub ich ne Loesung, wo es schon reichen wuerde, die
Anfangsstellung eines der Hebel zu kennen. Unpraktisch, nervig, zeitaufwendig.
Aber eine Loesung. Nein, ohne das hab ich keine.

Humni

-----------------------------------------------------------------------------



Re^7: Der RAUM (Bambi, 25. Jul 2002, 09:35:32):
~#! rn=Troy rt=1027582470 rg=puiz
~#! tid=1027531537
Blut aus der Nase? ;)

-----------------------------------------------------------------------------



Re^8: Der RAUM (Troy, 25. Jul 2002, 09:37:45):
~#! rn=Bambi rt=1027582532 rg=puiz
~#! tid=1027531537
Die Anfangsstellung ist doch trivial. Das dauert maximal 2 Haeftlinge, bis
eine definierte Stellung da ist.

Troy

-----------------------------------------------------------------------------



Re^9: Der RAUM (Humni, 25. Jul 2002, 09:40:46):
~#! rn=Troy rt=1027582665 rg=puiz
~#! tid=1027531537
Das nuetzt bei meiner Loesung aber nix. Ich kann sie ja mal posten. Obwohl das
vielleicht die Leute von der richtigen Loesung abbringt, da es vermutlich ein
voellig falscher Ansatz ist. Meine Loesung funzt uebrigens mit jeder
beliebigen Anzahl und benutzt die Zahl 23 nicht, ich vermute schon von daher,
dass was faul ist.

Humni

-----------------------------------------------------------------------------



Re^10: Der RAUM (Troy, 25. Jul 2002, 09:51:31):
~#! rn=Humni rt=1027582846 rg=puiz
~#! tid=1027531537
Sone Loesung hatt ich auch mal :-) Mein Problem ist: Wie kommuniziert man,
dass die Schalter ab einem bestimmten Haeftling irgendwann "scharf" sind?

Will sagen (Theorie):
Man hat einen "Zaehler" bestimmt, der als einziger den rechten Schalter von
unten nach oben bewegen darf. Auf irgendeine Weise hat man den definierten
Ausgangspunkt erreicht und der Zaehler muesste dies nun kommunizieren.
Dann kann jeder andere nach folgendem Algorithmus schalten:

Der rechte Schalter ist oben
  Ich habe den rechten Schalter noch nicht bewegt
    -> Rechter Schalter nach unten
  Sonst
    -> Linker Schalter
Sonst
  -> Linker Schalter

Wenn der Zaehler auf diese Weise 22 Mal den rechten Schalter resettet hat,
kann er die Aussage treffen (hoffentlich stirbt zwischenzeitlich keiner)

Das Problem ist nur: Wie teilt man den anderen mit, dass es los geht?

Troy

-----------------------------------------------------------------------------



Re^11: Der RAUM (Humni, 25. Jul 2002, 09:51:47):
~#! rn=Troy rt=1027583491 rg=puiz
~#! tid=1027531537
Exakt das ist meine Loesung, Troy.

Humni

-----------------------------------------------------------------------------



Re^12: Der RAUM (Troy, 25. Jul 2002, 10:11:25):
~#! rn=Humni rt=1027583507 rg=puiz
~#! tid=1027531537
Hmm ich haett ne Idee :-)

Derjenige, dem es gelingt, die Ausgangstellung initial herzustellen, macht
einen Haufen in die Ecke. Da man den Zeitpunkt frei waehlen kann, wann man
in den RAUM will, kann man vorher genug essen. Wenn der Haufen dann da ist,
gehts nach Schema F (Artkel 29) weiter.

Troy

-----------------------------------------------------------------------------



Re^11: Der RAUM (Eldaron, 25. Jul 2002, 11:01:17):
~#! rn=Troy rt=1027583491 rg=puiz
~#! tid=1027531537
Mag sein, dass ich irgendwas uebersehen habe, aber so wie ich die
Aufgabenstellung interpretiert habe, wird bei jedem "Durchgang" per Los
bestimmt, wer den Raum betreten soll. Also kann ein Haeftling den Raum 100x am
Stueck betreten. Woher weiss man bei deiner Loesung, ob eine Person den Hebel
22 bewegt hat, oder ob das 22 _verschiedene_ Haeftlinge waren? 

Da ist dein 'Haufenmethode' doch viel eleganter, jeder Haeftling macht genau
einen Haufen in den Raum, wenn 23 Haufen da sind, war jeder da. (Sofern die
nicht verrottet sind, oder weggeputzt wurden.) 

Eldaron

-----------------------------------------------------------------------------



Re^12: Der RAUM (Humni, 25. Jul 2002, 11:03:36):
~#! rn=Eldaron rt=1027587677 rg=puiz
~#! tid=1027531537
Du hast die Loesung nicht gelesen (die ja keine ist, so wie sie ist). Jeder
Haeftling bewegt den Hebel nur EINMAL.

Humni

-----------------------------------------------------------------------------



Re: Der RAUM (Eldaron, 25. Jul 2002, 11:08:10):
~#! rn=Phobos rt=1027531537 rg=puiz
~#! tid=1027531537
Hast Recht, ich hol lieber erstmal noch einen Kaffee.

Eldaron, noch nicht ganz Wach

-----------------------------------------------------------------------------



Re^12: Der RAUM (Eldaron, 25. Jul 2002, 11:22:55):
~#! rn=Humni rt=1027583507 rg=puiz
~#! tid=1027531537
Man koennte doch eine Vorlaufzeit festlegen, in der Hebel 2 initalisiert wird.
Man kann davon ausgehen, dass alle Haeftlinge einen Kalender haben, wenn die
Vorlaufzeit um ist, geht man davon aus, dass mindestens ein Haeftling den Raum
betreten hat, und den Hebel in Position 1 gebracht hat. Waehlt man die
Vorlaufzeit gross genug, geht die Wahrscheinlichkeit, dass ein Haeftling
bereits drin war, gegen 1. Sollte jedoch keiner den Raum betreten haben, ist
die Wahrscheinlichkeit fuer den Fall immerhin noch 50%. Ab dem Startdatum
00:00 faengt dein Zaehler an, die Resets zu zaehlen.

Eldaron, jetzt ein wenig wacher und hoffentlich nicht irgendwelchen
gedanklichen Muell erzaehlend.

-----------------------------------------------------------------------------



Re^13: Der RAUM (Croft, 25. Jul 2002, 11:27:39):
~#! rn=Eldaron rt=1027588975 rg=puiz
~#! tid=1027531537
Wie waers mit folgendem: Ein Zaehler wird bestimmt und der bringt die
Schalter in die Ausgangssituation.  Jeder ausser dem Zaehler muss
den einen Schalter zweimal nach oben bewegen und der Zaehler zaehlt
dann bis 43.

-----------------------------------------------------------------------------



Re^14: Der RAUM (Troy, 25. Jul 2002, 11:43:50):
~#! rn=Croft rt=1027589259 rg=puiz
~#! tid=1027531537
Hmm. Das klingt zu einfach. Ich finde bloss keinen Fehler daran :-)

Troy

-----------------------------------------------------------------------------



Re^15: Der RAUM (Bambi, 25. Jul 2002, 14:08:29):
~#! rn=Troy rt=1027590230 rg=puiz
~#! tid=1027531537
Ich habs mal durchgespielt und ich wuerd mich Crofts Aussage anschliessen.
Wenn jemand einen (durch Startgegebenheit) "resetteten" Hebel 1 vorfindet,
dann geht seine erst Stimme zwar fuer den Zaehler verloren, aber damit rechnet
das System ja.
Wenn die Stimme nicht verloren geht, z.B. weil schon nicht-reset-Zustand hatte
oder weil der Zaehler gleich zu Beginn resetten durfte, dann wird sie
mitgezaehlt, was aber auch nichts macht, da jeder mindestens 1 und alle ausser
eine 2 Stimmen abgeben muessen.

Da der Zaehler beim ersten Resetten dies nicht als Stimmabgabe zaehlt, kann es
auch nicht passieren, dass er eine Stimme zaehlt, die gar nicht da ist.

-----------------------------------------------------------------------------



Re^16: Der RAUM (Troy, 25. Jul 2002, 14:13:11):
~#! rn=Bambi rt=1027598909 rg=puiz
~#! tid=1027531537
Schade ist nur, dass die Loesung 43 und nicht 42 heisst ;-)

Troy

-----------------------------------------------------------------------------



Re^15: Der RAUM (Croft, 25. Jul 2002, 18:22:21):
~#! rn=Troy rt=1027590230 rg=puiz
~#! tid=1027531537
Was mich wundert: die Loesung braucht ja auch nur einen Schalter ...

-----------------------------------------------------------------------------



Re^16: Der RAUM (Croft, 25. Jul 2002, 18:24:26):
~#! rn=Croft rt=1027614141 rg=puiz
~#! tid=1027531537
Die Frage wird wohl sein ob es legal ist jemanden vorher zum Zaehler zu
ernennen.

-----------------------------------------------------------------------------



Re^16: Der RAUM (Bambi, 25. Jul 2002, 19:03:12):
~#! rn=Croft rt=1027614141 rg=puiz
~#! tid=1027531537
Solange jemand schalten _muss_ brauchst du den zweiten als dummy.

-----------------------------------------------------------------------------



Re^17: Der RAUM (Cuchullin, 25. Jul 2002, 19:05:10):
~#! rn=Bambi rt=1027616592 rg=puiz
~#! tid=1027531537
Was nicht das Problem mit der fehlenden Initiierung loest... Aber 
vermutlich stirbt der Gefangene Nr. 5 an Tag 5 an der Legionaerskrankheit,
ohne je in dem RAUM gewesen zu sein. Und das erfahren die anderen Insassen
natuerlich nie... ;o)


-----------------------------------------------------------------------------



Re^18: Der RAUM (Bambi, 25. Jul 2002, 19:06:42):
~#! rn=Cuchullin rt=1027616710 rg=puiz
~#! tid=1027531537
Doch loest es. Da nur der zaehler initialisiert und ein vorinitialisierter
Schalter ggf. vom ersten Nicht-Zaehler auf "!initialisiert" gesetzt wird -was
zaelspezifisch egal ist- funktioniert das durchaus.

-----------------------------------------------------------------------------



Re^19: Der RAUM (Cuchullin, 25. Jul 2002, 19:09:28):
~#! rn=Bambi rt=1027616802 rg=puiz
~#! tid=1027531537
Dann kommt der zweite Nicht-Zaehler, stellt ihn "oh, da ist initialisiert!"
wieder nach oben, um gezaehlt zu werden. Nach ihm kommt irgendwann der 
Zaehler in den RAUM und weiss nicht: Ist er nun der erste, der den RAUM
betreten hat (und damit eine uninitialisierte Schalterstellung sieht, die
er nicht zaehlen darf) oder hat da bereits der erste an den Schaltern 
gespielt und glaubt, gezaehlt zu werden?

Cuch weiss da grad keine Loesung

-----------------------------------------------------------------------------



Re^17: Der RAUM (Croft, 25. Jul 2002, 19:10:54):
~#! rn=Bambi rt=1027616592 rg=puiz
~#! tid=1027531537
Ah stimmt.  Dafuer braucht man dann den Schalter.  Dann stellt sich die
Frage ob auch vorher ausgemacht werden kann, welcher der Dummyschalter ist ;-)

-----------------------------------------------------------------------------



Re^18: Der RAUM (Cuchullin, 25. Jul 2002, 19:17:14):
~#! rn=Croft rt=1027617054 rg=puiz
~#! tid=1027531537
Ich hab es, nachdem ich auf das "zweimal" in einem von Crofts vorigen 
Artikeln aufmerksam gemacht wurde, inzwischen auch begriffen. :) Stellt
sich die Frage: Wie oft muss der Direktor im Mittel (also in oo vielen
solcher Situationen) einen Gefangenen an die Schalter lassen, damit die
Strategie zum Erfolg fuehrt?

Cuch - kein Stochastiker :)

-----------------------------------------------------------------------------



Re^19: Der RAUM (Orktoeter, 30. Jul 2002, 14:51:18):
~#! rn=Cuchullin rt=1027617434 rg=puiz
~#! tid=1027531537
Als gemeiner Direktor baut man einen Raum mit zwei gegenueberliegenden
Eingaengen und die beiden Schalter recht und links auf gleicher Hoehe an die
Wand.

OrkT denkt . o O(gib den Gefangenen keine echte Chance)

-----------------------------------------------------------------------------



Re^20: Der RAUM (Mucks, 30. Jul 2002, 15:19:30):
~#! rn=Orktoeter rt=1028033478 rg=puiz
~#! tid=1027531537
Es reicht wohl, wenn nur einer der nicht-Zaehler den rechten Hebel zweimal
betaetigt. Den anderen nicht-Zaehlern wird gesagt, sie sollen den rechten
Hebel nur einmal betaetigen. Damit braucht der Zaehler nicht 42, sondern nur
23 rechte Hebel-stellungen zaehlen, um sicher zu sein.

Ich glaube aber eher, dass folgendes passiert: einer der Haeftlinge denkt
sich: jetzt war ich schon so oft in dem Raum, jetzt bin ich ziemlich sicher
dass jeder andere auch schon drin gewesen sein muss. Ich will nicht absolut
sicher hier raus, mir reicht es ziemlich sicher sofort raus zu kommen. Beim
naechsten mal sag ichs dem Direktor.

                                            Mucks

-----------------------------------------------------------------------------



Re^21: Der RAUM (Troy, 30. Jul 2002, 15:34:18):
~#! rn=Mucks rt=1028035170 rg=puiz
~#! tid=1027531537
Die verkuerzte Technik reicht leider nicht, da nicht bekannt ist, ob Du der
erste Haeftling im RAUM bist, oder nicht. Im Zweifelsfall hast Du bis 23
gezaehlt und gewonnen - oder Du kommst nur bis 22, weil irgendeiner vor Dir
dran war.

Troy

-----------------------------------------------------------------------------



Buah, nix los hier oder was? (Linflas, 29. Aug 2002, 23:32:17):
liebes volk,

gebt euch das hier:

http://www.heise.de/tp/deutsch/kunst/rate/start.html

Viel Spass!

L.

-----------------------------------------------------------------------------



Re: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 08:35:57):
~#! rn=Linflas rt=1030656737 rg=puiz
~#! tid=1030656737
Loesen wir das jetzt hier zusammen? Ich glaube, ich weiss, was bei 2.
rauskommt (c;

Nonne.

-----------------------------------------------------------------------------



Re: Re: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 09:06:50):
~#! rn=Nonne rt=1030689357 rg=puiz
~#! tid=1030656737
Ich plaediere bei 11. auf die Schottische Fahne (die Blaue mit dem weissen
Kreuz). Zumindest die Gelbe mit der schwarzen Kugel ist keine Landesflagge,
sondern die Seuchenquarantaeneflagge fuer Schiffe. Ich meine, dass die anderen
eine aehnliche Funktion haben.

Troy

-----------------------------------------------------------------------------



Re: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 09:10:38):
~#! rn=Linflas rt=1030656737 rg=puiz
~#! tid=1030656737
Ich glaube, 2. ist: Sie haben 2 mal den Nobelpreis gewonnen und 5. ist Georg
Simon Ohm.

to be continued...
Nonne.

-----------------------------------------------------------------------------



Re: Re: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 09:30:35):
~#! rn=Nonne rt=1030691438 rg=puiz
~#! tid=1030656737
zu 13. wuerde ich sagen: 1 (Paris) Weil:
Zu Wien, Lyon, Nuernberg, Frankfurt und Krakau gibts immer die passenden
Wuerstchen.

Troy

-----------------------------------------------------------------------------



Re: Buah, nix los hier oder was? (Croft, 30. Aug 2002, 09:35:14):
~#! rn=Linflas rt=1030656737 rg=puiz
~#! tid=1030656737
3. 500/50=10.  Das sind Briefmarkenmotive der Deutschen Post aus dem Jahr
   1975/76 (Industrie und Technik).
Gruss Croft

-----------------------------------------------------------------------------



Re: Re: Buah, nix los hier oder was? (Croft, 30. Aug 2002, 09:36:10):
~#! rn=Croft rt=1030692914 rg=puiz
~#! tid=1030656737
Aehm.  Und es steht "Deutsche Bundespost" rechts daneben ;-)

-----------------------------------------------------------------------------



Re^3: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 09:40:42):
~#! rn=Croft rt=1030692970 rg=puiz
~#! tid=1030656737
Tja, oder eben "Deutsche Bundespost Berlin" Soweit war ich auch schon.

Troy

-----------------------------------------------------------------------------



Re^4: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 09:41:47):
~#! rn=Troy rt=1030693242 rg=puiz
~#! tid=1030656737
6. Koennte was mit den Sieben Weltwundern zu tun haben. Das einzige noch
stehende ist dann "Die Pyramiden von Gizeh"

Nonne.

-----------------------------------------------------------------------------



Re^5: Buah, nix los hier oder was? (Zarniya, 30. Aug 2002, 09:46:44):
~#! rn=Nonne rt=1030693307 rg=puiz
~#! tid=1030656737
koennte man die Antworten irgendwo sammeln, damit man nicht in allen Artikeln
blaettern muss? :-)

-----------------------------------------------------------------------------



Re^6: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 09:50:20):
~#! rn=Zarniya rt=1030693604 rg=puiz
~#! tid=1030656737
${EDITOR}?

Troy

-----------------------------------------------------------------------------



Re^7: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 10:48:40):
~#! rn=Troy rt=1030693820 rg=puiz
~#! tid=1030656737
wenn ich mich nicht vertu ist bei 8) 5 cm richtig
Elbi

-----------------------------------------------------------------------------



Re^8: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 11:03:43):
~#! rn=Elberet rt=1030697320 rg=puiz
~#! tid=1030656737

1. ist sicher Extremeironing / Extrembuegeln

J*

-----------------------------------------------------------------------------



Re^9: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 11:08:59):
~#! rn=Jehova rt=1030698223 rg=puiz
~#! tid=1030656737
14. ist Benzol (C6O6H12 zyklisch)

Troy

-----------------------------------------------------------------------------



Re^10: Buah, nix los hier oder was? (Grimmborn, 30. Aug 2002, 11:12:19):
~#! rn=Troy rt=1030698539 rg=puiz
~#! tid=1030656737
Komische Ansichten hast Du von Benzol. Mein Benzol jedenfalls ist
sauerstofffrei.

GdA

-----------------------------------------------------------------------------



Re^11: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 11:14:38):
~#! rn=Grimmborn rt=1030698739 rg=puiz
~#! tid=1030656737
Sorry. Koennte das Glukose sein?

Troy.

-----------------------------------------------------------------------------



Re^12: Buah, nix los hier oder was? (Grimmborn, 30. Aug 2002, 11:18:35):
~#! rn=Troy rt=1030698878 rg=puiz
~#! tid=1030656737
Zucker. Organische Chemie. Naturstoffchemie. Da bist Du bei mir ja _sowas_ von
falsch... *schulterzuck*

GdA

-----------------------------------------------------------------------------



Re^13: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 11:26:07):
~#! rn=Grimmborn rt=1030699115 rg=puiz
~#! tid=1030656737
zu 12.: Welche Automarke wurde 1913 gegruendet und faehrt noch heute?

Troy

-----------------------------------------------------------------------------



Re^14: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 11:29:06):
~#! rn=Troy rt=1030699567 rg=puiz
~#! tid=1030656737
welche fehlen eigentlich noch?
versteht einer diese Logelei?

Elbi

-----------------------------------------------------------------------------



Re^15: Buah, nix los hier oder was? (Scorpion, 30. Aug 2002, 11:46:25):
~#! rn=Elberet rt=1030699746 rg=puiz
~#! tid=1030656737
die 10 ist der ordner gemeint, indem die einzelnen artikel abgelegt sind

-----------------------------------------------------------------------------



Re^15: Buah, nix los hier oder was? (Scorpion, 30. Aug 2002, 11:48:08):
~#! rn=Elberet rt=1030699746 rg=puiz
~#! tid=1030656737
die fragen 4, 7, 9, 12 und 15 sind noch offen
++

-----------------------------------------------------------------------------



Re^16: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 11:50:24):
~#! rn=Scorpion rt=1030700888 rg=puiz
~#! tid=1030656737
12. koennte natuerlich irgenein "Traditionsprodukt" sein. Z. B. Maggi oder
Aspirin oder sowas. Wem faellt was ein?

Troy

-----------------------------------------------------------------------------



Re^17: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 11:59:28):
~#! rn=Troy rt=1030701024 rg=puiz
~#! tid=1030656737
Das deutsche Sportabzeichen ist von 1913, hat sich da die Schrift geaendert
und kommt das irgendwie hin?

Nonne, im Raetselfieber

-----------------------------------------------------------------------------



Re^18: Buah, nix los hier oder was? (Macq, 30. Aug 2002, 12:11:29):
~#! rn=Nonne rt=1030701568 rg=puiz
~#! tid=1030656737
7. ist was mit der Kennzeichnung von Schiffen wuerd ich mal sagenzumindestens
die untere Reihe obwohl Flugzeuge glaube ich die gleiche verweden: weiss fuer
die Laengsachse und rot und gruen fuer rechts und links.

-----------------------------------------------------------------------------



Re^19: Buah, nix los hier oder was? (Zwirion, 30. Aug 2002, 12:14:28):
~#! rn=Macq rt=1030702289 rg=puiz
~#! tid=1030656737
4: Ich habe etwas gegoogelt und bin auf einen Kuenstler namens Francis Bacon
gestossen, der mit Lucian Freud (Enkel von Sigmund) befreundet ist. Dazu passt
auch der Francis Bacon, der im 17. Jhd eine Utopie namens 'New Atlantis'
geschrieben hat.
                                                             zwirion

-----------------------------------------------------------------------------



Re^20: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 12:18:10):
~#! rn=Zwirion rt=1030702468 rg=puiz
~#! tid=1030656737
zu 7. Hat wer einen Segelschein? Gruen ist steuer- rot ist backbord. Muss der
Mast mit 3 gruenen Lampen markiert werden? Also: Bild 1 ist von steuerbord,
Bild 2 von Vorn, Bild 3 von backbord (Links fuer die Landratten) und Bild 4
von Hinten (man sieht dann keine Positionslaternen) Das Schiff faehrt in
Bild 1 von links nach rechts.

Troy (verzweifeltausdemFensteraufdieElbeschauend)

-----------------------------------------------------------------------------



Re^21: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 12:24:54):
~#! rn=Troy rt=1030702690 rg=puiz
~#! tid=1030656737
Die 5 bei den Kreisen haben wir hier bestaetigt (c:

-----------------------------------------------------------------------------



Re^22: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 12:26:49):
~#! rn=Nonne rt=1030703094 rg=puiz
~#! tid=1030656737
Dann fasse ich mal zusammen:

1. Extremeironing
2. 2 Nobelpreise
3. 500/50 bzw. "Deutsche Bundespost" bzw. "Deutsche Bundespost Berlin"
4. Francis Bacon
5. Georg Simon Ohm
6. 7 Weltwunder der Antike. Allein die Pyramiden von Gizeh stehen noch.
7. Segelschiff von links nach rechts fahrend
8. 5cm
9.
10. Verzeichnisnamen der einzelnen Nachrichten
11. Schottland
12.
13. (1) = Paris
14. Zucker (C6O6H12 zyklisch)
15.

Mithin fehlen also noch 9, 12 und 15

Troy

-----------------------------------------------------------------------------



Re^23: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 12:33:17):
~#! rn=Troy rt=1030703209 rg=puiz
~#! tid=1030656737
Zu 9: siehe www.astronomy.org/programs/Planet-Quiz-Show/answers/41.html

Es sind die Anzahlen der Monde unserer Planeten. Mithin fehlt Neptun mit
der 8

Troy

-----------------------------------------------------------------------------



Re^24: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 12:51:29):
~#! rn=Troy rt=1030703597 rg=puiz
~#! tid=1030656737
zur 15:

bild 1 - Tiger Woods
bild 2 - Tom Cat
bild 3 - ???
bild 4 - Hawk / Falcon
bild 5 - Wasp

Sind alles Flugzeuge. Die Frage ist, welches da rein gehoert.

J*

-----------------------------------------------------------------------------



Re^25: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 12:52:31):
~#! rn=Jehova rt=1030704689 rg=puiz
~#! tid=1030656737
alles tiere? gibts noch nen flugzeug was nen tiernamen hat?

Elbi

-----------------------------------------------------------------------------



Re^26: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 12:54:09):
~#! rn=Elberet rt=1030704751 rg=puiz
~#! tid=1030656737
F15 Strike Eagle (Adler)

Troy

-----------------------------------------------------------------------------



Re^27: Buah, nix los hier oder was? (Lurchi, 30. Aug 2002, 12:55:21):
~#! rn=Troy rt=1030704849 rg=puiz
~#! tid=1030656737
also gibts wasp wirklich? nicht eher f/a 18 hornet?

lurchi

-----------------------------------------------------------------------------



Re^27: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 12:55:23):
~#! rn=Troy rt=1030704849 rg=puiz
~#! tid=1030656737
oder A10 Thunderbolt (Warzenschwein/Warthog)

Troy

-----------------------------------------------------------------------------



Re^28: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 12:56:21):
~#! rn=Lurchi rt=1030704921 rg=puiz
~#! tid=1030656737

gibt's tatsaechlich, aber hornet auch. aber der adler passt da schon :-)

J*

-----------------------------------------------------------------------------



Re^28: Buah, nix los hier oder was? (Lurchi, 30. Aug 2002, 12:56:29):
~#! rn=Troy rt=1030704923 rg=puiz
~#! tid=1030656737
alles andere waren F, und so ist auch die ueberschrifft

lurchi

-----------------------------------------------------------------------------



Re^28: Buah, nix los hier oder was? (Ahab, 30. Aug 2002, 12:56:51):
~#! rn=Troy rt=1030704923 rg=puiz
~#! tid=1030656737
Nein, glaub nicht. Titel heisst ja 'Aus dem FF', also wohl alles F-irgendwas.

-----------------------------------------------------------------------------



Re^29: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 12:58:45):
~#! rn=Ahab rt=1030705011 rg=puiz
~#! tid=1030656737
F4 Phantom Tiger
F14 Tomcat
F15 Strike Eagle
F16 Falcon
F/A 18 Hornet

Troy

-----------------------------------------------------------------------------



Re^30: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 13:05:26):
~#! rn=Mandragon rt=1030705498 rg=puiz
~#! tid=1030656737
lies mal weiter :-)

Elbi

-----------------------------------------------------------------------------



Re^31: Buah, nix los hier oder was? (Mandragon, 30. Aug 2002, 13:05:56):
~#! rn=Elberet rt=1030705526 rg=puiz
~#! tid=1030656737
Der kam, waehrend ich schrieb. Tschuldigung. Schon geloescht.

Ma*

-----------------------------------------------------------------------------



Re^32: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 13:29:33):
~#! rn=Mandragon rt=1030705556 rg=puiz
~#! tid=1030656737

12) Im Heise-Forum hab ich was von Sportabzeichen gelesen. Weiss wer, wie die
frueher ausgesehen haben? 1913 passt da jedenfalls.

J*

-----------------------------------------------------------------------------



Re^33: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 13:30:13):
~#! rn=Jehova rt=1030706973 rg=puiz
~#! tid=1030656737
wer ist eigentlich der zweite mit den zwei nobelpreisen? desen Gesicht sagt
mir irgendwie nix

Elbi

-----------------------------------------------------------------------------



Re^26: Buah, nix los hier oder was? (Ark, 30. Aug 2002, 13:32:10):
~#! rn=Elberet rt=1030704751 rg=puiz
~#! tid=1030656737
Eagle, oder?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^34: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 13:32:47):
~#! rn=Elberet rt=1030707013 rg=puiz
~#! tid=1030656737
Wenn ich mir die Antworten so anschauen, glaube ich nicht, das bei 10 sowas
wir Verzeichnisnamen oder Artikelnummern hingehoeren.

Nonne.

-----------------------------------------------------------------------------



Re^34: Buah, nix los hier oder was? (Zarniya, 30. Aug 2002, 13:33:46):
~#! rn=Elberet rt=1030707013 rg=puiz
~#! tid=1030656737
der neben curie ist richard feynman... wusste aber nicht, dass der 2
Nobelpreise hatte.

Marc

-----------------------------------------------------------------------------



Re^35: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 13:34:16):
~#! rn=Zarniya rt=1030707226 rg=puiz
~#! tid=1030656737
das soll der sein? ich denk nicht

Elbi

-----------------------------------------------------------------------------



Re^35: Buah, nix los hier oder was? (Ahab, 30. Aug 2002, 13:34:28):
~#! rn=Zarniya rt=1030707226 rg=puiz
~#! tid=1030656737
Hatte er auch nicht, nur 1965...

Ahab.

-----------------------------------------------------------------------------



Re^35: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 13:34:56):
~#! rn=Nonne rt=1030707167 rg=puiz
~#! tid=1030656737
Wieso? Zu einfach? Anders geht's aber net. Artikelnummer = Verzeichnisname des
Artikels ist korrekt.

J*

-----------------------------------------------------------------------------



Re^36: Buah, nix los hier oder was? (Zarniya, 30. Aug 2002, 13:35:24):
~#! rn=Jehova rt=1030707296 rg=puiz
~#! tid=1030656737
wer ist es dann, wenn nicht feynman?

-----------------------------------------------------------------------------



Re^37: Buah, nix los hier oder was? (Ahab, 30. Aug 2002, 13:36:06):
~#! rn=Zarniya rt=1030707324 rg=puiz
~#! tid=1030656737
Linus Carl Pauling.

Hamwer jetzt alle?

Ahab.

-----------------------------------------------------------------------------



Re^37: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 13:36:14):
~#! rn=Zarniya rt=1030707324 rg=puiz
~#! tid=1030656737
also feynman sag ganz anders aus

Elbi

-----------------------------------------------------------------------------



Re^38: Buah, nix los hier oder was? (Ahab, 30. Aug 2002, 13:37:13):
~#! rn=Elberet rt=1030707374 rg=puiz
~#! tid=1030656737
Ach so: Pauling - NPe fuer Chemie 1954, Frieden 1962.

-----------------------------------------------------------------------------



Re^36: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 13:37:30):
~#! rn=Jehova rt=1030707296 rg=puiz
~#! tid=1030656737
Weil die erste und letzte Nummer gleich sind. Da schreckt mich ab von der
Loesung.

Nonne.

-----------------------------------------------------------------------------



Re^37: Buah, nix los hier oder was? (Zarniya, 30. Aug 2002, 13:37:56):
~#! rn=Nonne rt=1030707450 rg=puiz
~#! tid=1030656737
was bedeuten denn bei 2. die Balken unter den Bildern?

-----------------------------------------------------------------------------



Re^38: Buah, nix los hier oder was? (Elberet, 30. Aug 2002, 13:38:28):
~#! rn=Zarniya rt=1030707476 rg=puiz
~#! tid=1030656737
den wieviel anteil sie am preis hatten

Elbi

-----------------------------------------------------------------------------



Re^38: Buah, nix los hier oder was? (Ahab, 30. Aug 2002, 13:38:36):
~#! rn=Zarniya rt=1030707476 rg=puiz
~#! tid=1030656737
Die Anteile an den jeweiligen Preisen. Schwarz = alleinige/r Preistraeger/in

-----------------------------------------------------------------------------



Re^37: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 13:41:13):
~#! rn=Nonne rt=1030707450 rg=puiz
~#! tid=1030656737
Die Nummern sind eh' nur ausgedacht und gehen gar nicht. Aber die
Artikelnummer ist auch fuenfstellig.

J*

-----------------------------------------------------------------------------



Re^38: Buah, nix los hier oder was? (Catweazle, 30. Aug 2002, 13:42:47):
~#! rn=Jehova rt=1030707673 rg=puiz
~#! tid=1030656737
Stimmte denn jetzt das Sportabzeichen (12)?

YTC

-----------------------------------------------------------------------------



Re^39: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 13:50:03):
~#! rn=Catweazle rt=1030707767 rg=puiz
~#! tid=1030656737
Ich denke nicht. Weil da was von 'Ob das auch fuer den Preis gilt...' steht.
Ich denke, das passt nicht so gut.

-----------------------------------------------------------------------------



Re^40: Buah, nix los hier oder was? (Scorpion, 30. Aug 2002, 13:54:50):
~#! rn=Nonne rt=1030708203 rg=puiz
~#! tid=1030656737
bei 12 koennte das nicht die marke morgan sein? 
sportabzeichen aht ja keine rueckseite

-----------------------------------------------------------------------------



Re^41: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 13:58:32):
~#! rn=Scorpion rt=1030708490 rg=puiz
~#! tid=1030656737
Es gab auch schon 1913 ein goldenes Sportabzeichen... Morgan koennte sein,
ich weiss aber nicht wie das Logo 1913 aussah. Es koennte auch irgendein
Produkt sein a la Maggi oder Aspirin, das 1913 das Licht der Welt erblickte.

Troy

-----------------------------------------------------------------------------



Re^43: Buah, nix los hier oder was? (Ahab, 30. Aug 2002, 14:05:07):
~#! rn=Catweazle rt=1030708838 rg=puiz
~#! tid=1030656737
Mir ist grad Pietro Frua aufgefallen, geb. 1913, Designer bei Maserati & Co.,
das Logo war mal p.frua/torino, spaeter p.frua, und das sieht auch irgendwie
halbwegs golden aus. ueber groessen weiss ich aber auch nix...

Ahab.

-----------------------------------------------------------------------------



Re^35: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 14:12:12):
~#! rn=Nonne rt=1030707167 rg=puiz
~#! tid=1030656737

> ... glaube ich nicht, das bei 10 sowas ... Artikelnummern hingehoeren.

Ich auch nicht mehr so richtig. Was bedeutet der komische Hintergrund?

J*

-----------------------------------------------------------------------------



Re^36: Buah, nix los hier oder was? (Scorpion, 30. Aug 2002, 14:13:30):
~#! rn=Jehova rt=1030709532 rg=puiz
~#! tid=1030656737
der hintergrund koennte auch nur zur ablenkug sein..

-----------------------------------------------------------------------------



Re^37: Buah, nix los hier oder was? (Jehova, 30. Aug 2002, 14:23:50):
~#! rn=Scorpion rt=1030709610 rg=puiz
~#! tid=1030656737

Habs raus:

Die komischen Artikelnummern im Binaer-Format bilden das Heise-Online-Logo

000011111110000
001111000111100
011100001101100
011100011100110
111000011100110
111000111000011
110000111011011
110001110111011
110001110111010
111011101110100
111011101110000
011011001100110
011100000001100
001111000111000
000011111110000

J*

P.S.: Artikelnummern mit fuehrender Null gibt es gar nicht ...

-----------------------------------------------------------------------------



Re^38: Buah, nix los hier oder was? (Nonne, 30. Aug 2002, 14:27:03):
~#! rn=Jehova rt=1030710230 rg=puiz
~#! tid=1030656737
Dann passt auch der Titel des Raetsels: Log(o)-isch *g*

-----------------------------------------------------------------------------



Re^39: Buah, nix los hier oder was? (Hasim, 30. Aug 2002, 14:50:33):
~#! rn=Nonne rt=1030710423 rg=puiz
~#! tid=1030656737
Mir passt das Sportabzeichen noch nicht... schliesslich soll es eine
rueckseite mit logo haben, oder sehe ich das falsch?
Hasim

-----------------------------------------------------------------------------



Re^40: Buah, nix los hier oder was? (Troy, 30. Aug 2002, 14:55:17):
~#! rn=Hasim rt=1030711833 rg=puiz
~#! tid=1030656737
Ich verstehe das eher so:
Ein Objekt hat eine Vorderseite. Darauf ist ein Schriftzug und ein Logo
ggf. ineinander verschachtelt zu sehen (Heute in Gold, frueher in Silber).

Auf der Rueckseite des Objekts ist das auch drauf aber nur noch 1/3 so gross.
(Und fueher war da mal entweder ein Stadtbild oder ein Stadtname mit drauf).

Troy

-----------------------------------------------------------------------------



zu 11 (Sigurd, 31. Aug 2002, 04:55:04):
Die einzige Flagge, die auf dem Bild aus drei Farben besteht, ist die links
oben, und das ist die Nationalflagge von Costa Rica.

-----------------------------------------------------------------------------



Re: zu 11 (Nonne, 31. Aug 2002, 08:32:41):
~#! rn=Sigurd rt=1030762504 rg=puiz
~#! tid=1030762504
Ist sie nicht, die Flagge von Costa Rica hat einen breiten, roten Streifen in
der Mitte und 2 schmale weisse und blaue Streifen darueber und darunter. Bei
dem Raetsel sind alle Streifen gleich breit.

Und was ist mit der 12?

Nonne.

-----------------------------------------------------------------------------



Re: Re: zu 11 (Jehova, 31. Aug 2002, 08:33:49):
~#! rn=Nonne rt=1030775561 rg=puiz
~#! tid=1030762504
zu schwer

J*

-----------------------------------------------------------------------------



Re^41: Buah, nix los hier oder was? (Eldaron, 31. Aug 2002, 17:19:13):
~#! rn=Troy rt=1030712117 rg=puiz
~#! tid=1030656737
Das Objekt ist ein Quader, der Schriftzug ist erst seit kurzem Gold.
Ineinander verschachtelt ist eigentlich nichts. Auf der Rueckseite war frueher
ein Stadtbild. Eine orientalische Stadt, um genau zu sein.
Mir gefiel die alte Verpackung deutlich besser. 

Eldaron

-----------------------------------------------------------------------------



Re^23: Buah, nix los hier oder was? (Eldaron, 31. Aug 2002, 17:46:48):
~#! rn=Troy rt=1030703209 rg=puiz
~#! tid=1030656737
Meines Erachtens ist Schottland falsch, die dritte Flagge gehoert El Salvador
und somit kann man nicht auf eine eindeutige Loesung schliessen. Ich hab ein
Land in Asien raus, der Loesungweg ist ein kleines bisserl komplizierter. Wenn
wer nen Tipp will, mich fragen.

Eldaron

-----------------------------------------------------------------------------



Re^24: Buah, nix los hier oder was? (Grimmborn, 31. Aug 2002, 18:00:30):
~#! rn=Eldaron rt=1030808808 rg=puiz
~#! tid=1030656737
Mit einer Ausnahme sind die Flaggen zweifarbig, oder uebersehe ich was?

GdA

-----------------------------------------------------------------------------



Re^25: Buah, nix los hier oder was? (Eldaron, 31. Aug 2002, 18:07:59):
~#! rn=Grimmborn rt=1030809630 rg=puiz
~#! tid=1030656737
Ich glaub nicht, dass das ne Bedeutung hat. 

Alfa, Bravo, Charly, Delta, Eldaron :)

-----------------------------------------------------------------------------



Re^26: Buah, nix los hier oder was? (Grimmborn, 31. Aug 2002, 18:15:40):
~#! rn=Eldaron rt=1030810079 rg=puiz
~#! tid=1030656737
Der Punkt ist doch die Fragestellung. Und die lautet nicht "was ist die
komplizierteste Erklaerung dafuer, dass eine Flagge nicht passt". Und die
Loesung "hat drei Farben und nicht zwei" beantwortet die Fragestellung doch
eindeutig und vollstaendig.

GdA

-----------------------------------------------------------------------------



Re^27: Buah, nix los hier oder was? (Elberet, 31. Aug 2002, 18:16:26):
~#! rn=Grimmborn rt=1030810540 rg=puiz
~#! tid=1030656737
die frage aber heisst, wie heisst das land
und das mit den drei farben da bring ich kein Land mit in Verbindung

Elbi

-----------------------------------------------------------------------------



Re^28: Buah, nix los hier oder was? (Grimmborn, 31. Aug 2002, 18:18:00):
~#! rn=Elberet rt=1030810586 rg=puiz
~#! tid=1030656737
Hatte da nicht jemand gestern ein Land von? Ich hab die Diskussion hier
gestern mangels Zeit nicht so verfolgen koennen. Ich hab da was
mittelamerikanisches im Ohr, San Salvador oder so?
Wenns kein Land ist (so wie die Flagge mit dem Kreis) klappt das natuerlich
nicht.

GdA

-----------------------------------------------------------------------------



Re^29: Buah, nix los hier oder was? (Elberet, 31. Aug 2002, 18:18:53):
~#! rn=Grimmborn rt=1030810680 rg=puiz
~#! tid=1030656737
El Salvador war das und die hat nur 2 Farben denk ich

Elbi

-----------------------------------------------------------------------------



Re^30: Buah, nix los hier oder was? (Nonne,  1. Sep 2002, 07:47:54):
~#! rn=Elberet rt=1030810733 rg=puiz
~#! tid=1030656737
Die Flagge von El Salvador hat aber noch ein Emblem in der Mitte, die gezeigte
hat das aber nicht. Oder uebersehe ich jetzt was?

Nonne.

-----------------------------------------------------------------------------



Re^31: Buah, nix los hier oder was? (Troy,  2. Sep 2002, 09:02:21):
~#! rn=Nonne rt=1030859274 rg=puiz
~#! tid=1030656737
Moin,

je nachdem wie pingelig man ist, kann man natuerlich Lorbeerkranzlogos aus
der Fahnenmitte weglassen. Dann wuerde El Salvador auf die Juliet-Flagge
passen (blau-weiss-blau).

Die Sache mit den drei statt zwei Farben ist natuerlich ein Punkt. Aber auch
da ist dann die Frage, wie pingelig man sein darf/muss, da die Charlie-Flagge
fuenf gleichbreite Streifen hat, die Landesfahne von Costa Rica aber je zwei
schmale oben und unten sowie einen breiten roten Streifen in der Mitte.

Bevor wir uns weiter streiten:
Signalflaggen: http://www.segelservice.com/service/flags.htm
Landesfahnen:  http://www.flags.net

Dann koennt Ihrs ja mal direkt vergleichen.

Troy

-----------------------------------------------------------------------------



Re^32: Buah, nix los hier oder was? (Troy,  2. Sep 2002, 09:27:43):
~#! rn=Troy rt=1030950141 rg=puiz
~#! tid=1030656737
So. Nun was ausm Forum zu Frage 12:

#12: Jacobs Kaffee wurde 1913 gegruendet und das Logo wurde vor kurzem
umgestellt, wobei auch die Stadt aus dem Namen (Jacobs Kaffee Bremen)
verschwand.

Was meint Ihr dazu?

Troy

-----------------------------------------------------------------------------



Re^33: Buah, nix los hier oder was? (Jehova,  2. Sep 2002, 09:30:11):
~#! rn=Troy rt=1030951663 rg=puiz
~#! tid=1030656737

Gute Idee. Ist das jetzt besser oder schlechter als Camel?
Camel stellt das Design so oft um, mittlerweile gilt das direkt als schlechtes
Beispiel ...

J*

-----------------------------------------------------------------------------



Re^34: Buah, nix los hier oder was? (Troy,  2. Sep 2002, 09:30:47):
~#! rn=Jehova rt=1030951811 rg=puiz
~#! tid=1030656737
Hatte Camel jemals ne Stadt im Namen oder im Logo?

Troy

-----------------------------------------------------------------------------



Re^35: Buah, nix los hier oder was? (Jehova,  2. Sep 2002, 09:32:45):
~#! rn=Troy rt=1030951847 rg=puiz
~#! tid=1030656737

Weiss nicht. Bin kein Raucher. Aber ne Goldschrift war schonmal und angeblich
auch ne Oase oder so. Und evtl. muss man auch die Hintergrundfarbe der Frage
mit angucken? Muss man mal objektiv alle Fakten zu beiden zusammentragen und
was besser abschneidet ist halt richtiger :-)

J*

-----------------------------------------------------------------------------



Re^36: Buah, nix los hier oder was? (Zarniya,  2. Sep 2002, 09:33:27):
~#! rn=Jehova rt=1030951965 rg=puiz
~#! tid=1030656737
bei welchem von beidem ist denn das Logo entsprechend verkleinert worden?

-----------------------------------------------------------------------------



Re^37: Buah, nix los hier oder was? (Troy,  2. Sep 2002, 09:36:21):
~#! rn=Zarniya rt=1030952007 rg=puiz
~#! tid=1030656737
Was Camel angeht kann ich das nicht sagen, ich bin Nichtraucher. Die Jacobs-
Krone hat sich nach eigenen Angaben (www.jacobs.de, Geschichte, Markenchronik)
in der Groesse etwa halbiert. Auf der Rueckseite ist das gesamte Teil, also
Logo
und Schrift insgesamt geschrumpft (ob auf weniger als 1/3 weiss ich nicht) und
das Wort "Bremen" verschwand.

Troy

-----------------------------------------------------------------------------



Re^38: Buah, nix los hier oder was? (Scorpion,  2. Sep 2002, 09:37:13):
~#! rn=Troy rt=1030952181 rg=puiz
~#! tid=1030656737
na das klingt doch sehr gut
""

-----------------------------------------------------------------------------



Re^39: Buah, nix los hier oder was? (Nonne,  2. Sep 2002, 10:09:38):
~#! rn=Scorpion rt=1030952233 rg=puiz
~#! tid=1030656737
Hi,

war am Kiosk und habe mir mal die neue Camel-Schachtel angeschaut. Das Logo
ist tatsaechlich kleiner, die Schrift war frueher Silber und ist jetzt Golden.
Frueher war eine Wuestenstadt auf der Rueckseite, nun ist nur noch das Kamel
da. Die Hintergrundfarbe der Frage wuerde auch auf Camel hindeuten. Die sollte
man nicht ausser acht lassen, das Layout der Fragen war oft in irgendeiner
Weise ein Tipp.

Nonne.

-----------------------------------------------------------------------------



Re^40: Buah, nix los hier oder was? (Grimmborn,  2. Sep 2002, 10:16:30):
~#! rn=Nonne rt=1030954178 rg=puiz
~#! tid=1030656737
Und die ansonsten politisch korrekten Heiserianer machen auf einmal Werbung
durch die Hintertuer fuer Zigaretten? Hmm...

GdA

-----------------------------------------------------------------------------



Re^41: Buah, nix los hier oder was? (Catweazle,  2. Sep 2002, 12:21:05):
~#! rn=Grimmborn rt=1030954590 rg=puiz
~#! tid=1030656737
Was ist mit den 1913? Gilt das auch fuer Camel?

YTC

-----------------------------------------------------------------------------



Re^42: Buah, nix los hier oder was? (Jehova,  2. Sep 2002, 13:08:42):
~#! rn=Catweazle rt=1030962065 rg=puiz
~#! tid=1030656737
Dir Firma heisst RJ Reynolds Tobacco Company und wurde 1875 gegruendet. Das
Markenzeichen Camel stammt von 1913.

J*

-----------------------------------------------------------------------------



Re^43: Buah, nix los hier oder was? (Humni,  2. Sep 2002, 13:09:45):
~#! rn=Jehova rt=1030964922 rg=puiz
~#! tid=1030656737
Als ich noch geraucht hab hab ich meist Camel geraucht. Die waren echt gut.

Humni wollte auch mal was sagen.

-----------------------------------------------------------------------------



Re^44: Buah, nix los hier oder was? (Scorpion,  3. Sep 2002, 09:31:45):
~#! rn=Humni rt=1030964985 rg=puiz
~#! tid=1030656737
hab grad im forum von telepolis geblaettert und einen eintrag gefunden, der
auch auf camel hinweist. koennte doch die richtige loesung sein

-----------------------------------------------------------------------------



Re^45: Buah, nix los hier oder was? (Nonne,  3. Sep 2002, 09:37:52):
~#! rn=Scorpion rt=1031038305 rg=puiz
~#! tid=1030656737
Natuerlich ist das die richtige Loesung. Was spricht denn dagegen?

-----------------------------------------------------------------------------



Re^46: Buah, nix los hier oder was? (Catweazle,  3. Sep 2002, 09:45:32):
~#! rn=Nonne rt=1031038672 rg=puiz
~#! tid=1030656737
Uebrigens: Was ist denn ein Lyoner (13)? Pariser gibts ja nu schon ...

YTC

-----------------------------------------------------------------------------



Re^47: Buah, nix los hier oder was? (Troy,  3. Sep 2002, 09:47:32):
~#! rn=Catweazle rt=1031039132 rg=puiz
~#! tid=1030656737
Kennste keine Lyoner Wuerste? Keine kulinarische Allgemeinbildung, der Mann!

@Camel: Hatten die mal nen silbernen Schriftzug vorn auf der Packung?

Troy

-----------------------------------------------------------------------------



Re^48: Buah, nix los hier oder was? (Troy,  3. Sep 2002, 09:54:17):
~#! rn=Troy rt=1031039252 rg=puiz
~#! tid=1030656737
Zu den Nobelpreisen: Die Namen sind:

Marie Curie, Linus Pauling, John Bardeen und Frederick Sanger

Troy

-----------------------------------------------------------------------------



Re^49: Buah, nix los hier oder was? (Grimmborn,  3. Sep 2002, 09:55:13):
~#! rn=Troy rt=1031039657 rg=puiz
~#! tid=1030656737
Dann ist aber die Aufgabenstellung falsch, auch Henri Dunant hat den
Nobelpreis zweimal bekommen. In fact, IIRC sogar zweimal zweimal.

GdA

-----------------------------------------------------------------------------



Re^50: Buah, nix los hier oder was? (Boing,  3. Sep 2002, 09:56:58):
~#! rn=Grimmborn rt=1031039713 rg=puiz
~#! tid=1030656737
Was jetzt? In fact oder IIRC? :)
  Boing

-----------------------------------------------------------------------------



Re^51: Buah, nix los hier oder was? (Grimmborn,  3. Sep 2002, 10:00:23):
~#! rn=Boing rt=1031039818 rg=puiz
~#! tid=1030656737
In fact hat er ihn zweimal bekommen, IIRC sogar vier mal (koennen aber auch
nur dreimal gewesen sein).

GdA

-----------------------------------------------------------------------------



Re^52: Buah, nix los hier oder was? (Catweazle,  3. Sep 2002, 10:03:40):
~#! rn=Grimmborn rt=1031040023 rg=puiz
~#! tid=1030656737
Jean Henri Dunant hat nur einen Nobelpreis bekommen (Friedensnobelpreis 1901).
See: http://www.nobel.se

YTC

-----------------------------------------------------------------------------



Re^53: Buah, nix los hier oder was? (Grimmborn,  3. Sep 2002, 10:06:28):
~#! rn=Catweazle rt=1031040220 rg=puiz
~#! tid=1030656737
Hmm, dann hat mich das Lexikon meiner Eltern vor ein paar Jahren aber
angelogen...

GdA

-----------------------------------------------------------------------------



Re^54: Buah, nix los hier oder was? (Grimmborn,  3. Sep 2002, 10:09:10):
~#! rn=Grimmborn rt=1031040388 rg=puiz
~#! tid=1030656737
Ah. Vermutlich stand in dem Lexikon bei 1944 und 1963 auch jeweils Dunants
Name (auch wenn da der Preis an die Organisation ging).

GdA

-----------------------------------------------------------------------------



Re^55: Buah, nix los hier oder was? (Ahab,  3. Sep 2002, 11:02:56):
~#! rn=Grimmborn rt=1031040550 rg=puiz
~#! tid=1030656737
Deshalb die Einschraenkung 'als Einzelperson'. Das UNHCR hat in der Tat den
Preis auch 2x bekommen.

Ahoi,
Ahab.

-----------------------------------------------------------------------------



Re^56: Buah, nix los hier oder was? (Elberet,  3. Sep 2002, 11:16:27):
~#! rn=Ahab rt=1031043776 rg=puiz
~#! tid=1030656737
und das Rote Kreuz dreimal, oder?

Elbi

-----------------------------------------------------------------------------



Re^47: Buah, nix los hier oder was? (Strohalm,  3. Sep 2002, 11:48:59):
~#! rn=Catweazle rt=1031039132 rg=puiz
~#! tid=1030656737
Saarlaendische Fleischwirst ;)

Haelmchen

-----------------------------------------------------------------------------



Re^23: Buah, nix los hier oder was? (Flintnail,  9. Sep 2002, 12:58:27):
~#! rn=Troy rt=1030703209 rg=puiz
~#! tid=1030656737
Hi...will auch mein Loeffelchen dazu abgeben...

Aufgabe 3 erscheint mir mehr ne Matheaufgabe zu sein:

500 DBP Berlin : 50 DBP ergibt 10 Berlin, da 10 vorgegeben ist bleibt 
Berlin

macht das Sinn?

Flint*

-----------------------------------------------------------------------------



Re^24: Buah, nix los hier oder was? (Croft,  9. Sep 2002, 13:12:21):
~#! rn=Flintnail rt=1031569107 rg=puiz
~#! tid=1030656737
Wieso sollte nur die obere Berlin sein und nicht auch die untere? Oder
nur die untere Berlin?  Afaik gibts da keine Unterschiede zwischen den
Marken ausser das bei den Berlinern Marken noch Berlin drauf steht.

-----------------------------------------------------------------------------



linguistische Querelen (Cuchullin, 18. Sep 2002, 15:57:29):
Aloa.

In Ermangelung einer passenderen Rubrik unterbreche ich mal den
Mega-Quiz-Thread fuer ein bisschen linguistisches Allerlei, das
mir zwar mit englischen Beispielen adequat vorliegt; fuer eine
anstehende Pruefung haette ich aber liebend gern auch Beispiele
der deutschen Sprache fuer den Kram.

Erklaerung in einfachen Worten: Es geht um Mehrdeutigkeit bei
der Analyse eines Satzes, und zwar schon auf der Ebene der 
lexikalischen Kategorien (z.B. ist 'Haus' von der Kategorie
"Nomen" [oder "Substantiv" oder "Hauptwort", whatever]). Das
(englischsprachige) Beispiel sieht so aus:

     The representative put chairs on the table.
      |         |        |     |   |   |    |
     det        n        v     n   pp det   n

    ("Der Vertreter legte Stuehle auf den Tisch.")
      
ODER:

     The representative put chairs on the table.
      |         |        |     |   |   |    |
     det       adj       n     v   pp det   n
     
    ("Die repraesentative Verkaufsoption liegt auf dem Tisch.")

Also nicht einfach nur ein gaengiges Lesart-Problem wie bei
"Der Mann sah die Frau mit dem Fernrohr." (Wer hat das 
Fernrohr?), wo die Praepositionalphrase mal zur Verbalphrase,
mal zum Satz gehoert, sondern so schon die Lexemkategorie
Entscheidungstraeger ist.

Beispiel in deutscher Sprache? Stellt sich mir - bisher - als
deutlich schwerer dar, nicht zuletzt weil wir Nomen ziemlich
klar und grossgeschrieben ausgrenzen. Reduziert man es auf
"Gross/Kleinschreibung egal" fuehrte bisheriges Brainstorming
nur zu einem Beispielsatz, dessen Interpunktion Ambiguitaeten
aufloesen wuerde:

    "weise lehren lesen bildet"

Findet da jemand bessere Beispiele? :)

Cuch

-----------------------------------------------------------------------------



Re: linguistische Querelen (Hobo, 18. Sep 2002, 16:07:19):
~#! rn=Cuchullin rt=1032357449 rg=puiz
~#! tid=1032357449
Auch wenn bei dem Satz das Praedikat eindeutig ist:
"Was willst Du schon wieder?" (Bei Bedarf ein Komma hinter dem "was"
einfuegen)


-----------------------------------------------------------------------------



Re: linguistische Querelen (Maarg, 18. Sep 2002, 16:07:57):
~#! rn=Cuchullin rt=1032357449 rg=puiz
~#! tid=1032357449
Auf die Gefahr hin, dass Du es schon weist, empfehle ich trotzdem mal die
Frage in der Newsgroup de.etc.sprache.deutsch zu stellen, dort sollten die
Experten (bzw. solche, die sich dafuer halten) sitzen.

Gruss,

   Maarg

-----------------------------------------------------------------------------



Re: Re: linguistische Querelen (Muadib, 18. Sep 2002, 16:15:31):
~#! rn=Maarg rt=1032358077 rg=puiz
~#! tid=1032357449
etwas glauben ist gut

-----------------------------------------------------------------------------



Re: linguistische Querelen (Vanion, 18. Sep 2002, 16:18:01):
~#! rn=Cuchullin rt=1032357449 rg=puiz
~#! tid=1032357449
Mir faellt da Spontan ein:
 ich habe liebe genossen. 

V*

-----------------------------------------------------------------------------



Re: Re: linguistische Querelen (Vector, 18. Sep 2002, 16:19:20):
~#! rn=Vanion rt=1032358681 rg=puiz
~#! tid=1032357449
hobbits sind gut zu voegeln

-----------------------------------------------------------------------------



Re^3: linguistische Querelen (Flintnail, 19. Sep 2002, 09:28:49):
~#! rn=Vector rt=1032358760 rg=puiz
~#! tid=1032357449
oder das damalige Original zur Rechtschreibreformsplanungoderwieauchimmer:

helft den armen voegeln

-----------------------------------------------------------------------------



optische taeuschung (Phobos, 30. Sep 2002, 19:02:40):
Die genialste (keine Untertreibung) optische Taeuschung, die
ich bisher gesehen habe:

www-bcs.mit.edu/people/adelson/checkershadow_illusion.html

Welches Quadrat (A oder B) ist heller?

Phobos

-----------------------------------------------------------------------------



Re: optische taeuschung (Phobos, 30. Sep 2002, 19:04:24):
~#! rn=Phobos rt=1033405360 rg=puiz
~#! tid=1033405360
s/Unter/ueber/

-----------------------------------------------------------------------------



Re: optische taeuschung (Schoko, 30. Sep 2002, 20:13:58):
~#! rn=Phobos rt=1033405360 rg=puiz
~#! tid=1033405360
Also vieleicht hab ich ja grad den Trick an der Illusion nicht kapiert, aber
bei mir sind das eindeutig 2 verschiedene Farben und Quadrat B ist wesentlich
heller, als A.

Das behauptet mein Photoshop uerbigends auch ... klaert mich mal bitte einer
auf, ob ich da vieleicht den Gag nicht verstanden habe?

Schoko

-----------------------------------------------------------------------------



Re: Re: optische taeuschung (Phobos, 30. Sep 2002, 20:25:51):
~#! rn=Schoko rt=1033409638 rg=puiz
~#! tid=1033405360
Ich habe mal ein Stueck aus der Mitte von B ausgeschnitten und mit
Copy&Paste nach A verschoben, und fuer mich war das die gleiche
Farbe. Vielleicht hast Du zu weit am Rand geschaut.

Phobos

-----------------------------------------------------------------------------



Re^3: optische taeuschung (Cuchullin, 30. Sep 2002, 21:04:51):
~#! rn=Phobos rt=1033410351 rg=puiz
~#! tid=1033405360
In der Tat das schoenste Beispiel fuer Helligkeitskonstanz, das mir
bisher untergekommen ist. Der "Kniff" daran wird ja vor Ort erklaert:
Die vom Auge gelieferten Rohdaten werden mit kognitiver Leistung auf-
bereitet, damit wir die Objekte, die wir betrachten, moeglichst ohne
Einfluss der Verhaeltnisse wahrnehmen. Als Normalsterblicher bemerkt
man das normalerweise nur, wenn man mit der Kleinbildkamera auf einem
Film mal Bilder bei Sonnenschein und dann bei Lagerfeuer gemacht hat
- und der Automat, der die Abzuege produziert, nicht fuer jedes Bild
extra einen Weissabgleich macht.

Cuch - muss schwallen weil er was weiss :)

-----------------------------------------------------------------------------



Re^4: optische taeuschung (Schoko, 30. Sep 2002, 22:16:12):
~#! rn=Cuchullin rt=1033412691 rg=puiz
~#! tid=1033405360

Ok inzwischen hab ich auch entsprechende Ergebnisse :)

Ich hatte vorher mit dem Pinzettentool aus beiden Quadraten die Bildfarbe
genommen und _ziemlich_ unterschiedliche Werte gekriegt. Ob ich nur schief
geklickt hatte oder sonstwas schiefging dabei, kann ich schwer sagen,
jedenfalls nach der Ausschneide und Verschiebe Methode seh ich nun auch ein:
die Quadrate haben tatsaechlich die gleiche Grautoenung...


Und erstaunlicherweise liegt das nichtmal am Gesamtbild, welches den Schatten
suggeriert, die Illusion bleibt bestehen, wenn man in Riesenvergroeerung nur
noch die 2 Quadrate mit dem entsprechenden hell-dunkel Verlauf betrachtet. Bin
beeindruckt :)

Schoko
P.S.: ja ich weiss, das mit dem Farbverlauf steht auch auf der
Erklaerungsseite :)

-----------------------------------------------------------------------------



Re^5: optische taeuschung (Phobos,  3. Okt 2002, 10:11:45):
~#! rn=Schoko rt=1033416972 rg=puiz
~#! tid=1033405360
Ich habe noch eine interessante Ergaenzungsseite gefunden:
psylux.psych.tu-dresden.de/i1/kaw/diverses%20Material/
   www.illusionworks/html/shadow.html

(die beiden Zeilen sind EINE url)

Phobos

-----------------------------------------------------------------------------



Re^6: optische taeuschung (Phobos,  3. Okt 2002, 10:13:43):
~#! rn=Phobos rt=1033632705 rg=puiz
~#! tid=1033405360
args, die korrekte url ist:
http://psylux.psych.tu-dresden.di/i1/kaw/diverses%20Material/
   www.illusionworks.COM/html/shadow.html

Phobos

-----------------------------------------------------------------------------



Re^7: optische taeuschung (Schoko,  3. Okt 2002, 21:17:54):
~#! rn=Phobos rt=1033632823 rg=puiz
~#! tid=1033405360
Dafuer aber .DE statt .di :)

Schoko

-----------------------------------------------------------------------------



Optische Taeuschung? (Gloinson,  5. Okt 2002, 13:17:02):
http://www.alledegodenavnevaroptaget.dk/gallery/bigimages/bizar.jpg

:schmunzelt.

-----------------------------------------------------------------------------



Re: Optische Taeuschung? (Cuchullin,  5. Okt 2002, 15:27:33):
~#! rn=Gloinson rt=1033816622 rg=puiz
~#! tid=1033816622
Die Steigung des gruenen Dreiecks betraegt 40%, die des roten 37,5%.

-----------------------------------------------------------------------------



Re: Optische Taeuschung? (Phobos,  5. Okt 2002, 16:29:39):
~#! rn=Gloinson rt=1033816622 rg=puiz
~#! tid=1033816622
Gut gefaellt mir auch:

www.runyn.de/moving.jpg

Phobos

-----------------------------------------------------------------------------



Re: Re: Optische Taeuschung? (Gloinson,  5. Okt 2002, 20:23:45):
~#! rn=Cuchullin rt=1033824453 rg=puiz
~#! tid=1033816622
Naja, dass das grosse Dreieck nur scheinbar eines ist, haettest Du ja auch
anderen zum Rausfinden ueberlassen koennen.

-----------------------------------------------------------------------------



Re^3: Optische Taeuschung? (Cuchullin,  5. Okt 2002, 23:03:56):
~#! rn=Gloinson rt=1033842225 rg=puiz
~#! tid=1033816622
Dann poste sowas doch nicht in puiz. ;)

-----------------------------------------------------------------------------



Telepolis Raetsel 2002 - Aufloesung (Croft, 21. Okt 2002, 19:50:04):
Unter
http://www.heise.de/tp/deutsch/kunst/rate/rate_los.html
ist die Aufloesung zum Telepolis Raetsel 2002 zu finden.
Croft

-----------------------------------------------------------------------------



Re: Telepolis Raetsel 2002 - Aufloesung (Nonne, 22. Okt 2002, 12:50:32):
~#! rn=Croft rt=1035222604 rg=puiz
~#! tid=1035222604
Naja, hatten wir ja fast alle richtig, bis auf die Flagge (wer kommt da auf
die Vornamen *grrr+) und statt Zollschiff hatten wir nur Schiff. Naja,
naechstes Jahr...

Nonne.

-----------------------------------------------------------------------------



Re: Re: Telepolis Raetsel 2002 - Aufloesung (Elberet, 22. Okt 2002, 14:02:16):
~#! rn=Nonne rt=1035283832 rg=puiz
~#! tid=1035222604
Bei den Flaggen hatten wir auch richtig Antwort. Eldaron hat das rausbekommen.

Elbi

-----------------------------------------------------------------------------



12 Kugeln sollst Du wiegen... (Sarkon,  6. Nov 2002, 15:04:40):
Wird den Knobelsuechtigen schon bekannt sein, aber vielleicht ja dem/der einen
oder andern noch nicht.

Gegeben sind 12 Kugeln gleichen Aussehens und Volumens. Eine davon ist
leichter oder schwerer als jede der elf restlichen. Diese eine Kugel soll
durch drei Waegungen gefunden werden. Die Waage kann nur feststellen: links
gleiches Gewicht wie rechts, links schwerer als rechts, links leichter als
rechts.

F: Wie muss ich wiegen, um die Kugel zu finden und um festzustellen, ob sie
leichter oder schwerer ist?

Kann leider nicht als Quizmaster dienen, aber gibt bestimmt welche die das
Raetsel kennen und moeglicherweise unterstuetzen :) Sarkon

-----------------------------------------------------------------------------



Re: 12 Kugeln sollst Du wiegen... (Orktoeter,  6. Nov 2002, 15:06:39):
~#! rn=Sarkon rt=1036591480 rg=puiz
~#! tid=1036591480
Hey! Ist schon wieder ein Jahr um?

OrkT, sich immer wieder ueber ein revival eines Klassikers freuend.

-----------------------------------------------------------------------------



Re: Re: 12 Kugeln sollst Du wiegen... (Boing,  6. Nov 2002, 15:07:33):
~#! rn=Orktoeter rt=1036591599 rg=puiz
~#! tid=1036591480
War glaub nicht mal ein halbes Jahr. Wurde hier schon 100 mal durchgekaut,
ausserdem gibts das als Questbestandteil.
  Boing

-----------------------------------------------------------------------------



Re: 12 Kugeln sollst Du wiegen... (Dotz,  6. Nov 2002, 15:10:40):
~#! rn=Sarkon rt=1036591480 rg=puiz
~#! tid=1036591480
Questest Du gerade oder wieso stellst Du hier ein Raetsel, welches auch
im MorgenGrauen vorkommt?
Es gilt uebrigens allgemeiner folgendes:
Die Ausnahmekugel unter n Kugeln (n>2, sonst macht das eh keinen Sinn)
laesst sich mit k-maligem Wiegen bestimmen, falls
n <= 2^(k+1)-4
ist. Ausser im Fall n=4 kann man auch noch angeben, ob sie leichter oder
schwerer als die uebrigen ist.

-----------------------------------------------------------------------------



Re: 12 Kugeln sollst Du wiegen... (Betty,  6. Nov 2002, 15:15:32):
~#! rn=Sarkon rt=1036591480 rg=puiz
~#! tid=1036591480
On nein, nicht schon wieder !!

-----------------------------------------------------------------------------



Re^3: 12 Kugeln sollst Du wiegen... (Croft,  6. Nov 2002, 15:16:24):
~#! rn=Boing rt=1036591653 rg=puiz
~#! tid=1036591480
Fender am 28.4.02.  Also grad so ein halbes Jahr ;-)
Gruss Croft

-----------------------------------------------------------------------------



Re: Re: 12 Kugeln sollst Du wiegen... (Boing,  6. Nov 2002, 15:17:34):
~#! rn=Dotz rt=1036591840 rg=puiz
~#! tid=1036591480
Die Formel scheint aber nicht alles abzudecken, denn sicherlich wird
Catweazle sobald er hier erscheint wieder erwaehnen (wie immer), dass es
auch mit 13 Kugeln noch geht ... ;)
  Boing

-----------------------------------------------------------------------------



Re^3: 12 Kugeln sollst Du wiegen... (Dotz,  6. Nov 2002, 15:19:22):
~#! rn=Boing rt=1036592254 rg=puiz
~#! tid=1036591480
Ich habe nicht behauptet, dass die Abschaetzung optimal ist. Kennt jemand
eine optimale (mit Beweis natuerlich)?
Dotz

-----------------------------------------------------------------------------



Re^4: 12 Kugeln sollst Du wiegen... (Sarkon,  6. Nov 2002, 15:27:59):
~#! rn=Dotz rt=1036592362 rg=puiz
~#! tid=1036591480
Das Raetsel gibt inner Quest? Tja, entweder mit KL gespielt und vergessen oder
es is die Gefaengnisquest :) Achja und zu dem "Vorwurf" das Raetsel waere
schon xmal durchgekaut. Hab ich nicht mitbekommen (les ja nich staendig
mpa)...Also Grimmborn: bitte loeschen. Ausser es will natuerlich doch noch
jemand nen Loesungsweg beschreiben. Keinen allgemeinen, einen fuer 12 Kugeln
mit einer verschiedenen bei 3 Waegungen. Sarkon

-----------------------------------------------------------------------------



Re^5: 12 Kugeln sollst Du wiegen... (Croft,  6. Nov 2002, 15:29:55):
~#! rn=Sarkon rt=1036592879 rg=puiz
~#! tid=1036591480
Oder gar nicht gespielt: 'Frieden fuer Tarko Reub' heisst/hiess die Quest.
Gruss Croft

-----------------------------------------------------------------------------



Re^5: 12 Kugeln sollst Du wiegen... (Nonne,  6. Nov 2002, 15:30:07):
~#! rn=Sarkon rt=1036592879 rg=puiz
~#! tid=1036591480
http://www.google.de/search?q=12+kugeln+3+w%C3%A4gungen&ie=UTF-8&oe=UTF-8&hl=d
e&meta=

So einfach ist des Raetsels Loesung (c;

Nonne.

-----------------------------------------------------------------------------



Re^6: 12 Kugeln sollst Du wiegen... (Sarkon,  6. Nov 2002, 15:31:29):
~#! rn=Nonne rt=1036593007 rg=puiz
~#! tid=1036591480
Na hab ja nicht gewusst, dass das son oller Schinken ist. Wollte ja nicht nur
eine Loesung, sondern auch eure Koepfchen anstrengen :) Google weiss eh
alles...Sarkon

-----------------------------------------------------------------------------



Re^7: 12 Kugeln sollst Du wiegen... (Karis,  6. Nov 2002, 15:32:17):
~#! rn=Sarkon rt=1036593089 rg=puiz
~#! tid=1036591480
Das bringt uns zu dem naechsten Raetsel:
Finde etwas, was google nicht weiss ;)
Karis

-----------------------------------------------------------------------------



Re^8: 12 Kugeln sollst Du wiegen... (Humni,  6. Nov 2002, 15:39:19):
~#! rn=Karis rt=1036593137 rg=puiz
~#! tid=1036591480
Was Autobatterie-Ladegeraete kosten, wenn man sie kauft.

Hab ich jedenfalls nicht rausbekommen.

Humni

-----------------------------------------------------------------------------



Re: Re: 12 Kugeln sollst Du wiegen... (Catweazle,  6. Nov 2002, 16:30:38):
~#! rn=Dotz rt=1036591840 rg=puiz
~#! tid=1036591480
Also ich bin ja nicht besonders Formel-versiert, aber ich kann auf jeden Fall
versichern, das es bei dreimaligem Wiegen auch mit 13 Kugeln geht. 

YTC (hehe)

-----------------------------------------------------------------------------



Re^3: 12 Kugeln sollst Du wiegen... (Dotz,  6. Nov 2002, 16:41:46):
~#! rn=Catweazle rt=1036596638 rg=puiz
~#! tid=1036591480
Versichern? Hm, kannst Du es auch beweisen oder muessen wir uns mit Deinem
Ehrenwort zufrieden geben? :^)
Dotz, WG

-----------------------------------------------------------------------------



Re^4: 12 Kugeln sollst Du wiegen... (Catweazle,  6. Nov 2002, 16:48:39):
~#! rn=Dotz rt=1036597306 rg=puiz
~#! tid=1036591480
Oh, ich die pikante Zusatzbedingung - herauszufinden ob leichter oder schwerer
- tatsaechlich uebersehen. Das geht dann wohl nicht mehr. Tatsaechlich hat der
mir bekannte (einfache) Loesungsweg auch nicht in der Lage, diese
Differenzierung zu machen. 

YTC

-----------------------------------------------------------------------------



Re^5: 12 Kugeln sollst Du wiegen... (Catweazle,  6. Nov 2002, 16:49:41):
~#! rn=Catweazle rt=1036597719 rg=puiz
~#! tid=1036591480
Mann, ich muesste mal lernen, meine 'hat's richtig zu platzieren ...

YTC

-----------------------------------------------------------------------------



Re^6: 12 Kugeln sollst Du wiegen... (Sarkon,  6. Nov 2002, 17:16:26):
~#! rn=Catweazle rt=1036597781 rg=puiz
~#! tid=1036591480
Noch ne Frage/Aufgabe: Von den 12 Kugeln kann jede leichter oder schwerer
sein, was 24 moegliche Faelle ergibt. Bei jeder Waegung kann die Waage drei
moegliche Stellungen einnehmen, was 3*3*3=27 Faelle ergibt. Warum stimmen die
beiden Zahlen nicht ueberein?

-----------------------------------------------------------------------------



Re^7: 12 Kugeln sollst Du wiegen... (Humni,  6. Nov 2002, 17:24:56):
~#! rn=Sarkon rt=1036599386 rg=puiz
~#! tid=1036591480
Weil nicht immer die informationstheoretische Schranke bei jeder Aufgabe
erreicht werden kann. Reicht das als Antwort? ;-)

Humni

-----------------------------------------------------------------------------



Re^6: 12 Kugeln sollst Du wiegen... (Ark,  6. Nov 2002, 18:07:38):
~#! rn=Nonne rt=1036593007 rg=puiz
~#! tid=1036591480
Ich glaube, ich muss Dich wg. Verbreitung von Loesungen loeschen.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: 12 Kugeln sollst Du wiegen... (Phobos,  6. Nov 2002, 19:00:36):
~#! rn=Sarkon rt=1036591480 rg=puiz
~#! tid=1036591480
ma do : like
me to : find
fake  : coin

phobos .. hat mal wieder ein dejavu-erlebnis

-----------------------------------------------------------------------------



Mathe (Anoris,  6. Nov 2002, 22:16:59):
Laeufer A benoetigt fuer eine 25km lange Strecke 30 Minuten mehr als Laeufer B
fuer 15km braeuchte. Die Geschwindigkeit von A ist um 2,5 km/h groesser als
die von B.

Gesucht: Laufzeit von Laeufer A

- Anoris ;)

-----------------------------------------------------------------------------



Re: Mathe (Morgonate,  6. Nov 2002, 22:44:50):
~#! rn=Anoris rt=1036617419 rg=puiz
~#! tid=1036617419
Ist das nen Quiz oder ne Matheaufgabe? ;)


-----------------------------------------------------------------------------



Re: Re: Mathe (Grimmborn,  6. Nov 2002, 22:52:50):
~#! rn=Morgonate rt=1036619090 rg=puiz
~#! tid=1036617419
Tja, fuer die einen ist es eine Matheaufgabe, fuer die anderen der laengste
Dauerlauf ihres Lebens...

GdA, nie laenger als 1 km am Stueck gerannt

-----------------------------------------------------------------------------



Re^3: Mathe (Morgonate,  6. Nov 2002, 23:13:22):
~#! rn=Grimmborn rt=1036619570 rg=puiz
~#! tid=1036617419
tja, die loesung hab ich jetzt, bloss die aufgabe hat das problem, dass sie
quadratisch ist. ;)


-----------------------------------------------------------------------------



Re: Mathe (Householder,  7. Nov 2002, 14:11:45):
~#! rn=Anoris rt=1036617419 rg=puiz
~#! tid=1036617419
hm hoert sich fast an wie ein Schueler, der seine Matheaufgaben (10. Klasse ?)
von anderen machen lassen will :-) 

-----------------------------------------------------------------------------



Re: Re: Mathe (Morgonate,  7. Nov 2002, 20:36:11):
~#! rn=Householder rt=1036674705 rg=puiz
~#! tid=1036617419
naja, bei den matheaufgaben der 10ten kam normalerweise was sinnvolleres raus.


-----------------------------------------------------------------------------



Re^3: Mathe (Anoris,  7. Nov 2002, 21:27:25):
~#! rn=Morgonate rt=1036697771 rg=puiz
~#! tid=1036617419

Aber trotzdem sehr interessant die vielen Feedbacks wie: Wart ich schaus
mir an und die Kommentere dazu wie: ax + b/x + c = 0 was nicht wirklich
einer quadratischen Gleichung entspricht. u.v.a. ;)

) - Anoris

-----------------------------------------------------------------------------



Re^4: Mathe (Householder,  8. Nov 2002, 08:57:56):
~#! rn=Anoris rt=1036700845 rg=puiz
~#! tid=1036617419
was meinst du mit 'nicht wirklich' ? 

-----------------------------------------------------------------------------



Wie ist die Loesung vom Raum-Raetsel? (Fender, 15. Nov 2002, 16:07:40):
Ich habe grade ein bisschen im Archiv der MPA rumgestoebert, und bin auf das
Raetsel von Phobos gestossen. Vielleicht erinnert Ihr Euch noch. Es ging um
ein Gefaengnis mit einem Raum, in dem 2 Schalter sind. 23 Haeftlinge sollen
per Zufall rein, usw. Ihr koennt es ja nochmal nachlesen, wenn Ihr wollt:
Rubrik Puiz, 24.Jul 2002

Ich hab mir alle Artikel durchgelesen, aber leider hoert die Liste Ende Juli
auf. Kann mir nun jemand verraten, wie die Loesung ist? Oder habt Ihr die noch
gar nicht rausgefunden??

Vielen Dank schonmal, Fender

-----------------------------------------------------------------------------



Re: Wie ist die Loesung vom Raum-Raetsel? (Croft, 15. Nov 2002, 16:13:48):
~#! rn=Fender rt=1037372860 rg=puiz
~#! tid=1037372860
Jo. Ich hatte die Loesung gepostet.

Croft

-----------------------------------------------------------------------------



Re: Wie ist die Loesung vom Raum-Raetsel? (Eldaron, 15. Nov 2002, 16:14:56):
~#! rn=Fender rt=1037372860 rg=puiz
~#! tid=1037372860
Es wird ein Hebel-Reseter vorher vereinbart, der den Hebel in eine
Initialstellung bringen soll/darf. Meinetwegen den zweiten Hebel nach unten.
Alle anderen stellen den zweiten Hebel nach oben, sofern sie ihn unten
vorfinden, ansonsten bewegen sie einfach den ersten Hebel. Nur der
Hebel-Reseter darf den zweiten Hebel nach unten bewegen. Der Hebelreseter
zaehlt, wie oft er den Hebel nach unten bewegt hat. Jeder bewegt den zweiten
Hebel maximal 2 mal nach oben. Nach 43 (22*2-1) Hebelreseten kann der Reseter
sicher sein, dass mindestens jeder den zweiten Hebel einmal bewegt hat.

Eldaron, aus dem Kopf resumierend und sich nicht sicher seiend

-----------------------------------------------------------------------------



Re: Re: Wie ist die Loesung vom Raum-Raetsel? (Croft, 15. Nov 2002, 16:17:30):
~#! rn=Eldaron rt=1037373296 rg=puiz
~#! tid=1037372860
Yep. Genau das wars.

Croft

-----------------------------------------------------------------------------



Re: Re: Wie ist die Loesung vom Raum-Raetsel? (Fender, 15. Nov 2002, 17:17:40):
~#! rn=Eldaron rt=1037373296 rg=puiz
~#! tid=1037372860
Aber wie kann der Reseter sicher sein, dass alle den Hebel bewegt haben und
nicht einer 4 x und ein anderer gar nicht??

-----------------------------------------------------------------------------



Re^3: Wie ist die Loesung vom Raum-Raetsel? (Eldaron, 15. Nov 2002, 17:22:04):
~#! rn=Fender rt=1037377060 rg=puiz
~#! tid=1037372860
Lies meinen Artikel noch mal durch.

Eldaron

-----------------------------------------------------------------------------



Re^4: Wie ist die Loesung vom Raum-Raetsel? (Fender, 15. Nov 2002, 17:23:10):
~#! rn=Eldaron rt=1037377324 rg=puiz
~#! tid=1037372860
Alles klar.. jetzt hab ichs... Die Leute wissen ja, wie oft sie einen Hebel
bewegen... logisch *g*

-----------------------------------------------------------------------------



Re^5: Wie ist die Loesung vom Raum-Raetsel? (Fender, 15. Nov 2002, 17:24:46):
~#! rn=Fender rt=1037377390 rg=puiz
~#! tid=1037372860
Aber es muss doch noch eine schnellere Variante geben, oder? Wenn der Reseter
erst 43 mal in den Raum muss (wahrscheinlich ja noch oefter), dann sind auf
jeden Fall schon alle anderen tot...

Was ist denn mit der Anzahl der Leute? Und mit der Zeitauswahl? Ist das nur
zur Irrefuehrung?

-----------------------------------------------------------------------------



Re^6: Wie ist die Loesung vom Raum-Raetsel? (Karis, 15. Nov 2002, 17:30:17):
~#! rn=Fender rt=1037377486 rg=puiz
~#! tid=1037372860
Naja, einge gewisse Reststrafe sollten die Herren wohl auf
jeden Fall absitzen ;)
Karis

-----------------------------------------------------------------------------



Re^6: Wie ist die Loesung vom Raum-Raetsel? (Croft, 15. Nov 2002, 17:35:47):
~#! rn=Fender rt=1037377486 rg=puiz
~#! tid=1037372860
Die Anzahl der Leute war doch in der Formel drin: ((x-1)*2-1) fuer x=23.
Oder hast du die Vorgehensweise noch nicht so ganz durchschaut? ;-)

-----------------------------------------------------------------------------



Re^7: Wie ist die Loesung vom Raum-Raetsel? (Fender, 15. Nov 2002, 17:44:34):
~#! rn=Croft rt=1037378147 rg=puiz
~#! tid=1037372860
Klar, die hab ich, ich hatte nur beim ersten lesen an die Stunden gedacht...
Und dachte, da die leute sich ja aussuchen koennen, wann sie gehen wollen,
dass das irgendwie mit der uhrzeit zusammenhaengt.... aber das war nur zum in
die Irre fuehren... ;-)

-----------------------------------------------------------------------------



Luft (Wind), Flugzeuge und Berechnungen dazu (Anoris, 21. Nov 2002, 00:01:10):
Eine Flugstrecke besteht aus zwei Abschnitten, 485 NM der erste Abschnitt,
650 NM der zweite. Windkomponente -80 auf dem ersten Abschnitt. Wie "gut"
muesste nun die Windkomponente auf dem zweiten Abschnitt sein, damit die
mittlere Komponente Null wird? True Airspeed (TAS) 300 kts.

Loesungsweg und Antwort vorhanden, 100 Gramm Schoggi zu gewinnen ;)

- Anoris

-----------------------------------------------------------------------------



Re: Luft (Wind), Flugzeuge und Berechnungen dazu (Gnome, 21. Nov 2002, 00:22:47):
~#! rn=Anoris rt=1037833270 rg=puiz
~#! tid=1037833270
knapp 60?

-----------------------------------------------------------------------------



Re: Re: Luft (Wind), Flugzeuge und Berechnungen dazu (Bambi, 21. Nov 2002, 00:27:22):
~#! rn=Gnome rt=1037834567 rg=puiz
~#! tid=1037833270
Ich bin zwar kein (Segel)flieger, aber ich hab mal aufgrund verschiedener
Webseiten folgende Ueberlegungen aufgestellt.
Die Windkomponente sagt aus, um wieviele Knoten pro Stunde man windbedingt
schneller oder langsamer vorankommt (zum Bezugssystem Erde gesehen).
Ich habe dann folgende Rechnung aufgestellt.
Ohne Windkomponenten braeuchte das Flugzeug (650NM + 485NM) / 300(NM/h)
Stunden.
Das sind ausgerechnet (etwa) 3.783 Stunden. (Letzte 3 ist periodisch.)
Nun schau ich mir wieder die Einzelstrecken mit Windkomponente an. 
485NM / (300NM/h -80NM/h) verbrauch ich schonmal von der Zeit.
Diese Zeit (etwa 2.2045 Stunden, (45 periodisch)) zieht man von der ueblichen
Flugzeit ab. Also 3.783h - 2.2045h bleibt fuer den Rest der Strecke. (Also
etwa 1.578h, 78 periodisch.)
Die Gleichung 650 / (300 + x) = 1.57878787878... wird nun nach x (der
Windkomponente) aufgeloest. Das ergibt dann fuer x etwa 111.7082533 NM/h.
Die Antwort ist also, dass das Flugzeug auf der zweiten Strecke eine
Windkomponente von etwa +111.71 NM/h haben muss.

Bei der Berechnung habe ich (aufgrund mangelnder Sachkenntnis) vorausgesetzt,
dass die Windkomponente der vektorielle Anteil der wirklichen Windrichtung
(und Geschwindigkeit) ist, der mit der Flugrichtung des Flugzeugs
uebereinstimmt.

Krieg ich die Schoki? :)

-----------------------------------------------------------------------------



Re^3: Luft (Wind), Flugzeuge und Berechnungen dazu (Anoris, 21. Nov 2002, 00:29:20):
~#! rn=Bambi rt=1037834842 rg=puiz
~#! tid=1037833270
Gratulatione, diese Tafel geht an Bambi ;) Was fuer ne Sorte willst? *G*

- Anoris

-----------------------------------------------------------------------------



Re^4: Luft (Wind), Flugzeuge und Berechnungen dazu (Bambi, 21. Nov 2002, 00:30:13):
~#! rn=Anoris rt=1037834960 rg=puiz
~#! tid=1037833270
Keine mit Nuss, keine mit Alk, keine mit Marzipan, keine mit Fruechten.
Am liebsten Vollmilch, Alpenmilch oder sowas in der Art. :)

-----------------------------------------------------------------------------



Re^5: Luft (Wind), Flugzeuge und Berechnungen dazu (Grimmborn, 21. Nov 2002, 07:47:39):
~#! rn=Bambi rt=1037835013 rg=puiz
~#! tid=1037833270
Eigentlich solltest Du noch einen Extrapreis fuer die komplizierteste
Umschreibung eines einfachen Dreisatzes bekommen...

GdA

-----------------------------------------------------------------------------



Re^6: Luft (Wind), Flugzeuge und Berechnungen dazu (Bambi, 21. Nov 2002, 11:44:53):
~#! rn=Grimmborn rt=1037861259 rg=puiz
~#! tid=1037833270
Lobst Du den aus? Kannst Du das in Form von Geld fuer Schokolade von Anoris
tun? :)

-----------------------------------------------------------------------------



Re^6: Wie ist die Loesung vom Raum-Raetsel? (Mucks, 25. Nov 2002, 16:38:18):
~#! rn=Fender rt=1037377486 rg=puiz
~#! tid=1037372860
Unsichere, schnellere, einfache Loesung:
Der erste Haeftling, der 20 mal im Raum ist, sagt,
jeder Haeftling war schon im Raum. Das klappt mit ueber 99.9%
Wahrscheinlichkeit, bei durchschnittlich 284 Raum-betretungen.
Bei der absolut sicheren Methode braucht man meist mehr als 
1000 Raum-betretungen.

-----------------------------------------------------------------------------



Re^7: Wie ist die Loesung vom Raum-Raetsel? (Croft, 25. Nov 2002, 16:43:09):
~#! rn=Mucks rt=1038238698 rg=puiz
~#! tid=1037372860
Naja. Da der "Zufallsgenerator" eher gegen die Leute arbeitet, ist das
aber keine kluge Strategie ,-)

Croft

-----------------------------------------------------------------------------



Re^8: Wie ist die Loesung vom Raum-Raetsel? (Humni, 25. Nov 2002, 16:44:07):
~#! rn=Croft rt=1038238989 rg=puiz
~#! tid=1037372860
Vor allem dann nicht, wenn man das als
mathematisches/theoretisch-informatisches Problem mit 2 Spielern sieht, bei
dem der eine eine Strategie sucht, und der andere einen Weg, das moeglichst
gut zu blockieren...

Humni

-----------------------------------------------------------------------------



Re^7: Wie ist die Loesung vom Raum-Raetsel? (Catweazle, 25. Nov 2002, 16:55:48):
~#! rn=Mucks rt=1038238698 rg=puiz
~#! tid=1037372860
Die Methode der "1000 Raum-betretungen" ist mitnichten "absolut sicher".

YTC

-----------------------------------------------------------------------------



Re^8: Wie ist die Loesung vom Raum-Raetsel? (Grimmborn, 25. Nov 2002, 16:56:54):
~#! rn=Catweazle rt=1038239748 rg=puiz
~#! tid=1037372860
Doch: Das dauert so lange dass die Leute dann tot sind und das also eh keine
Rolle mehr spielt.

GdA

-----------------------------------------------------------------------------



Re^8: Wie ist die Loesung vom Raum-Raetsel? (Mucks, 25. Nov 2002, 17:26:24):
~#! rn=Croft rt=1038238989 rg=puiz
~#! tid=1037372860
Ich bin davon ausgegangen, dass zufaellig (unabhaengig und gleichverteilt)
einer der Haeftlinge ausgewaehlt wird, der als naechstes den Raum betreten
darf.

-----------------------------------------------------------------------------



Re^9: Wie ist die Loesung vom Raum-Raetsel? (Croft, 25. Nov 2002, 17:33:18):
~#! rn=Mucks rt=1038241584 rg=puiz
~#! tid=1037372860
Schoen das du davon ausgehst.  Aber so ist die Aufgabe nicht gestellt ,-)

Gruss Croft

-----------------------------------------------------------------------------



Re^10: Wie ist die Loesung vom Raum-Raetsel? (Croft, 26. Nov 2002, 15:34:58):
~#! rn=Croft rt=1038241998 rg=puiz
~#! tid=1037372860
Ich muss mich korrigieren.  In der Aufgabenstellung wird dafuer das
Losverfahren erwaehnt, so dass alle Haeftlinge gleichwahrscheinlich
ausgewaehlt werden.  Ich denk wohl zu sehr worst case lastig ,-)

Croft

-----------------------------------------------------------------------------



Kugeln, die 2te (Alpha, 28. Nov 2002, 12:48:36):
Fast die gleiche Problemstellung wie vorher....
Man hat 12 Kugeln, und weiss, dass eine davon etwas leichter ist und eine
weitere Kugel ist etwas schwere (sie ist um den geleichen betrag schwerer, den
die leichte Kugel leichter als eine normale Kugel ist).
Mit wieviel Waegungen auf der Balkenwaage kann man die beiden Kugeln
identifizieren? Mit 7 gehts sicherlich, aber gehts auch mit weniger?

-----------------------------------------------------------------------------



Regular Expression? (Hate, 29. Nov 2002, 17:16:19):
Hallo liebe Leute und Raetsler, hier eine kleine Aufgabe: Was findet der
folgende regulaere Ausdruck:


^[[:space:]]*([-*][[:space:]]+|[iIaA1ghHkKj]\\.[[:space:]]+)(\r?\n[[:space:]]*
(?:([-*][[:space:]]+)|([iIaA1ghHkKj]\\.[[:space:]]+))|.*)*$

Kleiner Tip: Der Matcher matched im Eingabetext ^ und $ fuer Anfang und Ende
jeder einzelnen Zeile.

Hate.

-----------------------------------------------------------------------------



Re: Regular Expression? (Hate, 29. Nov 2002, 18:17:35):
~#! rn=Hate rt=1038586579 rg=puiz
~#! tid=1038586579
Nochwas: Die doppel \\ sind einfache \ (kommt weils aus Java String kommt).

Hate.

-----------------------------------------------------------------------------



Re: Regular Expression? (Woody, 30. Nov 2002, 14:55:22):
~#! rn=Hate rt=1038586579 rg=puiz
~#! tid=1038586579
Oder wie waers mit was komplexerem?

\t])*))*@(?:(?:\r\n)?[ \t])*
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
 \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
\t])+|\Z|(?=[\["()<>@,
;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
"()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
?:\r\n)?[ \t])*))*)?;\s*)

Tip: mit Google findet mans rehct schrecht schnell :)

P.S. Manch Zeilenumbruch scheint nicht ganz korrekt angekommen zu sein :-P


-----------------------------------------------------------------------------



Re: Re: Regular Expression? (Whitetiger, 30. Nov 2002, 15:05:30):
~#! rn=Woody rt=1038664522 rg=puiz
~#! tid=1038586579
Mail::RFC822::Address

WT.

-----------------------------------------------------------------------------



halbkreise (Phobos, 19. Jan 2003, 18:55:37):
Heute mal was zum Basteln:

Eine Kreisscheibe (z.B. aus Holz oder Papier) soll mit moeglichst wenig
Schnitten in zwei gleich grosse perfekte Halbkreise zerlegt werden. 
Jeder Schnitt muss geradlinig sein, die Endpunkte brauchen nicht am
Kreisrand zu liegen. Wieviel Schnitte sind mindestens notwendig?

Ach ja, damit es nicht zu einfach wird: Kein Schnitt und keine geradlinige 
Verlaengerung eines Schnitts darf durch den Kreismittelpunkt gehen.

Phobos

-----------------------------------------------------------------------------



Re: halbkreise (Phobos, 20. Jan 2003, 21:44:57):
~#! rn=Phobos rt=1042998937 rg=puiz
~#! tid=1042998937
Noch ein paar Hinweise:

- Kein Schnitt kommt in die unmittelbare Naehe des Kreismittelpunkts.
- Die Aufgabe ist zweidimensional gemeint.
- Es geht mit weniger als zehn Schnitten.
- Natuerlich darf der kreis in mehr als zwei Teile zerschnitten werden,
  aus denen sich dann zwei Halbkreise zusammensetzen lassen (sonst gibt
  das ja nicht sooo viele Moeglichkeiten, Halbkreise zu bilden).

Phobos

-----------------------------------------------------------------------------



Re: halbkreise (Phobos, 24. Jan 2003, 19:18:44):
~#! rn=Phobos rt=1042998937 rg=puiz
~#! tid=1042998937
Ok, ich loese mal auf:

                         ,---------.
                      ,-'           `-.
                   ,-'                 `-.
                 ,'              .-C      `.
                /            _.-' /|        \
               /          .-'   .' |         \
              ;        .-'     /   F-.        :
              ;     .-'       /    |  `-H     :
             ;  _.-'         /     |    /`-._  :
             A-:            / M    |   /     :-B
             :  `-._      .'       | .'   .-'  ;
              :     `-.  /         |/ _.-'    ;
              :        `G.         E-'        ;
               \          `-.      |         /
                \            `-._  |        /
                 `.              `-D      ,'
                   '-.                 ,-'
                      `-.           ,-'
                         `---------'

Zeichne einen Kreis mit Kreismittelpunkt M.
Zeiche eine (Hilfs-)Gerade durch M und benenne die Schnittpunkte von Gerade 
und Kreisrand A und B.
Zeichne ein gleichseitiges Dreieck ACD, wobei die Punkte C und D im Inneren
der Kreisschreibe liegen und die Gerade CD senkrecht auf AB steht, wobei der
Schnittpunkt von AB und CD auf der Strecke MB liegt, aber nicht im Punkt M.
Zeichne ein gleichseitiges Dreieck BEF, wobei die Punkte E und F auf der
Geraden CD liegen.
Zeichne eine Gerade GC, wobei G die Strecke AD halbiert.
Zeichne eine Gerade HE, wobei H die Strecke BF halbiert.

Um den Kreis in zwei Halbkreise zu zerlegen, werden sieben Schnitte
benoetigt: AC, CD, DA, BE, BF, CG, EH.
Nun dreht man die Dreiecke ACD und BEF jeweils um 120 Grad gegen den UZS
und erhaelt zwei Halbkreise.


Phobos

-----------------------------------------------------------------------------



Re: Re: halbkreise (Boing, 24. Jan 2003, 21:53:53):
~#! rn=Phobos rt=1043432324 rg=puiz
~#! tid=1042998937
Ich hab's auch mit Loesung noch nicht kapiert ... geht das vielleicht
noch anderen so? Muntert mich auf ... ;)
  Boing

-----------------------------------------------------------------------------



Re^3: halbkreise (Boing, 24. Jan 2003, 22:14:36):
~#! rn=Boing rt=1043441633 rg=puiz
~#! tid=1042998937
Ok, ich hab's mir erklaeren lassen, bin aber reichlich unbefriedigt ...
Wenn 4 Dreiecke und 2 unfoermige Teile 2 perfekte Halbkreise sein sollen,
naja ... ausserdem geht CG nach der Drehung durch den Mittelpunkt und
widerspricht damit der urspruenglichen Bedingung.
  Boing

-----------------------------------------------------------------------------



Re: Re: halbkreise (Catweazle, 24. Jan 2003, 22:52:37):
~#! rn=Phobos rt=1043432324 rg=puiz
~#! tid=1042998937
Das ist ziemlich geil. Hm, das kann man sich wahrscheinlich sogar merken. Gar
nicht schlecht  ...
YTC

-----------------------------------------------------------------------------



Re^4: halbkreise (Morgonate, 25. Jan 2003, 15:23:07):
~#! rn=Boing rt=1043442876 rg=puiz
~#! tid=1042998937
Nee, die Bedingung war, beim schneiden darf keine Linie durch den Mittelpunkt
gehen, oder sich zum Mittelpunkt verlaengern lassen.

Die Loesung ist (wenn man sie erst mal gefunden hat) genial.


Morgonate

-----------------------------------------------------------------------------



auf ein neues (Nicolai, 27. Jan 2003, 12:15:33):
nach dem kreis-zerteilen mal was leichtes.... fast schon ein klassiker:

Hier mal etwas zum Nachdenken:

Eine Familie hat genau 2 Kinder. Eines dieser beiden Kinder ist eine Tochter.
Wie gross ist die Wahrscheinlichkeit, dass diese Tochter eine Schwester hat?

(Hierbei wird angenommen, dass es auf der Welt gleich viele Maenner und Frauen
gibt)

-----------------------------------------------------------------------------



Re: auf ein neues (Grimmborn, 27. Jan 2003, 12:38:28):
~#! rn=Nicolai rt=1043666133 rg=puiz
~#! tid=1043666133
50%. 

GdA

-----------------------------------------------------------------------------



Re: Re: auf ein neues (Nicolai, 27. Jan 2003, 13:22:36):
~#! rn=Grimmborn rt=1043667508 rg=puiz
~#! tid=1043666133
ganz so leicht isses dann doch nicht.
einfach mal ueberlegen, was es fuer auswirkungen hat, wenn
45,55,65... prozent der weltbevoelkerung weiblich waeren.
wie gesagt: wir gegen von 50-50 aus.
man schaue auch die familie an vater,mutter,erste tochter,
macht ja schonmal 2 maennlein + 1 weiblein...

-----------------------------------------------------------------------------



Re^3: auf ein neues (Nicolai, 27. Jan 2003, 13:24:28):
~#! rn=Nicolai rt=1043670156 rg=puiz
~#! tid=1043666133
natuerlich andersrum wie gnome eben bemerkte :)
also kein elternteil ist hobbit ^^

-----------------------------------------------------------------------------



Re^4: auf ein neues (Grimmborn, 27. Jan 2003, 13:30:44):
~#! rn=Nicolai rt=1043670268 rg=puiz
~#! tid=1043666133
Natuerlich isses so einfach. Wenn 45, 55, 65 Prozent der Bevoelkerung (wir
reden von Geburtsziffern, sonst sind Aussagen nichtmoeglich) weiblich sind ist
die Wahrscheinlichkeit, dass die Tochter eine Schwester hat 45, 55, 65 Prozent
respektive.

GdA

-----------------------------------------------------------------------------



Re: auf ein neues (Eldaron, 27. Jan 2003, 13:30:46):
~#! rn=Nicolai rt=1043666133 rg=puiz
~#! tid=1043666133
Da die ganze Welt 50:50 verteilt ist, vernachlaessige ich sie erstmal.
Auf der Welt gibt es also Mama und Papa, welche eine Tochter in die Welt
setzen, damit haben wir in der Familie ein 1:2 Verhaeltnis. Was die 1:1
Verhaeltnis der restlichen Welt durcheinander bringt. Also muss das andere
Kind ein Sohn sein, damit wieder das 1:1 Verhaeltnis hergestellt wird. Demnach
ist die Wahrscheinlichkeit 0%.

Eldaron, hahnebuechene Logik auspackend ;)

-----------------------------------------------------------------------------



Re^3: auf ein neues (Orktoeter, 27. Jan 2003, 13:32:21):
~#! rn=Nicolai rt=1043670156 rg=puiz
~#! tid=1043666133
Biologie ungenuegend... wenn Mutter+Tochter+ Vater bei dir "schonmal 2
maennlein + 1 weiblein" sind, dann hast du etwas elementares nicht
verstanden...
OrkT.

-----------------------------------------------------------------------------



Re: Re: auf ein neues (Boing, 27. Jan 2003, 13:32:57):
~#! rn=Eldaron rt=1043670646 rg=puiz
~#! tid=1043666133
Stimmt aber nicht, da nicht gesagt ist, dass die restliche Welt ohne
'unsere' Familie 50:50 verteilt ist ... :)
  Boing

-----------------------------------------------------------------------------



Re^3: auf ein neues (Eldaron, 27. Jan 2003, 13:34:21):
~#! rn=Boing rt=1043670777 rg=puiz
~#! tid=1043666133
Nach meiner Logik ist die Welt mit und ohne 'unsere Familie' 50:50 verteilt. 

Eldaron

-----------------------------------------------------------------------------



Re^4: auf ein neues (Marcus, 27. Jan 2003, 13:44:54):
~#! rn=Eldaron rt=1043670861 rg=puiz
~#! tid=1043666133
"Unabhaengiges Ereignis"

Ciao, Marcus

-----------------------------------------------------------------------------



Re^5: auf ein neues (Cuchullin, 27. Jan 2003, 14:06:05):
~#! rn=Marcus rt=1043671494 rg=puiz
~#! tid=1043666133
Nur so als Frage: Wie hoch war nochmal die Wahrscheinlichkeit, dass
ein Mann nur Toechter zeugen kann? ;)



-----------------------------------------------------------------------------



Re^6: auf ein neues (Humni, 27. Jan 2003, 14:33:08):
~#! rn=Cuchullin rt=1043672765 rg=puiz
~#! tid=1043666133
Wenn ich von 50:50 ausgehe und von 5 Milliarden Menschen (weiss nicht ob das
stimmt) dann ist die Wahrscheinlichkeit 0.5*(1-1/4999997) (Die Eltern und das
Kind abgezogen). Oder sowas in der Art. 

Humni, von Statistik aber wirklich nicht viel Ahnung habend.

-----------------------------------------------------------------------------



Re^7: auf ein neues (Nonne, 27. Jan 2003, 14:36:53):
~#! rn=Humni rt=1043674388 rg=puiz
~#! tid=1043666133
Spoiler!!!





















1/3. 

Folgendes ist moeglich: JJ JM MJ MM
Da JJ nicht auftreten kann, weil eines ja eine Tochter ist, hat man 3
Moeglichkeiten, wovon eine richtig ist (MM), also 1/3.

Nonne.

-----------------------------------------------------------------------------



Re^8: auf ein neues (Humni, 27. Jan 2003, 14:37:59):
~#! rn=Nonne rt=1043674613 rg=puiz
~#! tid=1043666133
Ja sicher.

Dann ist naemlich entweder JM nicht moeglich (weil Maedchen) oder JM und MJ
sind dasselbe.

Humni

-----------------------------------------------------------------------------



Re^9: auf ein neues (Jadawin, 27. Jan 2003, 14:39:07):
~#! rn=Humni rt=1043674679 rg=puiz
~#! tid=1043666133
Wieso soll JM nicht moeglich sein?
Jad* (war auf dasselbe Ergebnis gekommen wie Nonne)

-----------------------------------------------------------------------------



Re^10: auf ein neues (Humni, 27. Jan 2003, 14:39:35):
~#! rn=Jadawin rt=1043674747 rg=puiz
~#! tid=1043666133
Erklaer mir mal den Unterschied zwischen JM und MJ.

Humni

-----------------------------------------------------------------------------



Re: auf ein neues (Alpha, 27. Jan 2003, 14:39:39):
~#! rn=Nicolai rt=1043666133 rg=puiz
~#! tid=1043666133
Ich wuerd mal 0% sagen, da ja "Eines dieser beiden Kinder ist eine Tochter."
besagt, dass das andere ein Junge sein muss.

-----------------------------------------------------------------------------



Re^11: auf ein neues (Jadawin, 27. Jan 2003, 14:40:59):
~#! rn=Humni rt=1043674775 rg=puiz
~#! tid=1043666133
Das beinhaltet, dass die Wahrscheinlichkeit fuer JM (oder MJ) doppelt so hoch
ist wie fuer MM oder JJ.
Jad*

-----------------------------------------------------------------------------



Re: Re: auf ein neues (Nonne, 27. Jan 2003, 14:41:11):
~#! rn=Alpha rt=1043674779 rg=puiz
~#! tid=1043666133
JM heisst, erst Junge, dann Maedchen, MJ ist erst Maedchen, dann Junge. Da
nicht da steht, ob die Tochter die Aeltere oder Juengere ist, sind das 2
Moeglichkeiten. Zu Alpha: Natuerlich ist mindestens eine weiblich (c;

Nonne.

-----------------------------------------------------------------------------



Re^8: auf ein neues (Hobo, 27. Jan 2003, 14:41:53):
~#! rn=Nonne rt=1043674613 rg=puiz
~#! tid=1043666133
Nee, schon die 50%. Die Frage war ja: Wie gross ist die Wahrscheinlichkeit,
dass DIESE Tochter eine Schwester hat. Also ist ein Kind schon mal aus der
Frage rausgenommen, und nur noch das andere interessiert.

 Hobo

-----------------------------------------------------------------------------



Re^9: auf ein neues (Nonne, 27. Jan 2003, 14:42:29):
~#! rn=Hobo rt=1043674913 rg=puiz
~#! tid=1043666133
Genau das ist der Denkfehler, den alle machen, Hobo (c;

-----------------------------------------------------------------------------



Re^9: auf ein neues (Humni, 27. Jan 2003, 14:43:03):
~#! rn=Hobo rt=1043674913 rg=puiz
~#! tid=1043666133
Des weiteren muss man unterscheiden:

1. Es ist JM und ich habe diese INfo
2. Es ist MJ und ich habe diese INfo
3. Es ist MM und ich habe die Info ueber das erste Kind
4. Es ist MM und ich habe die Info ueber das zweite Kind

Diese Faelle sind gleich wahrscheinlich und wir sind wieder bei 50:50

Humni

-----------------------------------------------------------------------------



Re^9: auf ein neues (Jadawin, 27. Jan 2003, 14:43:20):
~#! rn=Hobo rt=1043674913 rg=puiz
~#! tid=1043666133
Noe, das wuerde nur stimmen, wenn da stuende, dass ein Ehepaar eine Tochter
hat und dann noch ein Kind bekommt. So wie die Frage gestellt ist, ist die
Antwort tatsaechlich 1/3.
Jad*

-----------------------------------------------------------------------------



Re^10: auf ein neues (Humni, 27. Jan 2003, 14:43:32):
~#! rn=Jadawin rt=1043675000 rg=puiz
~#! tid=1043666133
Nein. Lies meinen Artikel.

Humni

-----------------------------------------------------------------------------



Re^11: auf ein neues (Jadawin, 27. Jan 2003, 14:45:00):
~#! rn=Humni rt=1043675012 rg=puiz
~#! tid=1043666133
Der kam als ich schon am Tippen war. Ausserdem versteh ich ihn ehrlich gesagt
nicht.
Jad*

-----------------------------------------------------------------------------



Re^12: auf ein neues (Humni, 27. Jan 2003, 14:45:46):
~#! rn=Jadawin rt=1043675100 rg=puiz
~#! tid=1043666133
Was verstehst Du daran nicht? Es kann einer der vier Faelle vorliegen. Bei MM
weisst Du naemlich nicht, ob die Info ,,ein Kind ist ein Maedchen'' sich aufs
erste oder zweite Kind bezieht. Und die sind alle 4 gleich wahrscheinlich.

Humni

-----------------------------------------------------------------------------



Re^13: auf ein neues (Alpha, 27. Jan 2003, 14:46:54):
~#! rn=Humni rt=1043675146 rg=puiz
~#! tid=1043666133
Naja, ob ich die Info ueber Maedchen 1 oder Maedchen 2 habe, aendert an der
Wahrscheinlichkeit doch nix. Das zaehlste dann ja doppelt.

-----------------------------------------------------------------------------



Re^13: auf ein neues (Orktoeter, 27. Jan 2003, 14:47:16):
~#! rn=Humni rt=1043675146 rg=puiz
~#! tid=1043666133
Was ist, wenn sie urspruenglich einen Bruder hatte, der aber eine
Geschlechtsumwandlung hat machen lassen? Wie zaehlt das? Wird das irgendwo in
eurer Statistik beruecksichtigt?

OrkT, heute mit einem Herz fuer Minderheiten.

-----------------------------------------------------------------------------



Re^14: auf ein neues (Alpha, 27. Jan 2003, 14:47:56):
~#! rn=Orktoeter rt=1043675236 rg=puiz
~#! tid=1043666133
Orki, der umgewandelte Junge bleibt nen Junge, genetisch gesehen.

-----------------------------------------------------------------------------



Re^14: auf ein neues (Humni, 27. Jan 2003, 14:48:22):
~#! rn=Orktoeter rt=1043675236 rg=puiz
~#! tid=1043666133
Nein, eben wohl. Du weisst doch nur dass es ein Maedchen ist. Welches der
beiden (im Fall MM) weisst Du nicht.

Also nochmal: WENN die Kinder schon in Reihenfolge gebracht werden
unterschlaegt Eure ,,Loesung'' dass naemlich die INformation, welches der
beiden Maedchen im MM-Fall gemeint ist. Das ist genauso gleich verteilt und
verdoppelt natuerlich diesen Fall.

Humni

-----------------------------------------------------------------------------



Re^13: auf ein neues (Jadawin, 27. Jan 2003, 14:48:40):
~#! rn=Humni rt=1043675146 rg=puiz
~#! tid=1043666133
Also:
Wenn ein Ehepaar 2 Kinder hat ist die Wahrscheinlichkeit, dass es 2 Jungs sind
25%, desgleichen fuer 2 Maedchen und 50%, dass es gemischt ist. Einverstanden?
Aufgrund der Aufgabenstellung muss man MM nicht betrachten, folglich ist die
Wahrscheinlichkeit fuer eine Schwester gerade mal ein Drittel.
Jad*

-----------------------------------------------------------------------------



Re^14: auf ein neues (Humni, 27. Jan 2003, 14:49:04):
~#! rn=Jadawin rt=1043675320 rg=puiz
~#! tid=1043666133
Vielleicht solltest Du nochmal in die Schule gehen.

Humni gibts auf.

-----------------------------------------------------------------------------



Re^15: auf ein neues (Nonne, 27. Jan 2003, 14:49:58):
~#! rn=Humni rt=1043675344 rg=puiz
~#! tid=1043666133
Nein Humni,

google mal nach dem Raetsel, das ist schon lange Bekannt. Oder lies die FAQ zu
de.rec.denksport, da stehts auch drin und ueberall steht 1/3.

Nonne, das Raetsel schon laenger kennend.

-----------------------------------------------------------------------------



Re^14: auf ein neues (Nicolai, 27. Jan 2003, 14:57:01):
~#! rn=Orktoeter rt=1043675236 rg=puiz
~#! tid=1043666133
und so einer will mir ne ungenuegend in bio reindruecken.....

-----------------------------------------------------------------------------



Re^16: auf ein neues (Humni, 27. Jan 2003, 14:59:34):
~#! rn=Nonne rt=1043675398 rg=puiz
~#! tid=1043666133
Also gehen wirs durch:

Wir haben eine Familie. Von der kriegen wir zufaellig die Info ueber ein Kind
(nehmen wir der Einfachheit halber das erste, das geht mit dem zweiten
genauso). Dieses Kind ist eine Tochter. Dann haben wir die Info ,,diese
Familie hat eine Tochter'' - dann bleibt ein 50:50-Verhaeltnis uebrig.

Kriegen wir die Info ueber das zweite Kind so gilt genau dasselbe.

Humni

-----------------------------------------------------------------------------



Re^17: auf ein neues (Hobo, 27. Jan 2003, 15:01:30):
~#! rn=Humni rt=1043675974 rg=puiz
~#! tid=1043666133
*nick Humni*

  Hobo


-----------------------------------------------------------------------------



Re^17: auf ein neues (Humni, 27. Jan 2003, 15:04:37):
~#! rn=Humni rt=1043675974 rg=puiz
~#! tid=1043666133
Was ich sagen wollte: Wenn man zufaellig die Info ,,diese Familie hat eine
Tochter'' kriegt, sollte man nicht mehr als 50% eines Einsatzes drauf
verwetten, dass das andere ein Junge ist. Im Leben wird naemlich immer dieser
Fall eintreten, nicht eine Auswahl von Familien, aus denen die anderen schon
rausgeworfen wurden. Du wirst immer ein Kind der Familie zu sehen oder zu
hoeren kriegen das dann maennlich oder weiblich ist. Und DARAUS kannst Du
nichts schliessen.

Auch wenn Du weisst, dass In Tor 1, 2 und 3 ein Preis und 2 Zonks sind, dich
fuer Tor 3 entscheidest und Tor 1 aufgeht und der Zonk drin ist, macht
umentscheiden die Wahrscheinlichkeit nicht besser. SChreib ein Programm und
rechne es einfach mal durch.

Es geht nicht um Mengen hier.

Humni                

-----------------------------------------------------------------------------



Re^18: auf ein neues (Humni, 27. Jan 2003, 15:08:30):
~#! rn=Humni rt=1043676277 rg=puiz
~#! tid=1043666133
Ums mal genau zu machen:

Wenn Du folgendes tust: Du nimmst eine beliebige Familie mit 2 Kindern,
schaust Dir eines der Kinder an und wenn es maennlich ist schmeisst Du die
Familie aus der Wertung, wenn nicht tust Du sie rein, dann wirst Du mein
Ergebnis kriegen.

Schaust Du beide an und nimmst sie dann zu Deiner Menge dann hast Du
natuerlich Recht. Andererseits ist der Fall fuers Leben irrelevant, da Du die
Info dann ja schon hast und keine Wahrscheinlichkeit mehr brauchst.

Humni

-----------------------------------------------------------------------------



Re^19: auf ein neues (Jadawin, 27. Jan 2003, 15:10:16):
~#! rn=Humni rt=1043676510 rg=puiz
~#! tid=1043666133
Das ist doch genau was ich meine:
Ich darf sie (fuer das Raetsel) natuerlich nicht aus der Wertung schmeissen,
weil das erste Kind ein Junge ist, weil ja auch das zweite das Maedchen sein
koennte.
Jad*

-----------------------------------------------------------------------------



Re^20: auf ein neues (Jadawin, 27. Jan 2003, 15:10:50):
~#! rn=Jadawin rt=1043676616 rg=puiz
~#! tid=1043666133
Das erste 'weil' ist ein 'wenn'. ;)
Jad*

-----------------------------------------------------------------------------



Re^19: auf ein neues (Humni, 27. Jan 2003, 15:13:24):
~#! rn=Cuchullin rt=1043676704 rg=puiz
~#! tid=1043666133
Das ist was ganz anderes. Da muss der Veranstalter naemlich das eine Tor
zulassen. Denk mal nach und verdammt, schreibt einfach Programme die mal ein
wenig durchlaufen mit simplen random()-Funktionen wenn ihr's nicht glauben
wollt! Das hab ich im 2. Semester auch gemacht. (oder so).

Humni

-----------------------------------------------------------------------------



Re^18: auf ein neues (Cuchullin, 27. Jan 2003, 15:13:26):
~#! rn=Humni rt=1043676277 rg=puiz
~#! tid=1043666133
> Auch wenn Du weisst, dass In Tor 1, 2 und 3 ein Preis und 2 Zonks sind, dich
> fuer Tor 3 entscheidest und Tor 1 aufgeht und der Zonk drin ist, macht
> umentscheiden die Wahrscheinlichkeit nicht besser. SChreib ein Programm und
> rechne es einfach mal durch.

Wenn Tor 1 aufgeht, WEIL ein Zonk drin ist, macht umentscheiden die
Wahrscheinlicheit sehr wohl "besser".

Du hast Tor 1 ... 1'000'000, in 999'999 sind Zonks. Du suchst Dir
Tor 242'665 aus. Es springen die Tore 2 bis 242'664 und die Tore
242'666 - 1'000'000 auf Geheiss des wissenden Showmasters auf - 
ueberall nur Zonks. Tja, willst Du Tor 242'665 behalten oder nimmst
Du doch lieber Tor 1?


-----------------------------------------------------------------------------



Re^19: auf ein neues (Grimmborn, 27. Jan 2003, 15:19:25):
~#! rn=Cuchullin rt=1043676806 rg=puiz
~#! tid=1043666133
Vielleicht habe ich die Erklaerung ueberlesen, aber bitte nochmal:
Die Frage war, wenn ich das so formulieren darf: "Wie hoch ist die Wkt dafuer,
dass ein beliebiges Kind mit einem Geschwister eine Schwester und keinen
Bruder hat", korrekt? Das laesst sich reduzieren auf die Fragestellung "Wie
wahrscheinlich ist es, dass ein beliebiges Kind weiblich ist", und damit sinds
50%. Wo soll da der Fehler sein?

GdA

-----------------------------------------------------------------------------



Re^20: auf ein neues (Jadawin, 27. Jan 2003, 15:34:45):
~#! rn=Humni rt=1043676804 rg=puiz
~#! tid=1043666133
Ich wuerde selbst dann kein Programm schreiben wenn ich das koennte, da wir
dabei selbstverstaendlich wieder von unterschiedlichen Ansaetzen ausgehen
wuerden. Und um die durchzugehen brauche ich auch beim besten Willen kein
Programm.
Jad*

-----------------------------------------------------------------------------



Re^21: auf ein neues (Zook, 27. Jan 2003, 18:47:56):
~#! rn=Jadawin rt=1043678085 rg=puiz
~#! tid=1043666133
Ich finde Statistik (naja, hier eher elementare Wahrscheinlichkeits-
rechnung) ein faszinierendes Fach!

Zook.

-----------------------------------------------------------------------------



Re^22: auf ein neues (Montanus, 27. Jan 2003, 19:38:16):
~#! rn=Zook rt=1043689676 rg=puiz
~#! tid=1043666133
Nun, lasst mal den Diplom-Statistiker ran.
Bisher hat genau 1 Artikel die richtige Antwort genannt, und das war der von
Alpha. Statistik ist naemlich eine genaue Disziplin.
In der Aufgabenstellung steht: "Eins der Kinder ist eine Tochter." Daraus
laesst sich ableiten, dass fuer das andere Kind das Gegenereignis "keine
Tochter" eintritt. Und damit muss es ein Junge sein.
Sonst haette in der Aufgabenstellung stehen muessen: "Mindestens eins der
Kinder ist eine Tochter."
Also ist die Antwort 0%, da kann noch so viel Unsinn in de.rec.denksport
stehen.
Waere es "mindestens" eine Tochter, dann waere die Loesung 50%. Siehe Humni,
Hobo und Co.

-----------------------------------------------------------------------------



Re^23: auf ein neues (Nonne, 27. Jan 2003, 21:44:26):
~#! rn=Montanus rt=1043692696 rg=puiz
~#! tid=1043666133
Okay, gehen wir davon aus, dass dort 'mindestens' steht. Solche
Ungenauigkeitensind sicher unschoen, aber hier ist es leider passiert. Das
Raetsel waere ja sonst sinnlos. Aber so als Diplom-Statistiker: Was ist denn
an meiner und Jadawins Loesung falsch?

Nonne, interessiert.

-----------------------------------------------------------------------------



Re^23: auf ein neues (Miril, 27. Jan 2003, 21:48:10):
~#! rn=Montanus rt=1043692696 rg=puiz
~#! tid=1043666133
Deine Argumentation enthaelt m.A. einen Fehler:
"Eins der Kinder" ist nicht gleichbedeutend mit "genau ein Kind". 
Insbesondere deshalb nicht, weil die Aufgabe ansonsten solche
Formulierungen enthaelt: "genau zwei Kinder".
Interpretiert man also die Aussage in der Form "mindestens eine 
Tochter", so handelt es sich um bedingte Wahrscheinlichkeit.
Die Aufgabe entspricht dann genau dem Beispiel 4.9 auf
folgender Webseite:
http://www.statistik.tuwien.ac.at/public/dutt/vorles/inf_bak/node31.html
Damit ergibt sich fuer die Wahrscheinlichkeit der Wert 1/3.
Miril

-----------------------------------------------------------------------------



Re: Re: auf ein neues (Bambi, 27. Jan 2003, 21:50:30):
~#! rn=Grimmborn rt=1043667508 rg=puiz
~#! tid=1043666133
Ich hab noch nicht alle artikel zu dem thread gelesen, aber "Eines dieser
beiden Kinder ist eine Tochter." heisst, dass _eines_ der kinder eine tochter
ist. Also ist das andere keine Tochter. Ergo 0%.

-----------------------------------------------------------------------------



Re^3: auf ein neues (Miril, 27. Jan 2003, 21:53:32):
~#! rn=Bambi rt=1043700630 rg=puiz
~#! tid=1043666133
Was mal wieder zeigt, wie wichtig es bei Aufgaben aus der 
Statistik/W-Theorie ist, die Aufgabe praezise zu formulieren.
D.h. entweder wir streiten ueber Formulierungen, oder wir
akzeptieren beide Loesungen. (je nach Interpretation des 
Satzes "eins der Kinder".
Miril

-----------------------------------------------------------------------------



Re^4: auf ein neues (Mandragon, 27. Jan 2003, 21:58:34):
~#! rn=Miril rt=1043700812 rg=puiz
~#! tid=1043666133
Also die Wahrscheinlichkeit, nen Jungen oder nen Maedchen zu kriegen ist
statistisch unabhaengig davon, was man schon fuer Kinder hat.
Daher unter der 'mindestens 1'-Annahme 50%.

Ma*

-----------------------------------------------------------------------------



Re^5: auf ein neues (Humni, 27. Jan 2003, 22:00:16):
~#! rn=Mandragon rt=1043701114 rg=puiz
~#! tid=1043666133
Ja, richtig. Aber wo die anderen Recht haben: Wenn Du die Menge aller Familien
betrachtest, die mindestens ein Kind Maedchen haben, dann sind das mehr, die
einen Jungen und ein Maedchen haben als die, die beides Maedchen haben.

Wenn Du aber eine Familie triffst und weisst, dass sie 2 Kinder haben, und als
erstes ein Maedchen siehst, sagt das nichts ueber das andere Kind aus, Du
haettest naemlich genausogut erst das andere sehen koennen.

Interessant, oder?

Humni

-----------------------------------------------------------------------------



Re^24: auf ein neues (Bambi, 27. Jan 2003, 22:13:15):
~#! rn=Nonne rt=1043700266 rg=puiz
~#! tid=1043666133
Also erstens steht da kein "mindestens". Demnach sind beide Ansaetze richtig:
a. Man schreibt "genau 1 Tochter", also Alphas, Montanus' und meiner
Interpretation nach. b. Man schreibt "mindestens 1 Tochter", dann ist 50%
richtig.
Nehmen wir mal die rein biologische Erklaerung.
Ein Ehepaar bekommt ein Kind. Ein Ehepaar bekommt noch ein Kind.
Das Geschlecht des ersten Kindes sei <irgendwas>. Das Geschlecht des zweiten
Kindes sei <auch irgendwas>.
<irgendwas> und <auch irgendwas> seien hier Platzhalter fuer ein Element aus
der Menge {"maennlich", "weiblich"}.
Die Wahrscheinlichkeit, dass Kind 1 ein Junge ist, liegt bei 50%, dass es ein
Maedchen ist ebenfalls 50%.
Die biologische Erklaerung ist, dass der Mann ein x-Chromoson und ein
y-Chromosom hat, die Frau 2 X-Chromosome.
x und x der frau kombiniert mit x und y des Mannes ergibt als moeglichkeiten:
xx, xy, xx, xy
Die Wahrscheinlichkeit ist also 2:2 also 50% fuer jedes Geschlecht.

Das gleiche gilt natuerlich fuer Kind 2.
Jetzt zum Unterschied zwischen 1/3 und 1/2...
Da die Ereignisse "Kind 1 ist maennlich/weiblich" und "Kind 2 ist
maennlich/weiblich" voneinander unabhaengig sind, ist die Wahrscheinlichkeit,
dass Kind 2 ein Maedchen/Junge ist, unabhaengig davon, ob Kind 1 ein Maedchen
oder Junge ist.
Ergo: Ist Kind 1 ein Maedchen und nehmen wir an, wir wissen ueber _dieses_
Kind, dass es ein Maedchen ist, dann ist die Wahrscheinlichkeit, dass Kind 2
ein Maedchen ist, na? genau: 50%
Das gleiche gilt natuerlich fuer Kind 1, wenn wir ueber Kind _2_ wissen, dass
es ein Maedchen ist.
Der Punkt ist, dass wir die Menge der Kinder sortieren koennen und das Kind,
von dem uns das Geschlecht bekannt ist, egal ist.

So, wo kommt nur 1/3 her?
Die 1/3 kommt dann dabei heraus, wenn du zwei _Zellen_ eines _Mannes_ nimmst
und daraus 2 Spermien und 2 Eizellen machst. (Das geht biologisch gesehen
(noch) nicht.)
Dann kannst Du x,y mit x,y kreuzen. Da Du y,y ausschliesst hast du noch x,x,
x,y und x,y als auswahl. Dort x,x zu treffen liegt bei 1/3.

Bambi, Darwins Garten programmiert habend.

-----------------------------------------------------------------------------



Re^25: auf ein neues (Miril, 27. Jan 2003, 22:21:33):
~#! rn=Bambi rt=1043701995 rg=puiz
~#! tid=1043666133
Lies Dir bitte mal durch, was man unter bedingter Wahrscheinlichkeit
versteht. Als Beispiel: Wie gross ist die Wahrscheinlichekeit dafuer
dass zwei Muenzen die gleiche Seite anzeigen unter der Voraussetzung, 
dass eine Muenze Wappen zeigt.
Dann berechnet sich dies nach folgender Regel:
P(A|B)=P(A geschnitten B) / P(B).
A={ww,zz} Omega={wz,zw,ww,zz} B={wz,ww,zw}
P(A)=1/2  P(B)=3/4  P(A geschnitten B)=1/4
Also P(A|B)=1/4 : 3/4 =1/3
Ich denke, das Beispiel entspricht der Aufgabe.
Miril

-----------------------------------------------------------------------------



Re^26: auf ein neues (Humni, 27. Jan 2003, 22:22:49):
~#! rn=Miril rt=1043702493 rg=puiz
~#! tid=1043666133
Richtig. Meine Aussage war aber nur, dass wenn Du eine Muenze wirfst und sie
Wappen zeigt das nichts drueber aussagt was passiert wenn Du sie nochmal
wirfst.

Wow, langsam kapieren wir alle was hier abgeht...

Humni

-----------------------------------------------------------------------------



Re^27: auf ein neues (Zook, 27. Jan 2003, 22:23:13):
~#! rn=Humni rt=1043702569 rg=puiz
~#! tid=1043666133
Zook wimmert leise vor sich hin.

-----------------------------------------------------------------------------



Re^28: auf ein neues (Leibi, 27. Jan 2003, 22:46:19):
~#! rn=Zook rt=1043702593 rg=puiz
~#! tid=1043666133
ich wollte nur mal erwaehnen, dass die meisten paare nur noch ein kind in die
welt setzen.

leibi - hat den thread nicht wirklich verfolgt

-----------------------------------------------------------------------------



Re^26: auf ein neues (Bambi, 27. Jan 2003, 22:49:07):
~#! rn=Miril rt=1043702493 rg=puiz
~#! tid=1043666133
Ich glaube, Dein Ansatz unterstellt, dass es wichtig ist, welche der beiden
Kinder man als weiblich genannt bekommen hat und das ist m.E. der falsche
Ansatz.
Ich kann mich aber auch irren.

-----------------------------------------------------------------------------



Re^27: auf ein neues (Montanus, 28. Jan 2003, 08:11:14):
~#! rn=Bambi rt=1043704147 rg=puiz
~#! tid=1043666133
Also hier nochmal fuer Langsambegreifer.
ObdA sein eins der Kinder eine Tochter. Es wird im Folgenden als {T}
bezeichnet.
Das Kind {T} kann im Zweitupel der Geschwister nun entweder an erster oder an
zweiter Stelle stehen, das andere unbekannte Kind, im Folgenden {X} genannt,
steht dann an der anderen Stelle.
Es gibt also zwei Moeglichkeiten, die beiden mit der W'keit 1/2 zutreffen:
{T,X} und {X,T}

Ich zeige fuer eine der Moeglichkeiten den Beweis, den zweiten Teil koennt ihr
als Uebungsaufgabe rechnen, falls ihr mir das nicht glaubt.

Gegeben sei der Tupel {T,X}. Fuer X gibt es zwei Moeglichkeiten: {T} fuer
Tochter, {S} fuer Sohn. Beide treffen nach Aufgabenstellung zu je 50% ein. 
Die W'keit fuer {T,T} unter {T,X} betraegt somit 50%.
Die W'keit fuer {T,S} unter {T,X} betraegt ebenfalls 50%.

(zweiten Teil bitte selber eintragen)

Somit sieht man, deutlich und klar, dass unter beiden Ereignissen die W'keit
fuer eine Tochter gleich 50% ist. Selbst wenn man beiden Ereignissen noch die
W'keit 50% zuordnet, kommt man wieder auf 25+25=50%.
Elementare Mathematik, mein lieber Watson.
Wer das nicht kann, der hat bereits im Kindergarten versagt, blaues Kloetzchen
auf blaues Feld zu legen.

-----------------------------------------------------------------------------



Re^28: auf ein neues (Nonne, 28. Jan 2003, 10:13:31):
~#! rn=Montanus rt=1043737874 rg=puiz
~#! tid=1043666133
Oh Mann,

Du gehst davon aus, das wir eine Tochter haben und noch ein Kind machen und
die Wahrscheinlichkeit dafuer angeben sollen, dass es auch eine Tochter ist.
Das ist aber nicht die Aufgabenstellung. Die Aufgabe lautet: Eine Familie hat
2 Kinder, wovon mindestens eins eine Tochter ist. Wo hoch ist die
Wahrscheinlichkeit, dass das andere Kind ebenfalls eine Tochter ist. Also gibt
man alle Moeglichkeiten an, die es gibt: TT, TS, ST, SS

Fuer 2 Kinder gibt es 4 Moeglichkeiten (wenn man die Reihenfolge
beruecksichtig. Tut man das nicht, ist TS doppelt so wahrscheinlich, kommt
also aufs gleich raus). Da wir nun wissen, dass es SS nicht sein kann, da eins
ja eine Tochter ist, bleiben 3 Ereignisse ueber, wovon nach einem gefragt ist.
3 Ereignisse, 1 richtiges, na, wie ist die Wahrscheinlichkeit? Genau, 1/3.

Und jetzt erklaere mir bitte nicht wieder Deinen Ansatz, das ist naemlich die
Loesung zu einem anderen Problem, sondern sag mir, wo mein Fehler ist, wenn Du
meinst, es sei falsch.

Nonne.

-----------------------------------------------------------------------------



Re^29: auf ein neues (Boing, 28. Jan 2003, 10:15:11):
~#! rn=Nonne rt=1043745211 rg=puiz
~#! tid=1043666133
Kann es eigentlich sein, dass ihr alle die kleine Randbedingung vergesst,
dass auf der gesamten Welt (inklusive der beiden Kinder) die Verteilung
50/50 ist? Oder ist das ohne Belang? Kann ich mir nicht vorstellen.
  Boing

-----------------------------------------------------------------------------



Re^30: auf ein neues (Nonne, 28. Jan 2003, 10:18:33):
~#! rn=Boing rt=1043745311 rg=puiz
~#! tid=1043666133
Ja, das ist ohne Belang. Das ist sozusagen der Trick daran, wieso die 1/3 auf
den ersten Blick unlogisch erscheinen. Man fragt aber einfach nicht nach
Eltern, die 2 Soehne haben. Die fallen damit aus der Betrachtung raus. Das ist
auch genau der Fehler, den Humni, Montanus und Bambi die ganze Zeit machen. Es
geht nicht darum zu schauen, wie hoch die Wahrscheinlichkeit ist, eine Tochter
zu bekommen. Die ist natuerlich 50%.

Nonne.

-----------------------------------------------------------------------------



Re^28: auf ein neues (Vincent, 28. Jan 2003, 10:44:32):
~#! rn=Montanus rt=1043737874 rg=puiz
~#! tid=1043666133
Statistik und Stochastik ist zwar schon ein paar Takte her bei mir, aber ich
meine mit meinem Restwissen erkannt zu haben, dass Deine Loesung, unabhaengig
davon ist, ob das erste Element Deines Tupels T oder S ist. Mit anderen
Worten, beschreibst Du die LOesung fuer das Problem "Eine Familie hat zwei
Kinder, wie hoch ist die Wahrscheinlichkeit, dass das eine Kind eine Schwester
hat?" Bie unsere Aufgabenstellung ist aber zusaetzlich noch die Information
gegeben, dass das eine Kind auf alle Faelle eine Tochter ist. Es ist nun
eine Frage der Interpretation der Aufgabenstellung, ob diese information in
die Berechnung der Wahrscheinlichkeit einfliessen muss, oder nicht.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^29: auf ein neues (Croft, 28. Jan 2003, 10:45:33):
~#! rn=Vincent rt=1043747072 rg=puiz
~#! tid=1043666133
Ich wuerde eine praezisere Aufgabenstellung beantragen ,-)

Croft

-----------------------------------------------------------------------------



Re^30: auf ein neues (Vincent, 28. Jan 2003, 10:48:16):
~#! rn=Croft rt=1043747133 rg=puiz
~#! tid=1043666133
Ich gebe Croft - wie fast immer - Recht und unterstuetze den Antrag.

Vincent

-----------------------------------------------------------------------------



Lieber mal was anderes (c: (Nonne, 28. Jan 2003, 10:53:10):
Eine bestimmte Anzahl der Moenche in einem Kloster
            (mindestens einer) erhaelt ueber Nacht einen Punkt auf der
            Stirn. Jeder Moench muss herausfinden, ob er zu den derart
            Markierten gehoert. Ein Moench kann nicht an sich selbst
            feststellen, ob er markiert ist (keine Spiegel etc.).
            Einmal taeglich treffen sich alle Moenche und koennen sich
            bei dieser Gelegenheit gegenseitig betrachten. Jedoch
            duerfen sie nicht miteinander reden oder sonstwie kommuni-
            zieren. Wer sicher ist, markiert zu sein, muss das Kloster
            sofort nach dem taeglichen Treffen verlassen.

            Wie muessen die Moenche sich verhalten, um die Aufgabe zu
            erfuellen, und nach wie vielen Tagen haben alle Markierten
            das Kloster verlassen?

Anmerkung: Das passiert nur einmal! Es werden _nicht_ jede Nacht Punkte auf
die Stirn verteilt.

Nonne, hoffend, dass das eindeutig ist.

-----------------------------------------------------------------------------



Re^31: auf ein neues (Montanus, 28. Jan 2003, 11:38:12):
~#! rn=Vincent rt=1043747296 rg=puiz
~#! tid=1043666133
Ich zitiere sie nochmal:

>Eine Familie hat genau 2 Kinder. Eines dieser beiden Kinder ist eine Tochter.
Wie gross ist die Wahrscheinlichkeit, dass diese Tochter eine Schwester hat?

Die W'keit, dass *diese Tochter* das erste Kind ist, ist 50%, weil nichts
naeheres bekannt ist. Und dann gibt es zwei gleichwahrscheinliche
Moeglichkeiten, ob das andere zweite Kind Maennlein oder Weiblein ist.
Das gleiche gilt fr die W'keit, dass *diese Tochter* das zweite Kind ist.

50%. Nix anderes.
WWaaaah. Irgendjemand will mic hhier in die Verzweiflugn treiben.

Und noch ein letztes Mal, fer Nonne zum Mitschreiben:

da es egal ist, ob das Kind das erste oder zweite Kind im Tupel ist, sind
{T,S} und {S,T} zusammenzufassen.Aber nicht zu addieren. Weil sie
gleichbedeutend sind.
Also haben {T,S} und {S,T} die gleiche W'keit, und sind zusammen so
wahrscheinlich wie {T,T} alleine.
Und nein, Zook, ich erklaere den mathegenies nicht auch noch das
Ziegenproblem, auch wenn du das gerne haettest.

-----------------------------------------------------------------------------



Re^32: auf ein neues (Nonne, 28. Jan 2003, 12:21:14):
~#! rn=Montanus rt=1043750292 rg=puiz
~#! tid=1043666133
Wieso ignorierst Du eigentlich die Zitate aus dem Web von Miril mit den
Muenzen? Die unterstuetzen genau das, was ich sage. Ausserdem sollst Du mir
nicht Deine Loesung erklaeren, das weiss ich, dass die falsch ist. Sag mir den
Fehler meiner Loesung. Da gibts naemlich keinen.

Nonne.

-----------------------------------------------------------------------------



Re: Lieber mal was anderes (c: (Nonne, 28. Jan 2003, 12:23:11):
~#! rn=Nonne rt=1043747590 rg=puiz
~#! tid=1043747590
Wen Du Loesung interessiert:

http://www.janko.at/Denksport/FAQ.txt

Da ist auch die Loesung zu dem Tochterproblem erklaert, Montanus (c; Bist Du
eigentlich so stolz auf Dein Diplom, dass Du keine Fehler zugeben kannst und
nicht mal bereit bist, ueber die andere Loesung nachzudenken? Wie ist das denn
mit dem Tore-Problem? Denkst Du da auch, es sei egal, ob mal wechselt?

Nonne.

-----------------------------------------------------------------------------



Re: Lieber mal was anderes (c: (Bran, 28. Jan 2003, 13:20:00):
~#! rn=Nonne rt=1043747590 rg=puiz
~#! tid=1043747590
So, jetzt rat ich auch mal mit :)

Also, n Moenche haben einen Punkt auf der Stirn (n ist groesser oder gleich
1), und ich nehm mal an, nicht nur wir wissen, dass mindstens einer einen
Punkt hat, sondern auch die Moenche selbst, sonst waere das Raetsel wohl nicht
loesbar.

Wenn von nur ein Moench einen Punkt hat, merkt er das gleich beim ersten
Treffen (er sieht sonst keinen Punkt, weiss aber, dass es mindestens einen
gibt) und verlaesst das Kloster; also Antwort fuer n = 1: 1 Tag.

Haben zwei Moenche einen Punkt auf der Stirn, wissen die beiden am ersten Tag
noch nicht Bescheid, wohl aber am 2., wenn sie sehen, dass der jeweils andere
markierte noch da ist, also Antwort fuer n = 2: 2 Tage.

Sind drei Moenche markiert, weiss jeder von denen am 3. Tag Bescheid: die
anderen beiden koennen nicht die einzigen Markierten gewesen sein, sonst
waeren sie ja schon am 2. Tag gegangen.

Und entsprechend weiter (per Induktion): Anwort fuer n = x: x Tage. Oder? :)

Bran, schlaegt sich ansonsten in der Kinderfrage klar auf Nonnes und Mirils
Seite.

-----------------------------------------------------------------------------



Re: Re: Lieber mal was anderes (c: (Bran, 28. Jan 2003, 13:22:25):
~#! rn=Bran rt=1043756400 rg=puiz
~#! tid=1043747590
Nachtrag: und Jadawins natuerlich, der die Antwort als erster gegeben hat :)

-----------------------------------------------------------------------------



Re: Re: Lieber mal was anderes (c: (Nonne, 28. Jan 2003, 13:27:08):
~#! rn=Bran rt=1043756400 rg=puiz
~#! tid=1043747590
Jep, das ist die Loesung. Boing war uebrigens der schnellste, aber der kannte
das schon (c;

Nonne.

-----------------------------------------------------------------------------



Re^3: Lieber mal was anderes (c: (Boing, 28. Jan 2003, 13:31:31):
~#! rn=Nonne rt=1043756828 rg=puiz
~#! tid=1043747590
Ich kannte es aber nicht mit Moenchen sondern mit eitlen Philosophen
im Zug ... ;)
  Boing

-----------------------------------------------------------------------------



Re^33: auf ein neues (Matis, 28. Jan 2003, 13:35:48):
~#! rn=Nonne rt=1043752874 rg=puiz
~#! tid=1043666133
Ich bin auch fuer das Ergebnis 1/3.

Die Ereignisse "2 Jungen", "2 Maedchen" und "1 Junge und 1 Maedchen" haben die
Wahrscheinlichkeiten 1/4, 1/4 und 1/2. Darueber sind sich alle einig,
zumindest glaub ich das.

Unter die "Rubrik" die "Eltern haben (mindestens) ein Maechen" fallen
Ereignis 2 und 3, unter die "Rubrik" die "Eltern haben 2 Maechen" faellt nur
Ereignis 2. Und daraus errechnet sich fuer mich, bedingte Wahscheinlichkeit
und so, das Ergebnis 1/3.

Matis

PS Los, auf, zeigt mir ruhig Fehler auf :o).

-----------------------------------------------------------------------------



Re^34: auf ein neues (Humni, 28. Jan 2003, 13:42:24):
~#! rn=Matis rt=1043757348 rg=puiz
~#! tid=1043666133
Nein nein. Selbst ich sehs ja ein. Nur ist das halt nicht der Fall der in der
freien Wildbahn auftritt. Wenn Du eine Familie besuchst, von der Du weisst
dass sie zwei Kinder hat und Du siehst zuerst ein Maedchen dann ist das andere
mit 50% Wahrscheinlichkeit ein Junge. Denn: Die Wahrscheinlichkeit, dass eine
Familie 2 gleiche Kinder hat ist genauso gross wie dass sie verschieden sind
(vom Geschlecht her natuerlich). Sprich: Aus der Tatsache, dass Du zufaellig
zuerst ein Maedchen siehst kannst Du nichts ableiten. Fragst Du aber den Vater
,,Hast Du (mindestens) eine Tochter'' und er antwortet mit ,,Ja'' so ist die
Wahrscheinlichkeit wirklich bei 66% fuer einen weiteren Jungen. Ich finde das
ist ein interessantes Phaenomen. Und sorry fuer meinen Tonfall gestern, ich
war genervt, aber nicht wegen dieser Rubrik...

Humni

-----------------------------------------------------------------------------



Re^35: auf ein neues (Alpha, 28. Jan 2003, 15:28:35):
~#! rn=Humni rt=1043757744 rg=puiz
~#! tid=1043666133
Nicht ganz, Humni. Die Wahrscheinlichkeit, dass die Familie 2 gleihe Kinder
hat is genausogross wie die Wahrscheinlichkeit, dass sie 2 verschiedene Kinder
hat; aber die Wahrscheinlichkeit, dass sie 2 Toechter hat, ist nur halb so
gross, wie die Wahrscheinlichkeit, dass sie 2 verschiedene Kinder hat.
Wenn aber das aelteste Kind ne Tochter ist, und das 2te Kind grad geboren wird
(T,X) ist die Wahrscheinlichkeit, dass aus (T,X) ein (T,T) wird 50%. So weit,
so gut.
Wenn ich nun aber nicht weiss, ob ich ein (T,X) oder ein (X,T) vor mir habe,
und die Wahrscheinlichkeit haben will, dass beim Aufdecken (T,T) rauskommt,
darf ich (T,T) nicht 2 mal zaehlen. Ist eigentlich kein Phaenomen, sondern nur
ein Fall versehentlichen Doppelzaehlens.
Alpha.

-----------------------------------------------------------------------------



Re^31: auf ein neues (Woody, 28. Jan 2003, 15:30:40):
~#! rn=Nonne rt=1043745513 rg=puiz
~#! tid=1043666133
Die kann nicht ohne Belang sein - denn waere die Population == 4 (also
Vater, Mutter, Tochter und ... 4. Kind *g*) dann waere die Loesung ja
100% pro Sohn. :)  Wurden auch Angaben ueber die Population gemacht?
("auf der Welt" ist sehr ungenau...)

Also bitte. Etwas genauer. ;)


-----------------------------------------------------------------------------



Re^32: auf ein neues (Montanus, 28. Jan 2003, 17:18:50):
~#! rn=Woody rt=1043764240 rg=puiz
~#! tid=1043666133
@Nonne: ich kann auch jederzeit auf irgendeiner Webpage irgendwelchen Unsinn
posten. Mach ich aber nicht. Sollte ich vielleicht, dann muesste ich ihn mir
hier nicht durchlesen.
ZU der von dir zitierten .at-Seite - dort ist das Raetsel noch schlechter
gestellt. Zitat:

Herr Maier hat zwei Kinder, von denen eines ein Sohn ist.
            Was ist die Wahrscheinlichkeit, da er einen Bruder hat?

Grammatisch gesehen wird nach dem Bruder von Herrn Maier gefragt. (das
fehlenden sz oben bitte selbstaendig eintragen)
Und die dort angegebe "Loesung", dass die Geburten deer Kinder nicht
voneinander unabhaengig seien, ist brotlos. Ich hab in einem der vorigen
Artikel schon bewiesen, dass fuer beide KLombinationen der Geburt die W'keit
50% rauskommt.

-----------------------------------------------------------------------------



Re: Re: Wurfsterne (Miril, 28. Jan 2003, 19:25:46):
~#! rn=Deepblue rt=1043743813 rg=schmarrn
~#! tid=1043738195

Schon verblueffend, mit welcher Arroganz Du einen Link
ignorierst, der nicht eine dahergelaufene Webpage, sondern
ein Vorlesungsskript der Uni Wien enthaelt. Oder sind das
auch alles Leute, die schon im Kindergarten nicht aufgepasst 
haben?
Dein "Beweis" wie Du es nennst, geht offensichtlich von einer
anderen Fragestellung aus, als der von uns genannten.
Lass Dich doch zumindest mal darauf ein, zu versuchen, die
Wahrscheinlichkeit fuer zwei Toechter und der VORAUSSETZUNG
"mindestens eine Tochter" zu berechnen.
Miril

-----------------------------------------------------------------------------



Re^3: Wurfsterne (Miril, 28. Jan 2003, 19:27:51):
~#! rn=Miril rt=1043778346 rg=puiz
~#! tid=1043738195
Sorry, der Artikel davor bezog sich selbstverstaendlich
auf Montanus und nicht auf Dich, Deepblue ;-).
Zeugniskonferenzen sind manchmal stressig ;-)

-----------------------------------------------------------------------------



Gaertner (Miril, 28. Jan 2003, 19:52:53):
Hier mal ne Aufgabe, die ich gerne in der 6.Klasse stelle:

Eine Mannschaft von Gaertnern soll zwei Wiesen maehen. Die
eine Wiese ist doppelt so gross wie die andere. Morgens ar-
beiten alle an der grossen Wiese, nachtmittags arbeitet die
eine Haelfte der Mannschaft an der grossen, die andere Hael-
te an der kleinen Wiese. Die grosse Wiese ist abends fertig,
von der kleinen bleibt noch ein Stueck uebrig, das dem Tage-
werk eines Maehers entspricht.
Wie viele Gaertner waren in der Mannschaft?
Hinweis fuer die pingeligen: Morgens und nachmittags arbeiten
sie gleich lange.
Vielleicht kennts ja der ein oder andere noch nicht und kann
sich noch an die Zeit erinnern, als er nur natuerliche Zahlen
zur Verfuegung hatte, um zu rechnen.
Viel Spass
Miril

-----------------------------------------------------------------------------



Re: Gaertner (Grimmborn, 28. Jan 2003, 19:56:34):
~#! rn=Miril rt=1043779973 rg=puiz
~#! tid=1043779973
Was sagt denn der Beriebsrat zu dieser Arbeitsaufteilung? Ach nee, bei so
kleiner Belegschaft gibts noch keinen Betriebsrat...

GdA

-----------------------------------------------------------------------------



Re: Gaertner (Householder, 28. Jan 2003, 19:57:28):
~#! rn=Miril rt=1043779973 rg=puiz
~#! tid=1043779973
jo kann ich, das war doch die ersten Monate im ersten Semester Mathematik so
(nicht, dass man Sie zum rechnen benutzt haette, aber man hatte definitiv nix
anderes zur Verfuegung)

-----------------------------------------------------------------------------



Bloede Ziege (Grimmborn, 28. Jan 2003, 19:58:34):
Ich hab auch ein Raetsel:
Wieder gibts eine Wiese, die ist allerdings kreisrund. Eine Ziege soll genau
die halbe Wiese abfressen duerfen, kann aber nur am Rand der Wiese angebunden
werden. Wie lang muss nun der Strick sein (in Wiesenradien, also)?

GdA

-----------------------------------------------------------------------------



Re: Bloede Ziege (Dotz, 28. Jan 2003, 20:01:31):
~#! rn=Grimmborn rt=1043780314 rg=puiz
~#! tid=1043780314
Eine Antwort a la GdA:
Der Strick ist so lang wie der Durchmesser der Wiese. Sobald die Ziege die
Haelfte abgeknabbert hat, erschiesst man sie.
Dotz, WG

-----------------------------------------------------------------------------



Re: Re: Bloede Ziege (Grimmborn, 28. Jan 2003, 20:25:24):
~#! rn=Dotz rt=1043780491 rg=puiz
~#! tid=1043780314
100 Punkte, auch wenn ich es vorziehen wuerde sie zu fangen und zu schlachten.
Ich bin schreckhaft, ich mag diese Knallerei nicht.

GdA

-----------------------------------------------------------------------------



Re^3: Bloede Ziege (Orktoeter, 28. Jan 2003, 21:10:17):
~#! rn=Grimmborn rt=1043781924 rg=puiz
~#! tid=1043780314
Nimm einen Wurfstern?

OrkT, in Deckung gehend.

-----------------------------------------------------------------------------



Re^10: auf ein neues (Vincent, 29. Jan 2003, 00:28:10):
~#! rn=Nonne rt=1043674949 rg=puiz
~#! tid=1043666133
Aehmm sorry hier widersprechen zu muessen, aber reflexiv verwendete
Pronomina beziehen sich immer auf die zuletztgenannte passende Person, und
das ist in diesem Fall der Sohn. Inhaltlich spricht da nichts dagegen, dass
der Sohn gemeint sein koennte und grammatikalisch auch nicht, zumal man
gedanklich "er" durch "dieser" ersetzen kann.

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Gaertner (Bran, 29. Jan 2003, 11:00:51):
~#! rn=Miril rt=1043779973 rg=puiz
~#! tid=1043779973
Hm, also ganz ueber natuerliche Zahlen find ichs nicht raus... ich wuerds so
machen:

Die grosse und die kleine Wiese entsprechen 3 kleinen Wiesen. Dann schaffen x
+ 1 Gaertner 3 Wiesen am Tag und x/4 Gaertner (die Haelfte der Gaertner einen
halben Tag lang) + 1 Gaertner 1 Wiese. Also: x + 1 = (x/4 + 1) *3; Loesung 8.

Bran, noch gruebelnd, wie man das anders machen kann.

-----------------------------------------------------------------------------



Re: Re: Gaertner (Zook, 29. Jan 2003, 11:02:41):
~#! rn=Bran rt=1043834451 rg=puiz
~#! tid=1043779973
Da gaebe es aber schon einen Betriebsrat.

Zook.

-----------------------------------------------------------------------------



Re^3: Gaertner (Nonne, 29. Jan 2003, 11:04:50):
~#! rn=Zook rt=1043834561 rg=puiz
~#! tid=1043779973
Ich hatte auch meine Probleme mit den ganzen Zahlen. In meiner Rechnung kamen
1/3 und 1/2 und sowas vor. Schliesslich fand ich aber eine Loesung und halte
sie auch fuer richtig. Ich dachte aber, dass sei zu einfach, hier darueber zu
diskutieren.

***** SPOILER *****





















Meine Loesung lautet: 4

Nonne.

-----------------------------------------------------------------------------



Re^4: Gaertner (Zook, 29. Jan 2003, 11:08:49):
~#! rn=Nonne rt=1043834690 rg=puiz
~#! tid=1043779973
Die ist betriebsverfassungsgesetkompatibel.

Zook hat das auch raus.

-----------------------------------------------------------------------------



Re^5: Gaertner (Bran, 29. Jan 2003, 11:24:29):
~#! rn=Zook rt=1043834929 rg=puiz
~#! tid=1043779973
Bran ersucht beim Betriebsrat um Aufdeckung des entscheidenden Fehlers :-)

-----------------------------------------------------------------------------



Re^4: Gaertner (Humni, 29. Jan 2003, 11:28:30):
~#! rn=Nonne rt=1043834690 rg=puiz
~#! tid=1043779973
Ha! Nonne, diesmal liegst Du falsch. Hatte ich aber auch erst raus.

Humni hat sein Ergebnis gestern schon von Miril bestaetigt bekommen (im 2.
Anlauf)

-----------------------------------------------------------------------------



Re^5: Gaertner (Nonne, 29. Jan 2003, 12:29:38):
~#! rn=Humni rt=1043836110 rg=puiz
~#! tid=1043779973
Wah ich Depp! Habe meinen Fehler gefunden. Bei der kleinen Wiese bleibt ein
Tagwerk ueber und nicht der eines halben Tages (was meine Einheit war, die ich
zugrunde gelegt hatte). Also ist die wahre Antwort das doppelte meines ersten
Versuchs.

Nonne, der seine Fehler aber zugibt (c;

-----------------------------------------------------------------------------



Re^6: Gaertner (Zook, 29. Jan 2003, 12:35:33):
~#! rn=Nonne rt=1043839778 rg=puiz
~#! tid=1043779973
Also doch Betriebsrat... 

Zook hat nonnengleich auch ein *2 vergessen.

-----------------------------------------------------------------------------



Re^7: Gaertner (Nonne, 29. Jan 2003, 12:36:10):
~#! rn=Zook rt=1043840133 rg=puiz
~#! tid=1043779973
Schoen, dass ich nicht alleine dumm bin (c;

-----------------------------------------------------------------------------



Re^8: Gaertner (Miril, 29. Jan 2003, 16:38:54):
~#! rn=Nonne rt=1043840170 rg=puiz
~#! tid=1043779973
Die Loesung ueber natuerliche Zahlen ist eine graphische
Loesung. Zunaechst zeichnet man die grosse und die kleine
Wiese nebeneinander. Dann stellt man fest, dass an der 
grossen Wiese morgens doppelt so viel geschafft wird, wie
nachmittags und unterteilt sie ein drei gleich grosse Stuecke.
Ein ebenso grosses Stueck markiert man auf der kleinen Wiese.
Was dann dort uebrig bleibt ist das Tagwerk. Vergleicht man
dessen Flaecheninhalt mit dem geschafften Teil, so ergibt sich
dass es achtmal in den bereits gemaehten Teil hineinpasst.

In etwa so sehen die Loesungen der Schueler in der 6. Klasse
meist aus, denn Gleichungen oder Brueche stehen ihnen noch
nicht zur Verfuegung.
Die meisten bekommen auch im ersten Anlauf vier heraus, ist
also kein aussergewoehnlicher Denkfehler ;-).
Miril

-----------------------------------------------------------------------------



Re^9: Gaertner (Nonne, 29. Jan 2003, 22:01:22):
~#! rn=Miril rt=1043854734 rg=puiz
~#! tid=1043779973
Womit dann bewiesen waere, dass ich die Reife fuer die 6. Klasse besitze.
Gymnasium oder Hauptschule???

-----------------------------------------------------------------------------



Re^10: Gaertner (Miril, 29. Jan 2003, 22:02:26):
~#! rn=Nonne rt=1043874082 rg=puiz
~#! tid=1043779973
Gymnasium. Ob Du die besitzt, musst Du selbst wissen ;-)
Miril

-----------------------------------------------------------------------------



Re^11: Gaertner (Zook, 30. Jan 2003, 12:05:33):
~#! rn=Miril rt=1043874146 rg=puiz
~#! tid=1043779973
Zook musste damals in die Zwangsfoerderstufe, hat's in Mathe aber immerhin
in den A-Kurs geschafft.


-----------------------------------------------------------------------------



Re^12: Gaertner (Mandragon, 30. Jan 2003, 12:08:18):
~#! rn=Zook rt=1043924733 rg=puiz
~#! tid=1043779973
:hat sich der ZFS durch den Besuch einer halbstaatlichen Schule entziehen
koennen. Sinnlos sowas, echt ...

Ma*

-----------------------------------------------------------------------------



Re^13: Gaertner (Zook, 30. Jan 2003, 12:16:38):
~#! rn=Mandragon rt=1043924898 rg=puiz
~#! tid=1043779973
Ach, warst Du auch auf dem katholischen Gymanasium in Dingenskirchen...?

Zook.

-----------------------------------------------------------------------------



Re^14: Gaertner (Mandragon, 30. Jan 2003, 14:40:19):
~#! rn=Zook rt=1043925398 rg=puiz
~#! tid=1043779973
1. Wieso auch ? 2. Gymnasium, 3. Bad Nauheim, 4. Ja

Ma* (zookelnd)

-----------------------------------------------------------------------------



Re^35: auf ein neues (Catweazle, 30. Jan 2003, 14:43:47):
~#! rn=Humni rt=1043757744 rg=puiz
~#! tid=1043666133
Ich wills gerne nochmal aufrollen, weil ich eure Einwaende nicht verstehe. 

Wo ist der Unterschied zwischen 'du siehst eine Tochter' und 'der vater
antwortet mit "ja", ob er eine Tochter hat'? Das ist nu die exakt gleiche
Information. 

Seht es einfach von oben herab:
- Eine Familie hat zwei Kinder.
- Da eine Wahrscheinlichkeit von 50:50 zwischen Maennlich und Weiblich
besteht, it die Chance fuer MM:MW:WW gleich 1:2:1. 
- Demnach ist die Wahrtscheinlich keit fuer zwei Maedchen 25%. 
- Punkt. 
- Und jetzt kommt das entscheidende: Du bekommst (wie auch immer) die
zusaetzliche Information (aha!), dass eines der Kinder ein Maedchen ist. 
- Damit faellt der Fall Maennlich/Maennlich weg, und die Wahrscheinlichkeit
fuer WW steigt auf 33%. 

Wie schon mal jemand erwaehnte, hier geht es um bedingte Informationen. 

Sorry fuer Dups,

    YTC

-----------------------------------------------------------------------------



nKegel (Gnome, 30. Jan 2003, 14:48:18):
mal was neues:
da meine ascii-grafikfaehigkeiten nur begrenzt sind, versuch ich mal,
die skizze zu beschreiben, wird dann vielleicht nicht ganz so peinlich :)

here we go:
einem kegel mit der hoehe h und dem radius rk sind 2 kugeln so
inbeschrieben, dass beide kugeln uebereinanderliegen, deren oberflaeche
so grade eben die grundflaeche und die mantelflaeche des kegels
beruehren und deren mittelpunkt genau auf h liegen. dabei ist die untere
logischerweise die groessere mit r1 und oben sitzt die kleine drauf
mit r2.
wieviel kugeln (n) mit dem radius r3 passen jetzt so zwischen die
groessere und kleine kugel, dass die n kugeln einen ring bilden, welcher
auch die mantelflaeche des kegels beruehrt?

ich hab die loesung auch noch nicht... ;-)

gnOme

-----------------------------------------------------------------------------



Re^36: auf ein neues (Matis, 30. Jan 2003, 14:49:12):
~#! rn=Catweazle rt=1043934227 rg=puiz
~#! tid=1043666133
Der Unterschied zwischen "du siehst eine Tochter" und der "der Vater antwortet
mit ja" ist wie folgt: nehmen wir an, dass im zweiten Fall 1/3 das richtige
Ergebnis ist. Damit ist die Wahrscheinlichkeit, als erstes ein Maedchen zu 
sehen, nicht 50%. Und damit hast Du einen Informationsgewinn, falls Du als
erstes ein Maedchen siehst.

Matis

-----------------------------------------------------------------------------



Re^36: auf ein neues (Ogar, 30. Jan 2003, 14:57:31):
~#! rn=Catweazle rt=1043934227 rg=puiz
~#! tid=1043666133
Man kommt zum Haus der Familie und sieht eines der beiden Kinder im Garten.
Das andere ist irgendwo im Haus.  Man sieht, dass das Kind im Garten ein
Maedchen ist.  Dann faellt nicht nur der Fall Junge (im Garten) / Junge (im
Haus) weg, sondern auch Junge (im Garten) / Maedchen (im Haus). Es bleiben
nur Maedchen (im Garten) / Junge (im Haus) und Maedchen (im Garten) / Maedchen
(im Haus).

Ogar

-----------------------------------------------------------------------------



Re^37: auf ein neues (Hobo, 30. Jan 2003, 14:58:57):
~#! rn=Ogar rt=1043935051 rg=puiz
~#! tid=1043666133
Oh, darf das arme Kind nicht zur Schule, zu Freunden oder sonstwie aus dem
Haus?

Hobo ist entsetzt!

-----------------------------------------------------------------------------



Re^37: auf ein neues (Catweazle, 30. Jan 2003, 14:59:37):
~#! rn=Matis rt=1043934552 rg=puiz
~#! tid=1043666133
Naja, aber der Punkt ist ja, in der Fragestellung ist vorgegeben, das eines
der Kinder eine Tochter ist. Mit welcher Wahrscheinlichkeit du diese
Information bekommen hast (und die du zum Zeitunkt der Fragestellung bereits
hast!), hat ja keine Auswirkung auf das endgueltige Ergebniss 33%.

Aber ich verstehe worauf ihr hinauswolltet...

YTC

-----------------------------------------------------------------------------



Re: nKegel (Boing, 30. Jan 2003, 15:07:24):
~#! rn=Gnome rt=1043934498 rg=puiz
~#! tid=1043934498
Ich gehe davon aus, dass die n Kugeln mit r3 auch die beiden anderen 
Kugeln beruehren muessen? Sonst waere die Loesung wohl unendlich ... :)
  Boing

-----------------------------------------------------------------------------



Re^38: auf ein neues (Ogar, 30. Jan 2003, 15:07:36):
~#! rn=Catweazle rt=1043935177 rg=puiz
~#! tid=1043666133
Man bekommt im "anderen" Fall (man trifft ein Kind) eben nicht die
Information, ob mindestens eines der Kinder ein Maedchen ist, sondern, ob
_dieses_ Kind ein Maedchen ist.  Nehmen wir mal an, die Familie hat eine
Tochter und einen Sohn, und man trifft den Sohn.  Die Familie hat dann
mindestens eine Tochter, obwohl das Kind, das man getroffen hat, keine
Tochter ist.

Ogar

-----------------------------------------------------------------------------



Re^37: auf ein neues (Catweazle, 30. Jan 2003, 15:09:47):
~#! rn=Ogar rt=1043935051 rg=puiz
~#! tid=1043666133
Jaaaa, und da schlaegt dann jetzt doch das Argument von Humni et.al. zu, ich
/teil)revidiere meinen vorherigen Artikel.

Die Wahrscheinlichkeit, das du zuerst das Maedchen im Garten siehst ist 50%.
Due haettest genausogut den Jungen sehen koennen. Damit traegst du Tatsache
Rechnung, das M/W zwei Faelle sind, und nicht nur einer. Und dann ist die
Wahrscheinlichkeit fuer ein zweites Maedchen doch wieder 33%. 

YTC

-----------------------------------------------------------------------------



Re: Re: nKegel (Gnome, 30. Jan 2003, 15:09:51):
~#! rn=Boing rt=1043935644 rg=puiz
~#! tid=1043934498
selbstmurmelnd.

-----------------------------------------------------------------------------



Re^3: nKegel (Orktoeter, 30. Jan 2003, 15:15:28):
~#! rn=Gnome rt=1043935791 rg=puiz
~#! tid=1043934498
Da gabs vor einiger Zeit mal einen Artikl in einer Spectrum zu. Ging um
klassische japanische Mathematik oder so, da wurden wohl viele Probleme
behandelt die dem hier gestellten sehr aehnlich sind.

OrkT.

-----------------------------------------------------------------------------



Re^38: auf ein neues (Ogar, 30. Jan 2003, 15:18:18):
~#! rn=Catweazle rt=1043935787 rg=puiz
~#! tid=1043666133
Irgendwie ganz daneben. "Die Wahrscheinlichkeit, das du zuerst das Maedchen
im Garten siehst ist 50%"? Dass man zuerst ein Maedchen sieht, war in dem
Fall Vorraussetzung. Nix mit Wahrscheinlichkeit.

Ogar

-----------------------------------------------------------------------------



Re^39: auf ein neues (Alpha, 30. Jan 2003, 17:53:25):
~#! rn=Ogar rt=1043936298 rg=puiz
~#! tid=1043666133
Irgendwie bin ich mir auch nicht mehr so ganz sicher....
Es gibt ja 3 Moegliche Faelle: (j,m),(m,j) und (m,m):
Wir haben nun eines der 4 (moeglichen) Maedchen vor uns und fragen: Wie hoch
is die Wahrscheinlichkeit, dass es eine Schwester hat, und da kommt man auf
das ergebnis, dass 2 der Maedchen nen Bruder haben, und 2 der Maedchen ne
Schwester haben....also doch 50% ?

-----------------------------------------------------------------------------



Re^40: auf ein neues (Matis, 30. Jan 2003, 17:55:22):
~#! rn=Alpha rt=1043945605 rg=puiz
~#! tid=1043666133
2 der 4 Maedchen gehoeren aber zum selben Fall ...

Matis

-----------------------------------------------------------------------------



Re^40: auf ein neues (Ogar, 30. Jan 2003, 21:30:53):
~#! rn=Alpha rt=1043945605 rg=puiz
~#! tid=1043666133
Man darf nicht Maedchen zaehlen, sondern nur gleichwahrscheinliche
Basisfaelle.  Nebenbei bezogen sich meine Ausfuehrungen auf den Fall, dass
ein bestimmtes Kind ein Maedchen ist.  Du redest anscheinend davon, dass
unter den Kindern mindestens ein Maedchen ist (so wie die Aufgabenstellung
anscheinend gemeint war), was ein entscheidender Unterschied ist.  Denn
einmal kommt 1/2 raus, das andere Mal 1/3.

Ogar

-----------------------------------------------------------------------------



Re^9: Gaertner (Elberet, 31. Jan 2003, 21:46:16):
~#! rn=Miril rt=1043854734 rg=puiz
~#! tid=1043779973
jo aber auch die graphische loesung geht nicht ueber den natuerlichen zahlen,
oder? oder kann man strecken dreiteilen in den natuerlichen zahlen? (ich mein
fuer beliebbige natuerliche zahlen. Wer trotzdem natuerlich rechnen will muss
doch nur alles mit 6 multiplizieren und gut ist

Elbi

-----------------------------------------------------------------------------



Re^10: Gaertner (Morgonate, 31. Jan 2003, 22:18:28):
~#! rn=Elberet rt=1044045976 rg=puiz
~#! tid=1043779973
ganz einfach, zeichne eine beliebige grade, die die zu teilende grade an einem
ende schneidet. (t-kreuzung like)
unterteile deine beliebige gerade in n-stuecke. (nimm nen zirkel)
verbinde die letzte markierung mit dem anderen ende der zu unterteilenden
gerade, mache parallel-verschiebung, und dann hast du die urspruengliche
gerade unterteilt, in n-teile.
Basis: aehnliche dreiecke.

so kannst du beliebige unterteilungen graphisch vornehmen.


morgonate

-----------------------------------------------------------------------------



Re^11: Gaertner (Elberet,  1. Feb 2003, 15:47:56):
~#! rn=Morgonate rt=1044047908 rg=puiz
~#! tid=1043779973
toll, nimm nen Zirkel, und das soll eine Konstruktion in den natuerlichen
Zahlen sein? Ich erinnere mal daran, dass du mit Zirkel und Lineal durchaus
einen ziemlich grossen Koerper konstruieren kannst.

Elbi

-----------------------------------------------------------------------------



Re^4: nKegel (Morgonate,  3. Feb 2003, 21:52:56):
~#! rn=Orktoeter rt=1043936128 rg=puiz
~#! tid=1043934498
Raetselt eigentlich jemand an diesem Problem, oder bin ich der einzige? ;)

Morgonate

-----------------------------------------------------------------------------



Re^5: nKegel (Boing,  4. Feb 2003, 08:27:57):
~#! rn=Morgonate rt=1044305576 rg=puiz
~#! tid=1043934498
Fuer r1 und r2 reicht mein mathematisches Grundwissen noch, aber dann
hoert es auch schon auf ... ;)
  Boing

-----------------------------------------------------------------------------



...mal was anschauliches (Vector, 13. Feb 2003, 01:37:30):
Pierre Pinsel hat einen Auftrag bekommen! 
Das war die gute Nachricht. Die schlechte war, dass der Auftrag 
ausgerechnet wieder aus der Strasse  der Exzentriker kam, ein grosser 
Haufen neurotischer Irrer, deren einziges Handeln und Trachten 
einzig in der Formulierung und Umsetzung ihrer gestoerten Vorstellungen 
und Wuensche lag, so zumindest die Meinung von Pierre.

Auf der anderen Seite, er war Maler, und so lange die Exzentriker 
ihn gut bezahlten... Fuer Geld kann man schon einiges aushalten.

Nun diesmal sollten es die Haustueren sein. Die Exzentriker wohnten
in einer langen, langen geraden Strasse, 143 Haeuser und auch genau 
so nummeriert. Obwohl - oder vielleicht auch gerade weil - sie so 
unheimlich exzentrisch waren, sahen alle ihre Haeuser von der Strasse
aus gleich aus. Eine Eingangstuer, zwei Fenster, etwas Rasen 
davor das wars.

Sein Auftrag war eigentlich ganz einfach. Die Eingangstueren aller
Haeuser sollten rot gestrichen werden. In zwei Tagen war die
Sache erledigt.

RRRRRRRRRRRRRRR (soll die roten Tueren darstellen)


Die Exzentriker haetten ihren Ruf sicher zu Unrecht, wenn sie nach 
diesen zwei Tagen bereits zufrieden gewesen waeren. Nein, die 
Besitzer der Haeuser mit den geraden Nummern meinten, dass sie blaue
Tueren schon immer schoener gefunden haetten und wiesen Pierre an, die 
Tueren ihrer Haeuser von rot auf blau zu faerben. Keine grosse Sache 
fuer Pierre...

RBRBRBRBRBRBRBR (rote und blaue Tueren)


Langsam wurde die Angelegenheit nun laestig. Die Bewohner der durch 
3 teilbaren Hausnummer waren mit ihrer Farbe nun ueberhaupt nicht
mehr zufrieden und wollten die Farbe geaendert haben, also rote 
Tueren sollten blau werden und blaue rot. Pierre schluckte und 
machte sich an die Arbeit. 

RBBBRRRBBBRRRBB

 
Jetzt gab es kein Halten mehr in der Strasse der Exzentriker. 
Den letzten Gedanken nahmen die Besitzer durch vier teilbarer Hausnummer
dankbar auf, auch sie wuenschten sich eine neue Farbe. Rot wird wieder
zu Blau, und Blau wieder zu Rot. So sollte es sein, und so wuerde es sein:

RBBRRRRRBBRBRBB
 
Langsam daemmerte Pierre was nun kam: Kaum hatte er den Aenderungswunsch
der Besitzer, deren Hausnummern durch n teilbar waren erfuellt,
verfielen diejenigen (oder nur derjenige) deren Hausnummern durch (n+1)
teilbar waren, auf den gleichen Gedanken. Das wuerde so lange gehen, 
bis der letzte seinen Aenderungswunsch formuliert hatte. Bis n=143. 
Nun ist Arbeit Arbeit, und gut bezahlte Arbeit ist gut bezahlte Arbeit.



Nur wie am Ende die Strasse wohl aussehen mag?


Zu wenig Fragen? Hier noch ein paar weitere Gesichtspunkte.

Welche Tuer(en) wurde(n) am haeufigsten gestrichen.

Wenn jede Tuer einen Eimer Farbe braucht. Wie viele blaue und rote
Eimer hat Pierre dann gebraucht?

Wenn Pierre fuer jedes Streichen einer Tuer 30 Euro bekommt, was bekommt 
er am Ende seines Jobs bezahlt?








-----------------------------------------------------------------------------



Re: ...mal was anschauliches (Orktoeter, 13. Feb 2003, 10:29:48):
~#! rn=Vector rt=1045096650 rg=puiz
~#! tid=1045096650
Noch eine wichtige Frage: Von welcher Firma ist die Farbe? Ich denke ich
wuerde gerne ein paar Aktien dieser Firma erwerben bevor Pierre mit seiner
Arbeit beginnt...

OrkT.

-----------------------------------------------------------------------------



Re: ...mal was anschauliches (Nonne, 13. Feb 2003, 10:58:59):
~#! rn=Vector rt=1045096650 rg=puiz
~#! tid=1045096650
SPOILER-ALARM!!!

















Das Muster sieht so aus: R 2*B R 4*B R 6*B R usw...

Folgende Farbeimer werden gebraucht: Blau: 9790 Rot: 506 Gesamt: 10296
10296 * 30 koennt ihr selber rechnen. Die haeufigst gestrichene Tuer ist
natuer lich 120 mit 16. Das letzte ist auch das einzige, was ich im Kopf kann,
weil das die Anzahl der Teiler ist und man weiss, das 120 die meisten in dem
Bereich hat (c;

Nonne, hat einen Computer und einen Compiler *g*

-----------------------------------------------------------------------------



Re: Re: ...mal was anschauliches (Grimmborn, 13. Feb 2003, 11:16:21):
~#! rn=Nonne rt=1045130339 rg=puiz
~#! tid=1045096650
Guter Ansatz, aber leider unter der Annahme eines intelligenten Malers falsch.
Der wird naemlich lediglich die Tueren austauschen, statt sie umzustreichen...

GdA

-----------------------------------------------------------------------------



Re^3: ...mal was anschauliches (Orktoeter, 13. Feb 2003, 11:17:23):
~#! rn=Grimmborn rt=1045131381 rg=puiz
~#! tid=1045096650
Bei den Exuentrischen Leuten sind die Innenseiten der Tueren sicher
unterschiedlich..

OrkT.

-----------------------------------------------------------------------------



Re: Re: ...mal was anschauliches (Phobos, 13. Feb 2003, 18:56:10):
~#! rn=Nonne rt=1045130339 rg=puiz
~#! tid=1045096650
nochmal SPOILER-ALARM!!!





Anders ausgedrueckt, jedes Haus mit einer Quadratzahl als Hausnummer
ist am Ende rot, d.h. es gibt Wurzel(Haeuseranzahl) rote Tueren.

Phobos

-----------------------------------------------------------------------------



Re^3: ...mal was anschauliches (Miril, 14. Feb 2003, 14:47:01):
~#! rn=Phobos rt=1045158970 rg=puiz
~#! tid=1045096650
Das ist uebrigens auch ne Aufgabe aus der 6. Klasse. Steht
in unserem Buch, mit nem Maharadscha der Gefangene freilassen
will und erst alle Tueren aufschliesst, dann jedes zweite
Schloss betaetigen laesst, anschliessend jedes dritte usw.
Sehr nett, zur Einfuehrung von Teilbarkeitsregeln, Primzahlen
Anzahlen von Primfaktoren etc.
Miril

-----------------------------------------------------------------------------



Monster (Phobos, 24. Feb 2003, 22:01:08):
Ich hab mir neulich bei meinem Urlaub in Schottland ein Monster 
zugelegt, das lebt jetzt bei mir im Keller. Kommunikation ist kein 
Problem, das Monster sagt z.B. 16, und dann bringe ich ihm etwas 
Gemuese, oder es sagt 10, dann bekommt es einen Vogel zu essen. Wenn 
es was trinken will, sagt es 20, und mit 2 verlangt es nach einem 
saftigen Insekt.

Inzwischen ist das Monster ein wenig gewachsen, und vorhin hat es
mir 21 zugerufen. Was will es wohl diesmal essen?


Phobos

-----------------------------------------------------------------------------



Re: Re: Monster (Leibi, 24. Feb 2003, 22:03:24):
~#! rn=Bambi rt=1046120556 rg=puiz
~#! tid=1046120468
nee, es moechte kekse mit kaba.

leibi - sehr ernst

-----------------------------------------------------------------------------



Re^3: Monster (Maharet, 24. Feb 2003, 22:12:45):
~#! rn=Leibi rt=1046120604 rg=puiz
~#! tid=1046120468
Nach einiger Zeit bei Phobos kann es sich nur um Mars handeln.

Maha, will auch Mars

-----------------------------------------------------------------------------



Heute etwas Mathematik :) (Alpha,  6. Mar 2003, 01:10:34):

Diese Aufgabe wurde von einem Mathematik Professor an der Universitaet von
Barcelona gestellt.

Aufgabe:
Eine Mutter ist 21 Jahre aelter als ihr Kind und in 6
Jahren wird das Kind 5 mal juenger sein, als die Mutter.

Frage: Wo ist der Vater ?

(x-posting aus dem SL)

-----------------------------------------------------------------------------



Re: Heute etwas Mathematik :) (Imda,  6. Mar 2003, 01:12:49):
~#! rn=Alpha rt=1046909434 rg=puiz
~#! tid=1046909434
Aufm Balkon. Rauchen.

Imda. (dachte, denn kennt nu wirklich jeder)

-----------------------------------------------------------------------------



Re: Re: Heute etwas Mathematik :) (Grimmborn,  6. Mar 2003, 01:25:28):
~#! rn=Imda rt=1046909569 rg=puiz
~#! tid=1046909434
Ich gruebel noch. Was genau soll ich unter "5 mal juenger" verstehen?
Irgendwie habe ich da ein parsing Problem.
Ansonsten ist das Raetsel ziemlich alt, ja. Naja, SL, was will man erwarten.
Die Ostmark war ja noch nie fuer Progressivitaet bekannt...

GdA

-----------------------------------------------------------------------------



Re^3: Heute etwas Mathematik :) (Alpha,  6. Mar 2003, 01:27:49):
~#! rn=Grimmborn rt=1046910328 rg=puiz
~#! tid=1046909434
Deine Laestereien gegen Oesterreich sind auch nicht viel juenger - aber zum
Schmunzeln bringst Du mich trotzdem. Danke Dir ;)

-----------------------------------------------------------------------------



Film-Quiz (Phobos, 28. Mar 2003, 21:40:35):
Ich schau mir grad eine Raetelseite im Internet an, Start bei
http://www.languid.net/nr/begin.htm 

Die Aufgabe 1.7 ist offensichtlich ein Film-Quiz, wo eine Summe 
gesucht wird. 

a) (Angry Men) + 
b) (Steps) + 
c) (You???) + 
d) (Monkeys) + 
e) (How far under the sea?) + 
f) (How many were flying over a type of clock's nest?) + 
g) (Number of Magnificent AND the number of the famous ones as well) + 
h) (How many morrows never die?) + 
i) (How many brothers for brides?) + 
j) (Oceans) + 
k) (A funeral, any weddings?) + 
l) (th element) + 
m) (How many towers?) + 
n) (RIP race) + 
o) (And interstellar affair set in which year again?) + 
p) (Head in box) + 
q) (How many days after?) + 
r) (Smoking containers of beer) + 
s) (The state of Britain) + 
t) (Vicious circle) = ?

Bei richtiger Loesung muesste eine gueltige URL der Art
http://www.languid.net/nr/water/22222.htm herauskommen.

Phobos

-----------------------------------------------------------------------------



Re: Film-Quiz (Phobos, 28. Mar 2003, 21:52:22):
~#! rn=Phobos rt=1048884035 rg=puiz
~#! tid=1048884035
Meine bisherigen Ergebnisse/Vermutungen:

a) 12 Angry Men
b) 39 Steps
c) 
d) 12 Monkeys
e) 20000 Leagues under the Sea
f) 1 flew over Cuckoo's nest
g) ? The magnificent 7
h) ? 2 morrow never dies
i)
j) Ocean's 11
k) 4 weddings and a funeral
l) 5th Element
m) 2 Towers (LOTR 2)
n) 
o) ?? 2001 - Odyssee im Weltraum
p) ? Seven
q) 
r) 
s) 
t) 

Phobos

-----------------------------------------------------------------------------



Re: Re: Film-Quiz (Vincent, 28. Mar 2003, 22:24:20):
~#! rn=Phobos rt=1048884742 rg=puiz
~#! tid=1048884035
i) 7 (Seven Brothers for seven Brides) 
o) 2010 (da die politische Affaire im Sequel war und nicht in 2001) ist jetzt
aber nur ein nicht durchdachter Vorschlag von mir. ;-)
q) Entweder "the day after" dann waere das 1, oder "six days after", was aber
ein uralt film von 1922 ist, und den eigentlich keienr kennt.

gruss
vincent

-----------------------------------------------------------------------------



Einfach, aber lustig... (Zook,  2. Apr 2003, 20:17:11):
Mein Bruder zeigte mir ein einfaches, aber ausgesprochen lustiges
Raetsel:

Ein Professor bekommt ein Feuchtemessgeraet geschenkt und will es natuerlich
gleich ausprobieren. Er nimmt eine 1 kg schwere Gurke und stellt mit dem
Geraet fest, dass diese zu 90% (absolut) Feuchtigkeit enthaelt. Als er nach 
einer Woche Vortragsreisen wiederkommt, ist die Gurke recht schrumpelig.
Der Professor misst noch einmal und stellt fest, dass der Feuchtigkeits-
anteil auf 80% gesunken ist. Wie schwer ist die Gurke jetzt?


Zook.

-----------------------------------------------------------------------------



Re: Einfach, aber lustig... (Liafar,  2. Apr 2003, 20:49:09):
~#! rn=Zook rt=1049307431 rg=puiz
~#! tid=1049307431
1kg * 0.1 -> Masse die kein Wasser ist.

Es verfluechtigt sich wohl nur Wasser ... ->  ( 0.1kg + mw ) * 0.8 = mw
(mw = Masse des Wassers danach)

-> mw = 0.4kg

-> Gesamtmasse = 0.4kg + 0.1kg = 0.5kg

Nur noch halb so schwer...?

Liafar

-----------------------------------------------------------------------------



Re: Re: Einfach, aber lustig... (Zook,  2. Apr 2003, 20:50:37):
~#! rn=Liafar rt=1049309349 rg=puiz
~#! tid=1049307431
Was ich ja nie verstanden habe ist, warum die Leute immer gleich ne 
Loesung in die MPA prusten muessen...

Zook.

-----------------------------------------------------------------------------



Re^3: Einfach, aber lustig... (Zook,  2. Apr 2003, 20:51:27):
~#! rn=Zook rt=1049309437 rg=puiz
~#! tid=1049307431
... besonders bei so einfachen Aufgaben. ;)

-----------------------------------------------------------------------------



Re^4: Einfach, aber lustig... (Liafar,  2. Apr 2003, 20:52:21):
~#! rn=Zook rt=1049309487 rg=puiz
~#! tid=1049307431
Vielleicht weil diejenigen schwierigere Aufgaben nicht schaffen? ;)

Liafar

-----------------------------------------------------------------------------



Re^5: Einfach, aber lustig... (Zook,  2. Apr 2003, 20:53:15):
~#! rn=Liafar rt=1049309541 rg=puiz
~#! tid=1049307431
Frei nach dem Motto: Proll ist toll?

Zook.

-----------------------------------------------------------------------------



Re^6: Einfach, aber lustig... (Liafar,  2. Apr 2003, 20:54:18):
~#! rn=Zook rt=1049309595 rg=puiz
~#! tid=1049307431
Vielleicht nach dem Motto Megaschmarrn: So schnell wie moeglich antworten
bevor wer anderer ein Re versaut?

Liafar

-----------------------------------------------------------------------------



Re^3: Einfach, aber lustig... (Schoko,  2. Apr 2003, 23:47:06):
~#! rn=Zook rt=1049309437 rg=puiz
~#! tid=1049307431
 ... aber troeste Dich, Du musst ja auch net alles verstehen, Zookilein :)


Schoko

-----------------------------------------------------------------------------



Re^4: Einfach, aber lustig... (Grimmborn,  2. Apr 2003, 23:48:42):
~#! rn=Schoko rt=1049320026 rg=puiz
~#! tid=1049307431
Vorsicht, Zook hat heute schlechte Laune. Ein falsches Wort, und er halbiert
Deinen level...

GdA

-----------------------------------------------------------------------------



Der fleissige Osterhase (Ogo, 19. Apr 2003, 03:12:16):
Der fleissige Osterhase

Der Osterhase hat einen grossen Korb mit Ostereiern bei sich.
Er verteilt sie folgendermassen:
Fuer das erste Nest nimmt er genau die Haelte aller Eier und ein halbes Ei
dazu.
Beim zweiten Nest nimmt er die Haelfte der restlichen Eier plus ein halbes Ei.
Genauso macht er es mit dem dritten, vierten und fuenften Nest.
Am Ende bleibt ihm noch genau ein Ei uebrig. (Fuer Dich ;)

Natuerlich geht der Osterhase mit den Eiern sehr sorgfaeltig um und schafft
die Verteilung, ohne auch nur ein einziges Ei zu zerschlagen.
Wie viele Eier hatte der Osterhase in seinem Korb?

Froehliche Ostern
Ogo

-----------------------------------------------------------------------------



Re: Der fleissige Osterhase (Morgonate, 19. Apr 2003, 11:00:56):
~#! rn=Ogo rt=1050714736 rg=puiz
~#! tid=1050714736
Und das soll nen Raetsel sein? ;-)
Phobos, bitte uebernehme, fuer diese Loesung hab ich keine Minute gebraucht.
;)

Morgonate

-----------------------------------------------------------------------------



Re: Re: Der fleissige Osterhase (Grimmborn, 19. Apr 2003, 11:02:04):
~#! rn=Morgonate rt=1050742856 rg=puiz
~#! tid=1050714736
Du bist ja auch ein toller Hecht, aber das ist sicher nicht jeder. Also lass
auch unerfahreneren Gemuetern ihren Spass, dass Du damit unterfordert bisr
haben wir hiermit verstanden.

GdA

-----------------------------------------------------------------------------



Re^3: Der fleissige Osterhase (Morgonate, 19. Apr 2003, 11:07:53):
~#! rn=Grimmborn rt=1050742924 rg=puiz
~#! tid=1050714736
Wenn ich den anderen ihren Spass nehmen wollte, haette ich die Loesung
kundgetan.

Morgonate

-----------------------------------------------------------------------------



Re^4: Der fleissige Osterhase (Montanus, 19. Apr 2003, 16:39:25):
~#! rn=Morgonate rt=1050743273 rg=puiz
~#! tid=1050714736
Aber wie kann der Osterhase halbe Eier in Nester packen, wenn er kein einziges
zerbrochen hat?


-----------------------------------------------------------------------------



Re^5: Der fleissige Osterhase (Orktoeter, 19. Apr 2003, 16:40:27):
~#! rn=Montanus rt=1050763165 rg=puiz
~#! tid=1050714736
er packt quasi erst mal virtuell, rechnet dann zusammen und packt dann in
realita

OrkT.

-----------------------------------------------------------------------------



Die Sache mit den bunten Hueten... (Ragnaroek, 28. Jun 2003, 14:33:02):

10 Personen pluenderten des nachts heimlich die Vorratskammern 
des Koenigs. (Egal welcher!) Sie werden gefasst, zum Tode verurteilt 
und eingesperrt. Da der Koenig ein Spieler ist, gibt er ihnen 
folgende Moeglichkeit der Begnadigung:

Am Tag der Hinrichtung werden alle Verurteilten in einer Reihe 
hintereinander aufgestellt und bekommt einen farbigen Hut 
aufgesetzt. Jeder der Delinquenten sieht nur seine Vordermaenner
und weiss nicht, welche Farbe sein Hut, bzw. der seiner Hintermaenner 
hat. Es gibt drei verschiedene Farben, die voellig zufaellig und
(moeglicherweise) unregelmaessig verteilt sind. Nun werden die 
Verurteilten, beim letzten Mann angefangen, nach der Farbe ihres 
Hutes gefragt. Sie duerfen lediglich eine Farbe nennen, es sind 
keine weiteren Geraeusche oder Hinweise erlaubt.

Erraet der Betroffene die Farbe seines Hutes ist er frei, liegt
sein Tip daneben wird er sofort hingerichtet. Ein Regelbruch 
fuehrt dazu, dass alle Verurteilten sofort hingerichtet werden. 
Sie haben nur einen Tag bis zur Hinrichtung um sich abzustimmen.
Wieviele von ihnen werden diesen Tag ueberleben?

:ragna:

-----------------------------------------------------------------------------



Re: Die Sache mit den bunten Hueten... (Imda, 28. Jun 2003, 21:53:28):
~#! rn=Ragnaroek rt=1056803582 rg=puiz
~#! tid=1056803582
Hmmm, mindestens 8 wuerdich sagen. Oder gehts noch besser?

Gruss
Imda

-----------------------------------------------------------------------------



Re: Re: Die Sache mit den bunten Hueten... (Imda, 28. Jun 2003, 22:00:42):
~#! rn=Imda rt=1056830008 rg=puiz
~#! tid=1056803582
Ok, ich erhoehe mit diesem wundervollen Selbstreply auf 9. Oder vielmehr
9+1/3. 
Nu geht abver wirklich nix mehr

-----------------------------------------------------------------------------



Re^3: Die Sache mit den bunten Hueten... (Ragnaroek, 28. Jun 2003, 22:01:16):
~#! rn=Imda rt=1056830442 rg=puiz
~#! tid=1056803582
9 + Glueck stimmt ;)

-----------------------------------------------------------------------------



Re^4: Die Sache mit den bunten Hueten... (Imda, 28. Jun 2003, 22:04:55):
~#! rn=Ragnaroek rt=1056830476 rg=puiz
~#! tid=1056803582
Hmm, wie sieht das denn bei n verschiedenen Farben aus?

-----------------------------------------------------------------------------



Re^5: Die Sache mit den bunten Hueten... (Matis, 28. Jun 2003, 23:20:44):
~#! rn=Imda rt=1056830695 rg=puiz
~#! tid=1056803582
Genauso. Man kann das Ganze auf n Gefangene und m verschiedene Huette 
verallgemeinern. Ich glaube, n-1 Gefangene koennen mit Sicherheit ueberleben,
der allererste muss halt Glueck haben.

Matis

-----------------------------------------------------------------------------



Drei Handwerksberufe (Vincent, 29. Sep 2003, 18:27:14):
Um mal die Raetsel/Quiz/Knobel-Saison wieder zu eroeffnen, stelle ich jetzt
hier mal eine nicht ganz so schwere Frage, in der Hoffnung, das die
Loesung noch nicht so arg bekannt ist:

Angeblich gibt es nur drei deutsche Handwerksberufe, in denen der Buchstabe
'R' bzw. 'r' nicht enthalten ist. Wie heissen diese Berufe?

Gruss
Vincent


-----------------------------------------------------------------------------



Re: Drei Handwerksberufe (Muadib, 29. Sep 2003, 18:40:20):
~#! rn=Vincent rt=1064852834 rg=puiz
~#! tid=1064852834
baecka, schusta und metzga

-----------------------------------------------------------------------------



Re: Re: Drei Handwerksberufe (Humni, 29. Sep 2003, 18:41:00):
~#! rn=Muadib rt=1064853620 rg=puiz
~#! tid=1064852834
Also Koch ist sicher einer.

Humni

-----------------------------------------------------------------------------



Re^3: Drei Handwerksberufe (Asuka, 29. Sep 2003, 18:41:44):
~#! rn=Humni rt=1064853660 rg=puiz
~#! tid=1064852834
Dann werf ich den Schmied in den Ring.

Asuka

-----------------------------------------------------------------------------



Re^4: Drei Handwerksberufe (Zook, 29. Sep 2003, 18:41:58):
~#! rn=Asuka rt=1064853704 rg=puiz
~#! tid=1064852834
Und den Goldschmied.

Zook.

-----------------------------------------------------------------------------



Re^5: Drei Handwerksberufe (Humni, 29. Sep 2003, 18:42:14):
~#! rn=Zook rt=1064853718 rg=puiz
~#! tid=1064852834
He, der Hufschmied auch. Dann haben wir schon 4.
Sind doch mehr.

Humni

-----------------------------------------------------------------------------



Re^6: Drei Handwerksberufe (Zook, 29. Sep 2003, 18:42:31):
~#! rn=Humni rt=1064853734 rg=puiz
~#! tid=1064852834
Was haben wir gewonnen?

Zook,

-----------------------------------------------------------------------------



Re^7: Drei Handwerksberufe (Alkohol, 29. Sep 2003, 18:43:45):
~#! rn=Zook rt=1064853751 rg=puiz
~#! tid=1064852834
Dieb hat auch kein r ;)

Alk

-----------------------------------------------------------------------------



Re^8: Drei Handwerksberufe (Alkohol, 29. Sep 2003, 18:44:29):
~#! rn=Alkohol rt=1064853825 rg=puiz
~#! tid=1064852834
oder Alchimist ;)

Alk

-----------------------------------------------------------------------------



Re^9: Drei Handwerksberufe (Croft, 29. Sep 2003, 18:45:57):
~#! rn=Alkohol rt=1064853869 rg=puiz
~#! tid=1064852834
Clown?

Croft

-----------------------------------------------------------------------------



Re^10: Drei Handwerksberufe (Vincent, 29. Sep 2003, 18:49:31):
~#! rn=Croft rt=1064853957 rg=puiz
~#! tid=1064852834
Also Goldschmied, Hufschmied ist durch "Schmied" bereits ausreichend fuer
dieses Raetsel abgedeckt. Das heisst, das gilt nur als eine Loesung.

Dieb, Alchimist gelten nicht.

Wenn ich die vorangegangenen Artikel alle gelesen habe, fehlt also noch ein
Beruf, wenn ich nicht irre.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^11: Drei Handwerksberufe (Lurchi, 29. Sep 2003, 18:50:45):
~#! rn=Vincent rt=1064854171 rg=puiz
~#! tid=1064852834
steinmetz

lurchi

-----------------------------------------------------------------------------



Re^12: Drei Handwerksberufe (Orktoeter, 29. Sep 2003, 18:55:23):
~#! rn=Lurchi rt=1064854245 rg=puiz
~#! tid=1064852834
Gibs zu, du hast gegoogelt!

-----------------------------------------------------------------------------



Re^13: Drei Handwerksberufe (Bran, 29. Sep 2003, 18:57:40):
~#! rn=Orktoeter rt=1064854523 rg=puiz
~#! tid=1064852834
Was ist mit Kaufmann? Oder ist das nicht genau genug?

-----------------------------------------------------------------------------



Re^14: Drei Handwerksberufe (Asuka, 29. Sep 2003, 18:58:02):
~#! rn=Bran rt=1064854660 rg=puiz
~#! tid=1064852834
Seit wann ist ein Kaufmann ein Handwerker?

Asuka

-----------------------------------------------------------------------------



Re^13: Drei Handwerksberufe (Bran, 29. Sep 2003, 18:58:40):
~#! rn=Orktoeter rt=1064854523 rg=puiz
~#! tid=1064852834


Hahaaaa, aber Modist(in). Das muss zaehlen.

-----------------------------------------------------------------------------



Re^14: Drei Handwerksberufe (Croft, 29. Sep 2003, 18:59:21):
~#! rn=Bran rt=1064854720 rg=puiz
~#! tid=1064852834
Ist Modist auf der Handwerksrolle eingetragen? :-)

Croft

-----------------------------------------------------------------------------



Re^15: Drei Handwerksberufe (Bran, 29. Sep 2003, 19:00:29):
~#! rn=Croft rt=1064854761 rg=puiz
~#! tid=1064852834
Keine Ahnung, sags mir :)

-----------------------------------------------------------------------------



Re^16: Drei Handwerksberufe (Anoris, 29. Sep 2003, 19:02:02):
~#! rn=Bran rt=1064854829 rg=puiz
~#! tid=1064852834
Pilot und Polizist sind keine Handwerker?

- Anoris

-----------------------------------------------------------------------------



Re^17: Drei Handwerksberufe (Vincent, 29. Sep 2003, 19:05:15):
~#! rn=Anoris rt=1064854922 rg=puiz
~#! tid=1064852834
Nein.
Fuer Pilot ist ein Studium bzw. Abitur erforderlich, es gibt keinen Meister,
und es gibt keine handwerkliche Piloten-Innung.

Polizist ist ein Beamter im mittleren Dienst.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^18: Drei Handwerksberufe (Bran, 29. Sep 2003, 19:06:17):
~#! rn=Vincent rt=1064855115 rg=puiz
~#! tid=1064852834
Und die Modistin? Ich weiss es wirklich nicht.

-----------------------------------------------------------------------------



Re^19: Drei Handwerksberufe (Humni, 29. Sep 2003, 19:06:33):
~#! rn=Bran rt=1064855177 rg=puiz
~#! tid=1064852834
Was ist denn eine Modistin?

Humni

-----------------------------------------------------------------------------



Re^20: Drei Handwerksberufe (Bran, 29. Sep 2003, 19:07:21):
~#! rn=Humni rt=1064855193 rg=puiz
~#! tid=1064852834
Sowas wie ne Hutmacherin. Aber eben keine Hutmacherin, die hat ja auch ein r
drin.

-----------------------------------------------------------------------------



Re^21: Drei Handwerksberufe (Orktoeter, 29. Sep 2003, 19:09:20):
~#! rn=Bran rt=1064855241 rg=puiz
~#! tid=1064852834
faellt das nicht unter Dekorateur bzw. ist halt nur eine Berufsbezeichnung,
aber kein Handwerk?

-----------------------------------------------------------------------------



Fuenf etwas andere Fussballfragen (Vincent, 29. Sep 2003, 19:14:53):
Hier mal fuenf -wie ich meine- witzige Fussballfragen. Aber bitte nicht
einfach nach den Loesungen googlen:

1. Welcher Fussballspieler wurde mit der deutschen Nationalmannschaft als
Spielfuehrer Weltmeister, hat aber nie in der Bundesliga gespielt?

2. Welcher Spieler der Nationalmannschaft (kein Torhueter) wurde mit
Deutschland Weltmeister, hat aber auch nie nur ein einziges WM-Spiel
gespielt?

3. Wie viel Prozent der Tore, die Berti Vogts als Nationalspieler erzielte,
waren Eigentore?

4. Welcher ehemalige Torhueter von Bayer Leverkusen kam schon betrunken
auf die Welt?

5. Hat Christoph Daum an mehr Bundesligaspielen teilgenommen als sich
"weisse" Strassen durch die Nase gezogen? (Die Frage ist ernst gemeint und
laesst sich vollkommen logisch beantworten)

Bonusfrage:
Warum durften Olaf Thon und Icke Haessler zu ihrer Zeit in der National-
mannschaft niemals im gleichen Hotelzimmer uebernachten, wenn sie mit der
Nationalmannschaft unterwegs waren? (Achtung: Fang- und/oder Scherzfrage)

Gruss
Vincent

-----------------------------------------------------------------------------



Re^22: Drei Handwerksberufe (Bran, 29. Sep 2003, 19:23:28):
~#! rn=Orktoeter rt=1064855360 rg=puiz
~#! tid=1064852834
Nein, ist wirklich ein Handwerk, ich hab nun gegoogelt.

-----------------------------------------------------------------------------



Re: Fuenf etwas andere Fussballfragen (Muadib, 30. Sep 2003, 00:03:26):
~#! rn=Vincent rt=1064855693 rg=puiz
~#! tid=1064855693
also langweiliger als fussball gehts ja nimmer
haste ein neues raetselbuch?

-----------------------------------------------------------------------------



Eine schwierige Folge (I) (Vincent, 30. Sep 2003, 01:33:26):
Hier was fuer Knobler:

In der untenstehende Reihe fehlt ein Element, stattdessen steht dort ein
Fragezeichen. Kann jemand die Regel knacken, mit der die Reihe gebildet
wurde, und sagen, welches Element fehlt?

a e e e e e e a i o a e e e o e u e e e ? au e i ueio e

Die Elemente der Reihe sind durch Leerzeichen getrennt. 'au' und 'ueio'
sind jeweils ein Element, was auch Sinn macht, wenn man die Regel kennt. ;)

Das Raetsel ist eines der ewtas schwierigeren, aber nicht unloesbar.
Vielen Dank an Tassram, die mir das Raetsel im Jahr 2001 zukommen liess.

Viel Spass beim Knobeln.

Gruss
Vincent

-----------------------------------------------------------------------------



Eine schwierige Folge (II) (Vincent, 30. Sep 2003, 09:10:12):
Und noch eine Zeichenfolge fuer Knobler:
Auch hier gilt es, das Fragezeichen durch das Zeichen zu ersetzen, das an
diese Stelle gehoert.

# | # | # | _ | # _ | | # # # _ ? # # | # # # # _ #

Viel Spass beim Knobeln!

Gruss
Vincent

P.S: Mein Dank an Tassram, die mir auch diese Raetsel vor einiger Zeit
zugeschickt hat. :)

-----------------------------------------------------------------------------



Re: Eine schwierige Folge (II) (Alkohol, 30. Sep 2003, 11:01:20):
~#! rn=Vincent rt=1064905812 rg=puiz
~#! tid=1064905812
kann mir einer mal diese Folgenraetsel erklaeren? Ich meine, es gibt nie eine
eindeutige Regel, die auf das passt, was da steht. Und ich denke, man kann
immer eine Regel hinschreiben, so dass man an die Stelle des Fragezeichens der
Regel entsprechend irgendwas setzen kann. Eine Aussage, die Antwort sei
falsch, ist also unsinnig. 

Alk

-----------------------------------------------------------------------------



Re: Re: Eine schwierige Folge (II) (Croft, 30. Sep 2003, 11:09:13):
~#! rn=Alkohol rt=1064912480 rg=puiz
~#! tid=1064905812
Die Folgeraetsel orientieren sich an etwas alltaeglichem das jedem
hier bekannt ist.  Es ist Teil der Aufgabe herrauszufinden was dies ist.
Und ueber falsche und nicht falsche Aussagen wurde hier noch gar nicht
gesprochen.  Falls du willst kann man die Aufgabenstellung auch auf
ein "ich denke an eine (sinnvolle) Regel nach der diese Folge erzeugt
wurde.  welche ist es?" umformulieren.   Da gibt es dann falsch und
richtig :-)

Croft

-----------------------------------------------------------------------------



Re^3: Eine schwierige Folge (II) (Zook, 30. Sep 2003, 11:11:47):
~#! rn=Croft rt=1064912953 rg=puiz
~#! tid=1064905812
Ich denke mir eine Zahl zwischen 1 und 100. Welche Zahl ist es, Croft?

Zook.

-----------------------------------------------------------------------------



Re^4: Eine schwierige Folge (II) (Grimmborn, 30. Sep 2003, 11:12:17):
~#! rn=Zook rt=1064913107 rg=puiz
~#! tid=1064905812
Einfach. Es ist die 27.

GdA

-----------------------------------------------------------------------------



Re^5: Eine schwierige Folge (II) (Zook, 30. Sep 2003, 11:12:35):
~#! rn=Grimmborn rt=1064913137 rg=puiz
~#! tid=1064905812
Mift!

Zook.

-----------------------------------------------------------------------------



Re: Re: Eine schwierige Folge (II) (Vincent, 30. Sep 2003, 11:17:54):
~#! rn=Alkohol rt=1064912480 rg=puiz
~#! tid=1064905812
Klar gibt es bei dieser Art von Raetsel (wie bei einigen anderen Arten auch)
die Moeglichkeit, andere Regeln oder Bildungsvorschriften, die zu einer
identischen oder zumindest aehnlichen Folge fuehren, zu finden, die der
Raetselsteller nicht im Sinn hatte. Zum Beispiel ist es oft moeglich, ein
Polynom zu finden, das all die "Stuetzstellen" einer solchen Reihe trifft.

Aber in den meisten Faellen ist nach einer einfachen Regel gesucht, aus
welcher die Folge gebildet ist. Das Naheliegende zu erkennen, ist bei
solchen Raetsel die Kunst und die Herausforderung. Denn es ist ja nur ein
Raetsel und keine vollstaendig durchdachte Erzeugenden-Funktion im
mathematischen oder informationstechnischen Sinne.

Um eine naheliegende Loesung zu finden, muss man die mehr oder weniger
versteckten Hinweise und Charakteristiken erkennen, und wenn es dann gelingt
eien Regel zu bilden, ohne grossartig komplizierten mathematischen Ansatz,
ist man auf dem richtigen Weg. Wenn es darum ginge mathematische
Gleichungen aufzustellen oder die Gesamtheit aller Loesungen darzustellen,
kann man sich ja gleich die Uebungsblaetter fuer Lineare Algebra und/oder
Analysis vornehmen oder soetwas in der Richtung.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^3: Eine schwierige Folge (II) (Alkohol, 30. Sep 2003, 11:20:25):
~#! rn=Vincent rt=1064913474 rg=puiz
~#! tid=1064905812
also wenn du mir noch erklaerst, was eine einfache regeln ist. Ich persoenlich
finde ja, die Erklaerung mit Polynomen ist in gewisser hinsicht die einfachst
moegliche, vor allem hat sie den Vorteil, dass man die Folge dann beliebig
ergaenzen kann.
Alk

-----------------------------------------------------------------------------



Re^4: Eine schwierige Folge (II) (Croft, 30. Sep 2003, 11:21:43):
~#! rn=Alkohol rt=1064913625 rg=puiz
~#! tid=1064905812
Ich sehe schon.  Du konstruierst lieber Polynome als dich dieser endlichen
Folgen anzunehmen :-)

Croft

-----------------------------------------------------------------------------



Re^5: Eine schwierige Folge (II) (Alkohol, 30. Sep 2003, 11:24:08):
~#! rn=Croft rt=1064913703 rg=puiz
~#! tid=1064905812
oh ich nehme mich dieser Folge an, aber ich mach das mit Polynomen, einen
einfacheren Ansatz kann ich mir nicht vorstellen
Alk

-----------------------------------------------------------------------------



Was einfacheres .. (Anoris, 30. Sep 2003, 11:26:41):
M D M D ? S S

- Anoris

-----------------------------------------------------------------------------



Re: Was einfacheres .. (Croft, 30. Sep 2003, 11:29:46):
~#! rn=Anoris rt=1064914001 rg=puiz
~#! tid=1064914001
Oh. Da reicht auch ein Polynom niedrigen Grades :>

Croft

-----------------------------------------------------------------------------



Re^5: Eine schwierige Folge (II) (Vincent, 30. Sep 2003, 11:31:22):
~#! rn=Croft rt=1064913703 rg=puiz
~#! tid=1064905812
Die Aufgabe in diesem Raetsel ist es, das fehlende Zeichen zu finden. Dass
die Folge beliebig erweiterbar sein soll, steht da mit keinem Wort. Es
gehoert zu so einem Raetsel (uebrigens gilt das fuer jedes Raetsel), dass
der Raetseltext genau geelsen wird, und man nicht einfach irgendwelche
Erweiterungen als gegeben annimmt, die gar nicht vorhanden sind.

Eine einfache Regel ist zum Beispiel eine, die mit alltaeglichen Mitteln
formuliert werden kann, mit Allgemeinwissen, mit Schulkenntnissen oder
einfach kurz und umgangssprachlich formuliert werden kann.
Das Herleiten eines Polynoms mit 10, 20, 30 oder mehr Stuetzstellen halte
ich nicht fuer einfach in diesem Zusammenhang.

Gruss
Vincent

P.S.: Generell gebe ich die Empfehlung, sich nur auf solche Raetsel
einzulassen, wenn man Spass daran hat. Wenn man partout damit nicht
klarkommt...es gibt auch andere Formen der Unterhaltung. ;)

-----------------------------------------------------------------------------



Re^6: Eine schwierige Folge (II) (Boing, 30. Sep 2003, 11:31:34):
~#! rn=Alkohol rt=1064913848 rg=puiz
~#! tid=1064905812
Dann mangelt es Dir leider an Vorstellungskraft. :)
Ja, Deine Loesung ist richtig, und nun lass die anderen raetseln ... ;)
  Boing

-----------------------------------------------------------------------------



Re^7: Eine schwierige Folge (II) (Zook, 30. Sep 2003, 11:33:34):
~#! rn=Boing rt=1064914294 rg=puiz
~#! tid=1064905812
Ich haette noch anzubieten: Z ? ? K


-----------------------------------------------------------------------------



Re^8: Eine schwierige Folge (II) (Montanus, 30. Sep 2003, 11:33:56):
~#! rn=Zook rt=1064914414 rg=puiz
~#! tid=1064905812
Die antwort ist A C

-----------------------------------------------------------------------------



Re^9: Eine schwierige Folge (II) (Mandragon, 30. Sep 2003, 11:34:26):
~#! rn=Montanus rt=1064914436 rg=puiz
~#! tid=1064905812
 nicht O N ?

Ma*

-----------------------------------------------------------------------------



Re^10: Eine schwierige Folge (II) (Montanus, 30. Sep 2003, 11:34:38):
~#! rn=Mandragon rt=1064914466 rg=puiz
~#! tid=1064905812
 Z U C K...

-----------------------------------------------------------------------------



Re^10: Eine schwierige Folge (II) (Croft, 30. Sep 2003, 11:34:50):
~#! rn=Mandragon rt=1064914466 rg=puiz
~#! tid=1064905812
 O C haette ich nu gedacht.

Croft

-----------------------------------------------------------------------------



Re^11: Eine schwierige Folge (II) (Alkohol, 30. Sep 2003, 11:37:02):
~#! rn=Croft rt=1064914490 rg=puiz
~#! tid=1064905812
:q




-----------------------------------------------------------------------------



Re^12: Eine schwierige Folge (II) (Alkohol, 30. Sep 2003, 11:39:30):
~#! rn=Alkohol rt=1064914622 rg=puiz
~#! tid=1064905812
scheiss vim :)

naja ich wollt ja niemanden am raetseln hindern, noch in irgendeiner Weise
behaupten ich haette die Loesung. Ich erinnerte mich nur an eine
Raetselstation bei der RL-Quest in Bonn glaube ich. Da gab es so eine Reihe
und man sollte sie fortsetzen und alle meine Vorschlaege wurden ignoriert ;)

Uebrigens hab ich sehr wohl das Ding ganz gelesen, und man kann auch diese
Frage in die Frage nach einem Polynom uebersetzen, du musst nicht nur in
Stuetzstellen denken ;)

Alk

-----------------------------------------------------------------------------



Re^13: Eine schwierige Folge (II) (Zook, 30. Sep 2003, 11:40:04):
~#! rn=Alkohol rt=1064914770 rg=puiz
~#! tid=1064905812
:denkt grundsaetzlich nicht.

-----------------------------------------------------------------------------



Re: Eine schwierige Folge (I) (Nonne, 30. Sep 2003, 11:42:32):
~#! rn=Vincent rt=1064878406 rg=puiz
~#! tid=1064878406
Ich weiss es, ich weiss es *g*

-----------------------------------------------------------------------------



Re: Eine schwierige Folge (II) (Vincent, 30. Sep 2003, 11:48:09):
~#! rn=Vincent rt=1064905812 rg=puiz
~#! tid=1064905812
Nonne hat mir als erste Person die richtige Loesung genannt! :-)
Gratulation!

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Re: Eine schwierige Folge (II) (Zook, 30. Sep 2003, 11:50:52):
~#! rn=Vincent rt=1064915289 rg=puiz
~#! tid=1064905812
Mir hat noch keiner die richtige Loesung genanntn. Ausser natuerlich 
Grimmborn mit dem Zahlenraetsel.

Zook.

-----------------------------------------------------------------------------



Re^3: Eine schwierige Folge (II) (Croft, 30. Sep 2003, 11:52:10):
~#! rn=Zook rt=1064915452 rg=puiz
~#! tid=1064905812
Dann ist deine Aufgabe wohl zu schwer.

Croft

-----------------------------------------------------------------------------



Re^4: Eine schwierige Folge (II) (Zook, 30. Sep 2003, 11:52:58):
~#! rn=Croft rt=1064915530 rg=puiz
~#! tid=1064905812
Und von Allohol nicht einfach mit nem Polynom zu loesen oder wie? ;)

ZOok wirft mit Stuetzstellen um sich.

-----------------------------------------------------------------------------



Re^5: Eine schwierige Folge (II) (Croft, 30. Sep 2003, 11:54:27):
~#! rn=Zook rt=1064915578 rg=puiz
~#! tid=1064905812
Der arbeiten wohl noch an den beiden Polynomen mit Grad 26.

Croft

-----------------------------------------------------------------------------



Re^6: Eine schwierige Folge (II) (Alkohol, 30. Sep 2003, 12:34:49):
~#! rn=Croft rt=1064915667 rg=puiz
~#! tid=1064905812
neee, der hat erstmal an der mensa gearbeitet und jetzt arbeitet der lieber an
anderen polynomen die er fuer andere dinge braucht

Alki

-----------------------------------------------------------------------------



auch mal ein Raetsel (Alkohol, 30. Sep 2003, 13:49:32):
ok, hier mal ein raetsel von mir und ich schwoere man braucht weder Polynome
noch sonst irgendwelche schlimmen Dinge dafuer:

eue oee oeeue oe au eiu ? i eee eueue iie ei eiiu

wie gehabt, das ist ein tupel von eintraegen, getrennt durch leerzeichen, das
Fragezeichen ist die Frage.

Alki

-----------------------------------------------------------------------------



Re: auch mal ein Raetsel (Zook, 30. Sep 2003, 13:59:59):
~#! rn=Alkohol rt=1064922572 rg=puiz
~#! tid=1064922572
Ich habe es nicht selbst herausbekommen, aber nachdem ich des Raetsels
Loesung vorgefuehrt bekommen habe, denke ich mir, dass ein Tip erlaubt 
sein muss. (Allohol hat zumindest nix gegen den Tip)

"Es ist nicht Fraeulein Stobeier aus Grinzing."

Damit wird das Raetsel extremst einfach, finde ich.

Zook.

-----------------------------------------------------------------------------



Re: Re: auch mal ein Raetsel (Gloinson, 30. Sep 2003, 14:00:50):
~#! rn=Zook rt=1064923199 rg=puiz
~#! tid=1064922572
Wollen wir nicht lieber darueber streiten wie sich solche Raetsel optimalst
(c) loesen lassen?


-----------------------------------------------------------------------------



Flaschenpost (Phobos, 12. Okt 2003, 19:18:39):
Als ich neulich am Strand lag, wurde da eine alte Flasche angespuelt.
Beim naeheren Betrachten stellte ich fest, dass ein Zettel in der
Flasche steckte. Wow, eine Flaschenpost! Man konnte eine Inschrift
auf dem eingerollten Pergament entdecken. In schnoerkeliger Handschrift
stand da "Schatzkarte", und in der Zeile darunter "Das X markiert die 
Stelle!".

Der Korken hatte super gehalten, und das Papier war in einem sehr
guten Zustand. Leider fiel mir aber die Flasche beim Herausnehmen
des Korkens ins Wasser, wodurch der Zettel total durchnaesst wurde.
Naja, kein Problem, ich habe ihn ueber einen langen Ast gelegt und
in der Naehe des Lagerfeuers zum Trocknen hingehaengt.

Leider war es dann auf einmal ein wenig windig, und der Zettel ist
irgendwie in Richtung Feuer geweht worden, wo ich ihn gerade noch
rechtzeitig mit dem Stock herausfischen konnte.

Wie auch immer, folgendes konnte man noch entziffern: Man startet
am Punkt A und legt eine bestimmte Entfernung Richtung OSO zur|ck, 
dann kommt man zu Punkt B. Von dort geht es genau westlich zu Punkt 
C, danach Richtung NNW zu Punkt D. Zum Schluss geht es Richtung ...

Mehr ist von der Karte leider nicht uebrig geblieben. Weder Skizzen
noch genaue Entfernungsangaben zwischen den einzelnen Punkten.

Kann mir trotzdem jemand sagen, welche Richtung ich von Punkt D
einschlagen muss, um das Ziel zu erreichen? 

Phobos

-----------------------------------------------------------------------------



Re: Flaschenpost (Grimmborn, 13. Okt 2003, 08:55:51):
~#! rn=Phobos rt=1065979119 rg=puiz
~#! tid=1065979119
Was soll Dir das bringen, wenn Du noch nichtmal weisst von welcher
Insel/welchem Kontinent die Rede ist?

GdA empfiehlt zur Wohlstandsmehrung eher Bundesschatzbriefe

-----------------------------------------------------------------------------



Re: Re: Flaschenpost (Mandragon, 13. Okt 2003, 08:58:31):
~#! rn=Grimmborn rt=1066028151 rg=puiz
~#! tid=1065979119
Also am letzten Mittwoch SAP-Optionen kaufen haette es auch in erheblichem
Masse getan (wann steigt schon mal ein DAX-Wert um mehr als 10% an einem Tag?)
...

Ma*

-----------------------------------------------------------------------------



Re: Re: Flaschenpost (Phobos, 13. Okt 2003, 19:26:36):
~#! rn=Grimmborn rt=1066028151 rg=puiz
~#! tid=1065979119
Hmpf ja, ok. Kann sein, dass auf der Rueckseite des Pergaments ein 
paar Koordinaten angegeben sind. Mit diesen Details wollte ich euch 
aber nicht belasten. Die sind ja auch fuer das Raetsel nicht von 
Interesse. Ich kann die Koordinaten ja demnaechst veroeffentlichen, 
vorher muss ich aber noch eine wichtige Reise antreten ..

Ich verrate mal so viel: Die Koordinaten, bei denen der Schatz 
ungefaehr liegt, beschreiben ein rechteckiges Gebiet mit einem
Seitenverhaeltnis von etwa 2.8 : 1. Wo genau die Punkte A bis D
innerhalb dieses Gebietes liegen, muesst ihr aber schon selbst
rausfinden. Und wie schon gesagt: Das X markiert die Stelle!


Phobos

-----------------------------------------------------------------------------



Spam ;( (Anoris, 16. Okt 2003, 06:39:21):
In letzter Zeit haeufen sich Spammails mit einer gewissen
Regelmaessigkeit der Subjects. Heute z.B.:

Please, advise body ! pduwlqCqhwvhuyhu1fk

Mir ist aufgefallen, dass die beiden Strings vor und nach dem ! gleich
lang sind. Nicht nur bei diesem Mail, sondern bei so ziemlich allen
Subjects die aehnlich aufgebaut sind. Text ! Muell. Nun koennte ich
mir denken, dass der zweite Teil eine "Verschluesselung" des ersten
Teils ist. Mein Raetsel, dessen Loesung ich nicht kenne waere nun
also herauszufinden wie solche Subjects zu erkennen sind.

Any hint? Vielen lieben Dank schon mal ..

- Anoris

-----------------------------------------------------------------------------



Re: Spam ;( (Marcus, 16. Okt 2003, 12:36:33):
~#! rn=Anoris rt=1066279161 rg=puiz
~#! tid=1066279161
Suche nach so Regeln wie "grossbuchstaben oder Zahlen im Wort".

Oder nimm spamassassin, der hat fuer Spams schon viele Regeln mal vorbereitet
;)

Ciao, marcus

-----------------------------------------------------------------------------



Re: Re: Spam ;( (Medic, 16. Okt 2003, 19:21:31):
~#! rn=Marcus rt=1066300593 rg=puiz
~#! tid=1066279161
SpamAssassin kann ich nur empfehlen. Hier wird es netterweise
bereits auf dem Mailserver eingesetzt, alle erkannten Spams landen
im UCE-TMP-Ordner, via IMAp gut zu kontrollieren. Zusaetzlich
eine woechentliche kumulative Mail mit denAbsendern und Subjects
der gefilterten Mails, so dass (seeeehr seltene) false positives
auch nicht durch die Lappen gehen.
Bei einem Mailaufkommen von ca. 2000-3000 Mails pro Monat bekomme ich
noch ca. 10 Spams als false negatives (von denen Thunderbird als
Mailclient nochmal die Haelfte erkennt).
Als lokale Loesung gibt's den SAProxy. Ueber dessen Effektivitaet weiss ich
nichts zu sagen. Im Gegensatz zur kommerziellen Variante ist der
dafuer glaube ich GPL (oder Freeware?, kA).
Ansonsten gab's ne gute Uebersicht in einer der letzten Ausgaben der c't.

Gruss,
Medic

-----------------------------------------------------------------------------



Re^3: Spam ;( (Catweazle, 16. Okt 2003, 23:14:40):
~#! rn=Medic rt=1066324891 rg=puiz
~#! tid=1066279161
Ich bekomme grundsaetzlich keine "false negatives". 

Was mitunter daran liegen duerfte, das ich meine 1000 woechentlichen
Trashmails nicht weiter durchsehe ...

YTC

-----------------------------------------------------------------------------



Re^4: Spam ;( (Medic, 17. Okt 2003, 00:41:21):
~#! rn=Catweazle rt=1066338880 rg=puiz
~#! tid=1066279161
Ja, nur dass false negatives nicht im UCE-Ordner, sondern
im Posteingang landen. Meist sind das Mails, die
nur einen Random-Betreff und im Body nur eine Webadresse
enthalten.
Bei mir zumindest. Daher auch "nur" ca. 50% zusaetliche Erkennungsrate
durch den Mailclient (Thunderbird).

-----------------------------------------------------------------------------



Re: Flaschenpost (Phobos, 17. Okt 2003, 19:51:00):
~#! rn=Phobos rt=1065979119 rg=puiz
~#! tid=1065979119
>  A -> OSO -> B
>  B -> W   -> C
>  C -> NNW -> D
>  D -> ??? -> X

Hmm, keiner? Na ok, letzte Chance: Ich habe mal eine Kopie 
des Bereichs gemacht, in dem sich die Punkte A bis D befinden.

So, bitte sehr: Liegt jetzt auf deinem Schreibtisch. Und,
in welche Richtung muss ich gehen, um vom Punkt D zum Punkt 
X zu kommen?


Phobos

-----------------------------------------------------------------------------



Re: Re: Flaschenpost (Phobos, 20. Okt 2003, 19:14:05):
~#! rn=Phobos rt=1066413060 rg=puiz
~#! tid=1065979119
Zeit fuer die Aufloesung:


Ich war am Wochenende auf Schatzsuche. Die Koordinaten auf der Rueckseite
der Schatzkarte fuehrten zu einem rechteckigen Stueck Acker irgendwo in 
der Naehe eines Kuhkaffs in der Heide. Position A war netterweise durch 
eine Vogelscheuche markiert, dadurch wurde mein Suchaufwand halbiert.
Ich ging direkt zum Zielpunkt (von Punkt D aus haette ich uebrigens
Richtung SSW gehen muessen) und begann zu graben...

... 

In etwa 1 Meter Tiefe stiess ich auf etwas Metallisches. Eine Kiste oder
sowas. Da es inzwischen dunkel wurde, konnte man nichts genaues erkennen.
Ich grub vorsichtig weiter und hob die Kiste schliesslich aus dem Loch.
Auch einen kleineren Gegenstand aus Plastik hob ich auf. Flach, recht-
eckig und mit einer Art Schnur an der Seite.

Den Kram packte ich erstmal in einen Sack, warf ihn in den Kofferraum und
fuhr nach Hause.

Tja, das war meine Geschichte. Warum erzaehle ich euch das bloss?




Phobos



P.S. 
Was fuer ein Fehlschlag .. der Computer war total verrostet und auf der
Tastatur klemmte das 'X'.

-----------------------------------------------------------------------------



Re^3: Flaschenpost (Imda, 20. Okt 2003, 19:23:54):
~#! rn=Phobos rt=1066670045 rg=puiz
~#! tid=1065979119
Hat das jetzt wer verstanden?

-----------------------------------------------------------------------------



Re^4: Flaschenpost (Whitetiger, 20. Okt 2003, 19:24:14):
~#! rn=Imda rt=1066670634 rg=puiz
~#! tid=1065979119
:nickt.

-----------------------------------------------------------------------------



Re^5: Flaschenpost (Morgonate, 21. Okt 2003, 09:09:24):
~#! rn=Whitetiger rt=1066670654 rg=puiz
~#! tid=1065979119
Tja, aber wer kommt schon auf die Idee, Punkte auf einem Schatzfeld genauso
anzuordnen wie Tasten auf der Tastatur eines Rechners. Uebrigens, Franzosen
und Schweizer haetten mit der Aufgabe ein ziemliches Problem gehabt. Die haben
eine ziemlich andere Tastatur.

Morgonate

-----------------------------------------------------------------------------



Re^6: Flaschenpost (Phobos, 21. Okt 2003, 18:46:17):
~#! rn=Morgonate rt=1066720164 rg=puiz
~#! tid=1065979119
Hmm, dann haette auf der Karte bestimmt 'carte de tresor' oder
Schaetzlikaertli gestanden ;)

Phobos

-----------------------------------------------------------------------------



MAC2CHAR (Catweazle, 24. Okt 2003, 13:16:44):
Moin.

Vielleicht weiss es ja jemand von Euch.

Wie kommt man von 00:0E:18:D8:74:F5 zu 3625508864 ?

Nein, ich weiss die Antowrt leider nicht :)

YTC

-----------------------------------------------------------------------------



Re: MAC2CHAR (Caldrin, 24. Okt 2003, 14:09:13):
~#! rn=Catweazle rt=1066994204 rg=puiz
~#! tid=1066994204
Man wandle die MAC nach dezimal, ziehe vom Ergebnis 60546381045 ab und addiere
3625508864. Fertig!

SCNR Caldrin

-----------------------------------------------------------------------------



Re: Re: MAC2CHAR (Catweazle, 24. Okt 2003, 14:16:07):
~#! rn=Caldrin rt=1066997353 rg=puiz
~#! tid=1066994204
Der erste Teil _koennte_ ein richtiger Loesungsweg sein, der Rest ist wohl
Schrott :-)

YTC

-----------------------------------------------------------------------------



Re: MAC2CHAR (Phobos, 25. Okt 2003, 15:54:14):
~#! rn=Catweazle rt=1066994204 rg=puiz
~#! tid=1066994204
Nur eine Vermutung:

   dez. 3625508864 = hex. 0xd818e000
                            | | | |
   00:0e:18:d8:74:f5        | | | |
   |  |  |  +---------------+ | | |
   |  |  +--------------------+ | |
   |  +-------------------------+ |
   +------------------------------+


Phobos

-----------------------------------------------------------------------------



Re: Re: MAC2CHAR (Catweazle, 26. Okt 2003, 02:00:06):
~#! rn=Phobos rt=1067090054 rg=puiz
~#! tid=1066994204
Super! :-)
YTC

-----------------------------------------------------------------------------



Re^3: MAC2CHAR (Phobos, 26. Okt 2003, 12:54:55):
~#! rn=Catweazle rt=1067130006 rg=puiz
~#! tid=1066994204
Naja, nicht wirklich. Es sei denn, Du hast 0E und E0 im zweiten
Wert der MAC vertauscht.

Phobos

-----------------------------------------------------------------------------



Re^4: MAC2CHAR (Catweazle, 26. Okt 2003, 20:52:05):
~#! rn=Phobos rt=1067169295 rg=puiz
~#! tid=1066994204
Die Moeglichkeit besteht ...

YTC

-----------------------------------------------------------------------------



Re^5: MAC2CHAR (Gloinson, 26. Okt 2003, 21:58:13):
~#! rn=Catweazle rt=1067197925 rg=puiz
~#! tid=1066994204
Soso, ich bekomme also 0,nochwas Prozent auf
V-Power-Beknackte-Leute-tanken-noch-supertolleren-Sprit beim Kaufen sagt mir
die Werbung. Das sollte mir doch glatt diesen 10% teureren Sprit (als Super+)
schmackhaft machen. Macht es aber nicht, es sei ich will dringend mal ein
Tieffluggeschwader-WE einlegen.


-----------------------------------------------------------------------------



4 Kugeln (Nonne, 28. Okt 2003, 13:55:52):
4 Baelle (bzw. Kugeln) liegen auf einer Ebene, wobei sich alle vier
gegenseitig beruehren! Wie lautet der Radius des 4. Balls die Baelle 1-3
alle den gleichen Radius X haben??

Habe was anderes raus, als die Loesungen, die ich sonst gehoert habe, weiss
aber nicht, welche richtig ist. Also lass ich hier mal die Demokratie
entscheiden (c;

Nonne.

-----------------------------------------------------------------------------



Re: 4 Kugeln (Imda, 28. Okt 2003, 14:16:10):
~#! rn=Nonne rt=1067345752 rg=puiz
~#! tid=1067345752
x/4 ?

-----------------------------------------------------------------------------



Re: Re: 4 Kugeln (Bielefeld, 28. Okt 2003, 14:19:11):
~#! rn=Imda rt=1067346970 rg=puiz
~#! tid=1067345752
Ich krieg was deutlich schraegeres raus...

-Bielefeld

-----------------------------------------------------------------------------



Re^3: 4 Kugeln (Imda, 28. Okt 2003, 14:20:15):
~#! rn=Bielefeld rt=1067347151 rg=puiz
~#! tid=1067345752
Dann hat einer von uns beiden n Denkfehler oder is zu doof zum rehcnen

-----------------------------------------------------------------------------



Re^4: 4 Kugeln (Nonne, 28. Okt 2003, 14:23:13):
~#! rn=Imda rt=1067347215 rg=puiz
~#! tid=1067345752
Schraeger ist es nicht und x/4 auch nicht, ich wuerde sagen, niemand hat
recht.

-----------------------------------------------------------------------------



Re^5: 4 Kugeln (Imda, 28. Okt 2003, 14:24:12):
~#! rn=Nonne rt=1067347393 rg=puiz
~#! tid=1067345752
jo, x/4 wuerde fuer ne Kugel mehr stimmen. Wer lesen kann is im Vorteil :(

-----------------------------------------------------------------------------



Re^6: 4 Kugeln (Nonne, 28. Okt 2003, 14:25:15):
~#! rn=Imda rt=1067347452 rg=puiz
~#! tid=1067345752
Nein, x/4 wuerde fuer eine Kugel weniger stimmen...

-----------------------------------------------------------------------------



Re^7: 4 Kugeln (Imda, 28. Okt 2003, 14:26:06):
~#! rn=Nonne rt=1067347515 rg=puiz
~#! tid=1067345752
Aeehhh ja. Vieleicht solltich leiber Bwl studiern.

-----------------------------------------------------------------------------



Re^8: 4 Kugeln (Nonne, 28. Okt 2003, 14:26:28):
~#! rn=Imda rt=1067347566 rg=puiz
~#! tid=1067345752
... statt Paedagogik?

-----------------------------------------------------------------------------



Re^9: 4 Kugeln (Imda, 28. Okt 2003, 14:31:28):
~#! rn=Nonne rt=1067347588 rg=puiz
~#! tid=1067345752
Ok, naechster Versuch: 5/9 *x

-----------------------------------------------------------------------------



Re^10: 4 Kugeln (Bambulko, 28. Okt 2003, 14:34:48):
~#! rn=Imda rt=1067347888 rg=puiz
~#! tid=1067345752
Ich habe x*(1/cos(30)-1).

Bambulko

-----------------------------------------------------------------------------



Re^11: 4 Kugeln (Bielefeld, 28. Okt 2003, 14:36:00):
~#! rn=Bambulko rt=1067348088 rg=puiz
~#! tid=1067345752
Nu aber... x * (2/sqrt(3) - 1)

-Bielefeld

-----------------------------------------------------------------------------



Re^12: 4 Kugeln (Bambulko, 28. Okt 2003, 14:36:24):
~#! rn=Bielefeld rt=1067348160 rg=puiz
~#! tid=1067345752
Ist das gleiche :-)

Bambulko

-----------------------------------------------------------------------------



Re^13: 4 Kugeln (Imda, 28. Okt 2003, 14:46:29):
~#! rn=Bambulko rt=1067348184 rg=puiz
~#! tid=1067345752
Nah ausbesserung eines Fehlers und nochmal nachrechnen komm ich jetzt auf 1/3
X

-----------------------------------------------------------------------------



Re^14: 4 Kugeln (Bambulko, 28. Okt 2003, 14:53:12):
~#! rn=Imda rt=1067348789 rg=puiz
~#! tid=1067345752
Ich ziehe meine Aussage zurueck, sie galt nur fuer Zylinder und nicht fuer
Kugeln.

Bambulko

-----------------------------------------------------------------------------



Re^14: 4 Kugeln (Vincent, 28. Okt 2003, 14:55:46):
~#! rn=Imda rt=1067348789 rg=puiz
~#! tid=1067345752
Dafuer komme ich jetzt auch auf ein (1/4)*X wie Imda anfangs.
*kopfkratz*

Gruss
Vincent

-----------------------------------------------------------------------------



Re^16: 4 Kugeln (Vincent, 28. Okt 2003, 15:03:49):
~#! rn=Zook rt=1067349427 rg=puiz
~#! tid=1067345752
Und das nennt man, seinen Senf dazugeben. ;)

Vincent

-----------------------------------------------------------------------------



Re^17: 4 Kugeln (Imda, 28. Okt 2003, 15:09:26):
~#! rn=Vincent rt=1067349829 rg=puiz
~#! tid=1067345752
Jo, das sind 3 Kugeln. den Denkfehler hattich auch. Die 1/3 X sollten jetzt
aber eigentlich stimmen.

-----------------------------------------------------------------------------



Re^18: 4 Kugeln (Bambulko, 28. Okt 2003, 15:32:06):
~#! rn=Imda rt=1067350166 rg=puiz
~#! tid=1067345752
Ich habe jetzt auch x/3 raus....

Bambulko

-----------------------------------------------------------------------------



Re^19: 4 Kugeln (Grimmborn, 28. Okt 2003, 15:38:07):
~#! rn=Bambulko rt=1067351526 rg=puiz
~#! tid=1067345752
Was ist das hier? Demokratische Mathematik oder was?

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^20: 4 Kugeln (Nonne, 28. Okt 2003, 15:43:13):
~#! rn=Grimmborn rt=1067351887 rg=puiz
~#! tid=1067345752
Offensichtlich, ich habe naemlich auch 1/3*X raus, daher erklaere ich das zum
richtigen Ergebnis (c:

Nonne.

-----------------------------------------------------------------------------



Re^21: 4 Kugeln (Imda, 28. Okt 2003, 17:05:46):
~#! rn=Nonne rt=1067352193 rg=puiz
~#! tid=1067345752
Wieso is dann ned das rausgekommen, was rauskommen sollte?
Und gibbed n vernueftiges ergebnis fuer n kugeln?

-----------------------------------------------------------------------------



Re^22: 4 Kugeln (Croft, 28. Okt 2003, 17:06:56):
~#! rn=Imda rt=1067357146 rg=puiz
~#! tid=1067345752
Du meinst dann im n-1 dimensionalen, oder?

Croft

-----------------------------------------------------------------------------



Re^11: 4 Kugeln (Huraxprax, 28. Okt 2003, 17:07:38):
~#! rn=Bambulko rt=1067348088 rg=puiz
~#! tid=1067345752
Das muss die richtige loesung sein, 1/cos(30) kann man noch als sqrt(3)
schreiben aber damit hat sich es auch schon, 1/3 ist viel zu rational ;)

-----------------------------------------------------------------------------



Re^23: 4 Kugeln (Imda, 28. Okt 2003, 17:07:44):
~#! rn=Croft rt=1067357216 rg=puiz
~#! tid=1067345752
DAs meinte ich zwar nicht, aber auch das hoert sich interessant an

-----------------------------------------------------------------------------



Re^24: 4 Kugeln (Croft, 28. Okt 2003, 17:09:18):
~#! rn=Imda rt=1067357264 rg=puiz
~#! tid=1067345752
Naja.  Wie sonst willst du es schaffen das sich die n Kugel alle
gegenseitig beruehren?

Croft

-----------------------------------------------------------------------------



Re^25: 4 Kugeln (Imda, 28. Okt 2003, 17:10:53):
~#! rn=Croft rt=1067357358 rg=puiz
~#! tid=1067345752
DA hast du auch wieder recht. heut is glaub ned mein tag.

-----------------------------------------------------------------------------



Re^26: 4 Kugeln (Orktoeter, 28. Okt 2003, 17:13:33):
~#! rn=Imda rt=1067357453 rg=puiz
~#! tid=1067345752
Schaut einfach mal in alte Spektrum der Wissenschaft (so vor ca. 2 oder 3
Jahren), da war ein Artikel zu Tafeln, die schon vor sehr langer Zeit in
Shintuschreinen aufgehaengt wurden. Auf diesen Tafeln wurden genau solche
mathematischen Spielereien gezeigt (incl. Loesung).

OrkT.

-----------------------------------------------------------------------------



Re^25: 4 Kugeln (Huraxprax, 28. Okt 2003, 17:13:47):
~#! rn=Croft rt=1067357358 rg=puiz
~#! tid=1067345752
kannst die Kugeln einfach so in einem regelmaessigen n-eck anordnen, dann
muesste die laenge x*(1/cos((n-2)*Pi/2*n)-1) sein.
(wobei in der oberen Zeile sicher ein rechenfehler ist) ;)
Die n-2-dimensionalen Hyperkugeln sind mir dann aber doch etwas zu komplex
grad...

huraxprax

-----------------------------------------------------------------------------



Re^25: 4 Kugeln (Catweazle, 28. Okt 2003, 18:57:17):
~#! rn=Croft rt=1067357358 rg=puiz
~#! tid=1067345752
Ihr denkt immer so dreideimensional...

YTC

-----------------------------------------------------------------------------



Re^26: 4 Kugeln (Croft, 28. Okt 2003, 19:10:27):
~#! rn=Catweazle rt=1067363837 rg=puiz
~#! tid=1067345752
Du etwa nicht? :-)

Croft

-----------------------------------------------------------------------------



Re^27: 4 Kugeln (Catweazle, 28. Okt 2003, 19:14:51):
~#! rn=Croft rt=1067364627 rg=puiz
~#! tid=1067345752
Aeusserst selten ...

YTC

-----------------------------------------------------------------------------



Re^28: 4 Kugeln (Croft, 28. Okt 2003, 19:29:32):
~#! rn=Catweazle rt=1067364891 rg=puiz
~#! tid=1067345752
Wieviele Dimensionen bevorzugst du so?

Croft

-----------------------------------------------------------------------------



Re^29: 4 Kugeln (Alkohol, 28. Okt 2003, 19:30:06):
~#! rn=Croft rt=1067365772 rg=puiz
~#! tid=1067345752
52 Dimensionen

Alk

-----------------------------------------------------------------------------



Re^30: 4 Kugeln (Morgoth, 28. Okt 2003, 19:31:32):
~#! rn=Alkohol rt=1067365806 rg=puiz
~#! tid=1067345752
...entering...
Leibis Zahndimension...
tada tada tadada

M*

-----------------------------------------------------------------------------



Re^31: 4 Kugeln (Alkohol, 28. Okt 2003, 19:32:02):
~#! rn=Morgoth rt=1067365892 rg=puiz
~#! tid=1067345752
oh an die hatte ich gar nciht gedacht, gefaellt mir aber ;)

Alki

-----------------------------------------------------------------------------



Re^32: 4 Kugeln (Morgoth, 28. Okt 2003, 19:32:26):
~#! rn=Alkohol rt=1067365922 rg=puiz
~#! tid=1067345752
Wie kannst Du Leibi VERGESSEN???

M*

-----------------------------------------------------------------------------



Re^33: 4 Kugeln (Grimmborn, 28. Okt 2003, 21:11:52):
~#! rn=Morgoth rt=1067365946 rg=puiz
~#! tid=1067345752
Nette Versuche. Die bevorzugte Anzahl an Dimensionen, in denen die
allermeisten Menschen zu denken pflegen, ist aber natuerlich "eine". 

GdA

-----------------------------------------------------------------------------



Re^7: Musik et cetera (Bambi, 20. Nov 2003, 10:45:02):
~#! on=Bambi ot=1069321476 og=party
~#! rn=Thomask rt=1069314082 rg=party
~#! tid=1069097672
Du bist ein Busfahrerverarscher. Und dreimal darfst Du raten, warum ich Dich
so nenne.

-----------------------------------------------------------------------------



Telepolis Raetsel 2003 (Croft, 17. Dez 2003, 12:26:11):
Die Telepolis hat mal wieder ein Raetsel zusammengestellt:
http://www.heise.de/tp/deutsch/kunst/rate/2003/start.html

Croft

-----------------------------------------------------------------------------



Re: Telepolis Raetsel 2003 (Catweazle, 17. Dez 2003, 12:44:29):
~#! rn=Croft rt=1071660371 rg=puiz
~#! tid=1071660371
Wie immer auf den ersten Blick voll fies :-)

Na dann legt mal los :)

YTC

-----------------------------------------------------------------------------



Re: Telepolis Raetsel 2003 (Phobos, 17. Dez 2003, 21:19:48):
~#! rn=Croft rt=1071660371 rg=puiz
~#! tid=1071660371
2) Irak  ->  http://www.fotw.net/flags/flagmusi.html

-----------------------------------------------------------------------------



Re: Re: Telepolis Raetsel 2003 (Phobos, 17. Dez 2003, 21:39:53):
~#! rn=Phobos rt=1071692388 rg=puiz
~#! tid=1071660371
4) Pril ?!

-----------------------------------------------------------------------------



Re^3: Telepolis Raetsel 2003 (Catweazle, 17. Dez 2003, 21:40:39):
~#! rn=Phobos rt=1071693593 rg=puiz
~#! tid=1071660371
Ja.

YTC

-----------------------------------------------------------------------------



Re^3: Telepolis Raetsel 2003 (Catweazle, 17. Dez 2003, 21:45:59):
~#! rn=Phobos rt=1071693593 rg=puiz
~#! tid=1071660371
Haett vielleicht wer erwaehnen sollen.

Diskussionen auf -wiss haben ergeben, das 4 Pril ist, mehr hammwer aber nicht,
nur Vermutungen.
3 sind auf jeden Fall Elemente (Elektronenkonfigurationen), weiter hilfts aber
nicht. 5 sind moeglicherweise Gelscheinstueckelungen, es sind aber wohl weder
West- noch Ost-Mark. 7 sind mehr als 3. 8 legt Playboy nahe, das Bild ist aber
nicht das richtige. Ab dann wird die Luft duenne. Fuer 10 hab ich auf
irgendwas mit Schallplatten getippt (nen label?), fuer 16 IQs (armer Arnie
:-).

i.A. YTC

-----------------------------------------------------------------------------



Re^4: Telepolis Raetsel 2003 (Morgoth, 17. Dez 2003, 22:57:12):
~#! rn=Catweazle rt=1071693959 rg=puiz
~#! tid=1071660371
10: Denk mal an ein Telefon mit Waehlscheibe :) Ich hab leider keins mehr um
das zu entschluesseln.


M*

-----------------------------------------------------------------------------



Re^5: Telepolis Raetsel 2003 (Phobos, 17. Dez 2003, 23:02:23):
~#! rn=Morgoth rt=1071698232 rg=puiz
~#! tid=1071660371
8) Vermutlich ist der Playboy gemeint  ->  Dezember 1953
   - Erstausgabe
       - kostete 50 Cents
       - hatte 44 Seiten
       - hatte Marilyn Monroe auf dem Cover
       - Auflage 50000 (heute >3Mio USA, 4.5Mio weltweit)
     http://www.playboy.de/PP2G/pp2g.htm?snr=1782
   - Playboy TV
   - Playboy ist in den angegebenen Laendern erhaeltlich:
     http://www.medienheft.ch/kritik/bibliothek/k21_SchoenGerti.html
     Dort sind insgesamt (erstaunlicherweise nur) 16 Laender angegeben, 
     wo der Playboy erhaeltlich ist.


   Andere Spur (abgebildetes Foto von MM):
   http://www.go-star.com/antiquing/Italiancover.gif


Phobos - seit heute Playboy-Experte

-----------------------------------------------------------------------------



Re^6: Telepolis Raetsel 2003 (Phobos, 17. Dez 2003, 23:47:02):
~#! rn=Phobos rt=1071698543 rg=puiz
~#! tid=1071660371
12) JP2

Phobos

-----------------------------------------------------------------------------



Re^7: Telepolis Raetsel 2003 (Vincent, 18. Dez 2003, 00:01:16):
~#! rn=Phobos rt=1071701222 rg=puiz
~#! tid=1071660371
korrekt! (also JP2)!!!!

-----------------------------------------------------------------------------



Re^6: Telepolis Raetsel 2003 (Vincent, 18. Dez 2003, 00:08:01):
~#! rn=Phobos rt=1071698543 rg=puiz
~#! tid=1071660371
Allerdings hatte der Playboy ein anderes Bild von MM auf dem Titel - 
jedenfalls soweit ich das recherchieren konnte. Auch wird der Playboy
nicht nur in Europa verlegt sondern fast schon weltweit und vor allem
in Amerika. Es ist auch zu bezweifeln, ob er Marktfuehrer ist. Denn
moeglicherweise haben "Hustler" oder aehnliche Magazine sogar eine hoehere
Auflage. All diese Infos nur, weil ich fuerchte, dass Playboy zu naheliegend
ist und eine falsche Faehrte ist.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^5: Telepolis Raetsel 2003 (Zook, 18. Dez 2003, 08:06:36):
~#! rn=Morgoth rt=1071698232 rg=puiz
~#! tid=1071660371
Oh, ich hab beim letzten Umzug am Samstag noch eines gerettet... Mal meinen
Bruder fragen, ob er das mal testen kann....

Zook.

-----------------------------------------------------------------------------



Re^8: Telepolis Raetsel 2003 (Zook, 18. Dez 2003, 08:07:52):
~#! rn=Vincent rt=1071702076 rg=puiz
~#! tid=1071660371
Aeh. Warum?

Zook.

-----------------------------------------------------------------------------



Re^9: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 10:30:42):
~#! rn=Zook rt=1071731272 rg=puiz
~#! tid=1071660371
Paepste.

5: Nehmen wir mal Suedamerika als Insel, dann hat sie sehr viele Berge. Chile
liegt ziemlich viel am Pazifik und Honecker war da im Exil. 
Leider ist Chile sehr inflationaer, findet jemand einen passenden chilenischen
Muenzen/Geldschein-Satz auf dem es eine Sophie gibt?

YTC

-----------------------------------------------------------------------------



Re^10: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 10:38:00):
~#! rn=Catweazle rt=1071739842 rg=puiz
~#! tid=1071660371
5: Volle Kraft zurueck. Richtige Antwort ist 1000 :-)

YTC

-----------------------------------------------------------------------------



Re^11: Telepolis Raetsel 2003 (Zook, 18. Dez 2003, 10:49:56):
~#! rn=Catweazle rt=1071740280 rg=puiz
~#! tid=1071660371
Warum?

Zook.

-----------------------------------------------------------------------------



Re^12: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 10:58:41):
~#! rn=Zook rt=1071740996 rg=puiz
~#! tid=1071660371
Frag doch nicht immer warum :)

Wenn man die Loesung weiss, ist es so voellig offensichtlich.
Das ist immer das geile an dem Telepolisraetsel, jedes davon ist voll von
HInweisen. So wuerde ich bei 14 zb darauf tippen, dass die Anordnung der
Summen ein Hinweis ist. 

Zu 5:

Die Schweiz ist eine Insel im Verbund der Europaer. 
Sie hat verdammt viele Berge.
Die Symbole links sind Blindenschriftsymbole und finden sich passend auf allen
Schweizer Franken Noten.
Die Schweizer sind unsere Genossen, denn sie sind direkte Nachbarn.
Auf dem 20-Franken-Schein ist Arthur Honnegger abgebildet (honni).
Der war Komponist und hat unter anderem eine Symphonie ueber die
Dampflokomotive "Pacific 231" geschrieben, wovon sich ein Notenausschnitt auf
der Rueckseite befindet (Pazifik).
Auf allen Schweizer Franken Noten sind Maenner abgebildet, ausser auf dem
50er, da ist Sophie Taeuber-Arp drauf. 

Findet jemand eine passendere Loesung als 1000? :-)

YTC

-----------------------------------------------------------------------------



Re^13: Telepolis Raetsel 2003 (Zook, 18. Dez 2003, 11:07:55):
~#! rn=Catweazle rt=1071741521 rg=puiz
~#! tid=1071660371
Weia... is das peinlich, das haett mich ja auch einfallen koennen... ;)

Eines ist nur nicht ganz richtig:
"Die Schweizer sind unsere Genossen, denn sie sind direkte Nachbarn."

Das muss heissen: "Die Schweizer sind Genossen, denn sie haben sich in einer
Eidgenossenschaft zusammengefunden."

Zook.

-----------------------------------------------------------------------------



Re^14: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 11:08:41):
~#! rn=Zook rt=1071742075 rg=puiz
~#! tid=1071660371
Oder so :)

YTC

-----------------------------------------------------------------------------



Re^15: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 11:23:52):
~#! rn=Catweazle rt=1071742121 rg=puiz
~#! tid=1071660371
Ein Selbstreply :-)

Ich hab wieder einen, soll ichs gleich sagen, oder wollen wir die Rehen
hochtreiben? :-)

Na gut, ein Tipp zu 1: "Heute bleibt die Kueche kalt, wir gehen in den ... "

YTC

-----------------------------------------------------------------------------



Re^16: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 11:29:53):
~#! rn=Catweazle rt=1071743032 rg=puiz
~#! tid=1071660371
15 klingt so nach Tipp-Kick o.ae.??

YTC

-----------------------------------------------------------------------------



Re^13: Telepolis Raetsel 2003 (Vincent, 18. Dez 2003, 11:59:58):
~#! rn=Catweazle rt=1071741521 rg=puiz
~#! tid=1071660371
Zu Deiner Vermutung zu 14 moechte ich es mal mit Phobos Worten sagen:
"Elementary, Watson....aehmmm...Catty....Elementary!" ;-)
Die Summen haben eher die Funktion den Loesungsraum einzuschraenken. ;-)

Gruss
Vincent

-----------------------------------------------------------------------------



Re^14: Telepolis Raetsel 2003 (Apollonia, 18. Dez 2003, 12:03:36):
~#! rn=Vincent rt=1071745198 rg=puiz
~#! tid=1071660371
Ich weiss die Antwort zu Frage 15 *hehe* 

Apo*
grinst

-----------------------------------------------------------------------------



Re^15: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 12:27:22):
~#! rn=Apollonia rt=1071745416 rg=puiz
~#! tid=1071660371
Rueckts raus :)

Ich hab keinen blassen bei 14. Bei 15 hab ich lediglich vermutet, dass es sich
wohl um kein gewoehnliches Rasenfussball handelt ...

YTC

-----------------------------------------------------------------------------



Re^16: Telepolis Raetsel 2003 (Catweazle, 18. Dez 2003, 12:36:35):
~#! rn=Catweazle rt=1071746842 rg=puiz
~#! tid=1071660371
Hm, bei 14 haett ich auch GRs getippt, aber der erste ist schon keiner ...

YTC

-----------------------------------------------------------------------------



Re^17: Telepolis Raetsel 2003 (Zook, 18. Dez 2003, 15:24:12):
~#! rn=Catweazle rt=1071747395 rg=puiz
~#! tid=1071660371
Wenn man auf nem Analogtelefon mit Waehlscheibe waehlt, kommt die Ziffernfolge
8353366

heraus.

Zook.

-----------------------------------------------------------------------------



Re^18: Telepolis Raetsel 2003 (Nonne, 18. Dez 2003, 15:30:25):
~#! rn=Zook rt=1071757452 rg=puiz
~#! tid=1071660371
Bei 6. verstehe ich den Titel 'Carter' nicht, sonst sieht meine Loesung
eigentlich gut aus.

-----------------------------------------------------------------------------



Re^17: Telepolis Raetsel 2003 (Phobos, 18. Dez 2003, 20:00:50):
~#! rn=Catweazle rt=1071747395 rg=puiz
~#! tid=1071660371
Ich vermute, dass sich bei 14 ein Rechenfehler eingeschlichen
hat. Fuer 141 bietet sich "Viola" als Loesung an, fuer 142 
finde ich kein sinnvolles deutsches Wort.

Phobos

-----------------------------------------------------------------------------



Re^18: Telepolis Raetsel 2003 (Phobos, 18. Dez 2003, 20:10:24):
~#! rn=Zook rt=1071757452 rg=puiz
~#! tid=1071660371
10) > Ziffernfolge 8353366

OK, passt:  (TUV)(DEF)(JKL)(DEF)(DEF)(MNO)(MNO)  -> T E L E F O N

Phobos

-----------------------------------------------------------------------------



Schlossrenovierung (Miril, 18. Dez 2003, 23:29:16):
Graf F. von Iks will seine quadratische Eingangshalle renovieren und 
dort neue Steinfliesen legen lassen. Die Halle hat ganzzahlige Abmessungen.
An einer Wand befindet sich ein Fackelhalter, der von der einen Ecke einen
Meter weniger entfernt ist, als von der anderen. Der Graf ist natuerlich
total geizig und will daher nicht zuviel Geld fuer die Fliesen ausgeben.
Diese gibt es in Paketen zu je 8 Stueck. Sie sind 1m^2 gross.
Wie viele Fliesen behaelt er denn am Schluss so uebrig?

Loesungen ohne Begruendung koennt ihr behalten ;-)
Miril

-----------------------------------------------------------------------------



Re: Schlossrenovierung (Miril, 18. Dez 2003, 23:36:29):
~#! rn=Miril rt=1071786556 rg=puiz
~#! tid=1071786556
So hier ist Selbstreply ja erlaubt. 100 punkte an phobos.

-----------------------------------------------------------------------------



Re: Re: Schlossrenovierung (Miril, 18. Dez 2003, 23:39:18):
~#! rn=Miril rt=1071786989 rg=puiz
~#! tid=1071786556
und 50 an Acro. 

-----------------------------------------------------------------------------



Re^3: Schlossrenovierung (Grimmborn, 18. Dez 2003, 23:40:45):
~#! rn=Miril rt=1071787158 rg=puiz
~#! tid=1071786556
Und wetten, dass keiner von denen darauf hingewiesen hat, dass es keine
Fliesen von 1 m^2 gibt?

GdA

-----------------------------------------------------------------------------



Re^4: Schlossrenovierung (Miril, 18. Dez 2003, 23:44:26):
~#! rn=Grimmborn rt=1071787245 rg=puiz
~#! tid=1071786556
Von meinen Schuelern damals sowieso keiner. Das haette ja Alltagserfahrung
benoetigt ;). Wobei so ne alte Burg doch eher mit Steinplatten ausgelegt
ist.

-----------------------------------------------------------------------------



Re^5: Schlossrenovierung (Miril, 18. Dez 2003, 23:52:15):
~#! rn=Miril rt=1071787466 rg=puiz
~#! tid=1071786556
Und die letzten 25 an Zephyr. Anatol musste seine Loesung behalten ;-)

-----------------------------------------------------------------------------



Re^19: Telepolis Raetsel 2003 (Zook, 19. Dez 2003, 00:00:57):
~#! rn=Phobos rt=1071774624 rg=puiz
~#! tid=1071660371
Prima. Haben wir das kollektiv geloest ;)))

Zook.

-----------------------------------------------------------------------------



Re^6: Schlossrenovierung (Montanus, 19. Dez 2003, 08:29:44):
~#! rn=Miril rt=1071787935 rg=puiz
~#! tid=1071786556
IMHO ist die Aufgabe so nicht eindeutig loesbar.
In der Aufgabenstellung ist nicht angegeben, ob sich der Platzhalter auch an
die ganzzahligen Abmessungen haelt oder nicht. Wenn ja, ist die Loesung
trivial. Wenn nicht, dann koennen es entweder 0,1 oder 4 Platten sein.

-----------------------------------------------------------------------------



Re^7: Schlossrenovierung (Miril, 20. Dez 2003, 10:46:51):
~#! rn=Montanus rt=1071818984 rg=puiz
~#! tid=1071786556
Ok, also gemeint war (was dort nicht stand) dass der Fackelhalter
ueber ner Fuge ist :-). Und Platten halbieren und so ist auch 
nicht drin ;-). Ist das nun praezise genug?

-----------------------------------------------------------------------------



Zwackelmann moechte seinen Garten neu gestalten (Miril, 20. Dez 2003, 11:11:46):
Zwackelmann hat sich 10 Baeume gekauft, die er in seinen Garten pflanzen
moechte. Erst hat er ueberlegt, diese in 2 geraden Linien a 5 Baeumen
anzupflanzen. Das erschien ihm dann allerdings doch zu langweilig und
er fragt sich nun, ob es nicht moeglich ist, diese so zu pflanzen, dass
5 Reihen mit jeweils 4 Baeumen entstehen. Bevor er jedoch die Loesung
finden konnte, kam ein fieser Spieler und hat die Unke aus seinem Keller
befreit, die seinen Ueberlegungen ein Ende setzte.
Haette er es denn hinbekommen koennen?

Miril

-----------------------------------------------------------------------------



Re: Zwackelmann moechte seinen Garten neu gestalten (Bambi, 20. Dez 2003, 11:54:44):
~#! rn=Miril rt=1071915106 rg=puiz
~#! tid=1071915106
Muessen die Baeume in den Reihen jeweils den gleichen Abstand von ihren
Nachbarn haben?

-----------------------------------------------------------------------------



Re: Re: Zwackelmann moechte seinen Garten neu gestalten (Miril, 20. Dez 2003, 12:18:15):
~#! rn=Bambi rt=1071917684 rg=puiz
~#! tid=1071915106
Noe.
Uebrigens gibts schon Punkte:
100 fuer Arathorn
50 fuer Bambi

-----------------------------------------------------------------------------



Re^3: Zwackelmann moechte seinen Garten neu gestalten (Miril, 20. Dez 2003, 12:27:30):
~#! rn=Miril rt=1071919095 rg=puiz
~#! tid=1071915106
Croft hat gerade die letzten 25 eingesackt.

-----------------------------------------------------------------------------



Re^4: Zwackelmann moechte seinen Garten neu gestalten (Catweazle, 20. Dez 2003, 14:16:36):
~#! rn=Miril rt=1071919650 rg=puiz
~#! tid=1071915106
Hey, das ist _mein_ Raetsel :)
Stell doch sowas nicht, wenn ich a) nicht da bin und b) die Antwort in einer
anderen Rubrik im Thread-Titel steht.

YTC

-----------------------------------------------------------------------------



Re^6: Telepolis Raetsel 2003 (Catweazle, 22. Dez 2003, 09:27:26):
~#! rn=Phobos rt=1071698543 rg=puiz
~#! tid=1071660371
Hat mittlerweile jemand das exakte Datum fuer die Playboy-Erstausagbe
rausgefunden?

Ich habe wiederspruechliche Aussagen gehoert, das letzte Woche Montag der
Jahrestag war (das waere der 15.), hab aber im Netz was von 1. gefunden.

YTC

-----------------------------------------------------------------------------



Re^7: Telepolis Raetsel 2003 (Phobos, 22. Dez 2003, 14:02:17):
~#! rn=Catweazle rt=1072081646 rg=puiz
~#! tid=1071660371
Falls jemand Interesse an den iPods hat (und aus diesem Grund keine
Loesungen in der MPA postet?), hier ein paar Ergebnisse zum Vergleichen:

 1) Friedrich Jahn
 2) Irak
 3) ?
 4) Pril
 5) 1000
 6) 16.4.1983
 7) 4
 8) 10.12.1953
 9) 1958/1959: (North by Northwest / Der unsichtbare Dritte, Mount Rushmore)
    [Danke an Vincent fuer die Loesung]
10) TELEFON
11) Riesenrad im Wiener Prater
12) JP2
13) ?
14) Das beste, was ich hinbekomme, ist HArMoNICON=1+18+42+7+53+6+8+7=142
15) 25.12.1914
16) 24


zu 13) Der dritte Stern sieht nach dem Chakra (Rad der Lehre) auf der Flagge
       Indiens aus, der zweite koennte dann von Nepal sein, der erste von 
       China (die Laender wuerden dann jeweils 'um die Ecke' liegen)


Phobos

-----------------------------------------------------------------------------



Re^8: Telepolis Raetsel 2003 (Vincent, 22. Dez 2003, 15:15:49):
~#! rn=Phobos rt=1072098137 rg=puiz
~#! tid=1071660371
Loesungsvorschlag fuer Frage 11 halte ich nicht fuer korrekt. Das Riesenrad
wurde 1944 durch ein Feuer in Mitleidenschaft gezogen und bereits 1947
wieder in Betrieb genommen. Das enstpricht nicht den Hinweisen in der
Fragestellung. Meine Quelle hierzu war/ist www.wienerriesenrad.com.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^9: Telepolis Raetsel 2003 (Zook, 22. Dez 2003, 15:18:13):
~#! rn=Vincent rt=1072102549 rg=puiz
~#! tid=1071660371
Ist das Ding in London nicht auch spaeter gebaut worden? Dann waere es doch
nicht das Vorbild, oder?

Zook.

-----------------------------------------------------------------------------



Re^10: Telepolis Raetsel 2003 (Catweazle, 22. Dez 2003, 15:21:20):
~#! rn=Zook rt=1072102693 rg=puiz
~#! tid=1071660371
Ich hab aber auch irgendwas von wegen "etwas hoeher aufbauen" und "vorbild
london" von meiner letzten Wientour im Kopf. Stephansdom vielleicht?
Muesste meinen damaligen Reisefuehrer nochmal durchlesen...

YTC

-----------------------------------------------------------------------------



Re^11: Telepolis Raetsel 2003 (Phobos, 22. Dez 2003, 16:08:47):
~#! rn=Catweazle rt=1072102880 rg=puiz
~#! tid=1071660371
11) Hihi, Re^11 passt :)

Hat sich mal wer die Karte angeschaut? Vielleicht hilft die
ja weiter, um den Standort von Original/Kopie zu bestimmen.

Phobos

-----------------------------------------------------------------------------



Der Weihnachtshase... (Anatol, 24. Dez 2003, 10:53:56):
Drei Studenten einer WG wollen sich zu Weihnachten einen richtig tollen
Hasenbraten goennen und kaufen auf dem letzten Wochenmarkt einen richtig
tollen Hasen ein. Der kostet sie (*schluck*) 30 Euro. Jeder der Studis
legt einen 10-Euro-Schein hin und der Hase gehoert ihnen.

Die Haendlerin laeuft frohgemut mit den 30 Euro nach Hause und bekommt
sofort von ihrem Gatten den Kopf gewaschen: Das ist viel zu viel verlangt,
der Hase duerfe maximal, maximal! 25 Euro kosten. Und er schickt sie auf
den Markt zurueck.

Die getadelte Haendlerin findet die Studenten an einem Stand mit den
juengsten Brauereierzeugnissen und drueckt, praktisch veranlagt wie 
sie ist, jedem einen Euro in die Hand (weil sich fuenf nicht durch drei
teilen laesst) und behaelt zwei Euro fuer sich.

Damit hat jeder Student 9 Euro fuer den Hasen bezahlt - also insgesamt
27 Euro. Die Haendlerin hat 2 Euro fuer sich behalten. Das macht jetzt
zusammengenommen 29 Euro. Wo ist der letzte Euro hin?

Anatol - hat auch ein paar Mittelstufenaufgaben ueber


-----------------------------------------------------------------------------



Re: Der Weihnachtshase... (Noki, 24. Dez 2003, 14:26:53):
~#! rn=Anatol rt=1072259636 rg=puiz
~#! tid=1072259636
Also ich bin ja nun mathematisch soooooooo hirntot, dass ich darauf jetzt
wirklich eine ANtwort haben moechte. Irgendwas knarzt da verdaechtig - aber
was?
Amsel - isst lieber Ente, die wo fetter sind.

-----------------------------------------------------------------------------



Re: Re: Der Weihnachtshase... (Croft, 24. Dez 2003, 14:29:21):
~#! rn=Noki rt=1072272413 rg=puiz
~#! tid=1072259636
:reicht Noki einen Apfel und eine Birne.

Croft

-----------------------------------------------------------------------------



Der Steinbeisserkaese (Noki, 24. Dez 2003, 14:56:29):
Hier mal ein etwas anderes Raetsel - philosophisch und wenn man schon dabei
ist: deswegen nicht unbedingt auf nur eine einzige Loesung zu bringen. 
Steinbeisserhoehlenkaese ist eine aubringen.erordentliche Spezialitaet mit
sehr langer Reifungsdauer.
Der beste reift en point genau sieben Jahre.
Laeuft die Zeit rueckwaerts braucht genau derselbe Kaese allerdings nur drei
Jahre.

Wie lange braucht ein rechter Steinbeisserhoehlenkaese zur optimalen Reife
steht die Zeit still?

Da Philosophie Dialog ist, sei der geneigte Denker, die geneigte Philosophin
aufgefordert auf den Artikel zu antworten und nicht zu mailen. Damit ist die
Gehirnwaesche eroeffnet...
noki

-----------------------------------------------------------------------------



Re: Der Steinbeisserkaese (Whitetiger, 24. Dez 2003, 15:28:19):
~#! rn=Noki rt=1072274189 rg=puiz
~#! tid=1072274189
Der Kaese wird nie reif: Bei t=0 wird der Kaese sozusagen "losgelassen".
Laeuft die Zeit vorwaerts, ist t irgendwann = 7 Jahre, und der Kaese reif.
Laeuft sie rueckwaerts, ist der Kaese bei t = -3 Jahren reif. Die Loesungen
fuer die Reifheit des Kaeses sind also t1=7 und t2=-3. Wenn die Zeit
stillsteht, bleibt sie konstant bei 0, der Kaese kann also nicht reifen...

Tiger

-----------------------------------------------------------------------------



Re: Re: Der Steinbeisserkaese (Vincent, 25. Dez 2003, 12:05:01):
~#! rn=Whitetiger rt=1072276099 rg=puiz
~#! tid=1072274189
Deine Antwort setzt aber voraus, dass das Fortschreiten der Zeit bzw. ihr
Rueckwaertslaufen mit dem Reifeprozess des Kaeses zusammenhaengt. Das muss
aber nicht so sein. Genaugenommen gibt es da eine kleine Feinheit, aus der
sich eine moegliche Unabhaengigkeit ziwschen Reife und Zeit ergibt:
Und zwar reift der Kaese, unabhaengig davon, ob die Zeit vorwaerts oder
rueckwaerts laeuft. Wenn die Zeit rueckweaerts laeuft, reif der Kaese sogar
schneller. Daraus zu folgern, dass bei einem Zeitstillstand auch der
Reifeprozess nicht fortschreitet, ist vielleicht im physikalischen Sinne
gerade noch hinnehmber - was ist denn schon zeit? wo bfeindet sich der
beobachter? etc. - aber philosophisch ist da sicherlich erklaerungsbedarf.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^3: Der Steinbeisserkaese (Anatol, 25. Dez 2003, 12:15:24):
~#! rn=Vincent rt=1072350301 rg=puiz
~#! tid=1072274189
Zieht man jedoch die Zeiteigenschwingung mit in Betracht, gibt sich
ein ganz anderes Bild, das die Kaese-Reifepruefung erschreckend trivial
werden laesst. Zumindest wenn mit "die Zeit steht still" ausdruecklich
nicht gemeint ist, dass sie komplett still steht, sondern nur, dass sie
sich in Relation zu einem vereinbarten Fixpunkt T_0 im Mittel nicht
mehr bewegt, die Eigenschwingung also nach wie vor vorhanden ist. Damit
laesst sich die Reifezeit des Kaeses einfach aus Zeiteigenschwingungs-
frequenz und -amplitude berechnen - das sei dem Leser ueberlassen.

Fuer die Empirie sehe ich allerdings noch erhebliche Schwierigkeiten.
Oder verfuegt jemand ueber die notwendige Apparatur fuer lokale Zeit-
verzerrungen? Immerhin muss man ja ausserhalb des Verzerrungsfeldes 
sein, um den Kaese darinnen beobachten zu koennen und eine Aussage
in Abhaengigkeit des umgebenden Zeitfeldes ("drei Tage") treffen zu 
koennen.

Anatol - mag nicht so viel Kaese

-----------------------------------------------------------------------------



Re^4: Der Steinbeisserkaese (Noki, 25. Dez 2003, 13:27:46):
~#! rn=Anatol rt=1072350924 rg=puiz
~#! tid=1072274189
*in-einen-flauschigen-armchair-kuschel*
Mhhh,mhh. Damit haben wir ja nun schonmal drei interessante Aeusserungen:


(1) Whitetiger antwortet, dass der Kaese nimmer nie reife und beruft sich auf
einen naheligenden sprachanalytischen Ansatz, der Zeit auf einem
basis-physikalischen Hintergrund als Prozess auffasst innerhalb dessen der
Reifeprozess des Kaese ablaeuft; im wahrsten Sinne eben nur dann, wenn die
Zeit selbst "ablaeuft".

100 Kaesepunkte, 0 Kreativpunkte (denn diese Antwort liegt ja zu nah -
erklaert aber nicht, warum denn der Kaese in ruecklaeufiger Zeit schneller
reift)

(2) keine Antwort aber immerhin interessante Gedanken liefert Vincent: Zeit
und Reifung stehen vielleicht nur in einem koinzidentellen Zusammenhang? Keine
Kausalitaet? Natuerlich muss man unter dieser Voraussetzung jede Antwort
schuldig bleiben: der Kaese reift steht die Zeit still in nicht vorhersehbarer
oder berechenbarer Weise. Ein weiterer fragender Gedanke von ihm: Was ist denn
Zeit ueberhaupt? Das sollte man schon fuer sich geklaert haben, will man eine
Antwort (er-)finden.

25 Antwortpunkte, 75 Kreativpunkte vergeb ich hier mal ganz jovial :)

(3) Aaaaah, Anatol. Zeiteigenschwingung. Nie gehoert, aber definitiv
interessant. Hoert sich an wie eine Mischung des klassisch-idealen
Zeitkonzepts der unabhaengigen, universellen Zeit und relativistischen
Modellen. Mir unbekannt, aber das gilt fuer unglaublich vieles *g*, Leider
soll der Leser selbst rechnen, so dass ich keine Antwortpunkte vergeben kann,

95 Kreativpunkte sind aber gerechtfertigt. ;-)

Kleiner Denkanstoss: wie gesehen, kommt es durchaus auf das "Zeit-Bild" an,
sowie auch auf die Stellung des Beobachters innerhalb (oder ausserhalb!) der
Zeit. 100 Gruebelpunkte erhaelt, wer erklaeren kann, wie sich eine moegliche
Loesung des Steinbeisserhoehlenkaeseproblems (logisch und mathematisch)
herleiten laesst: naemlich, dass der Kaese, steht die Zeit still, genau 4,2
Jahre zum Reifen braucht.

noki *aus dem armchair verschwindend*

-----------------------------------------------------------------------------



Re^5: Der Steinbeisserkaese (Vincent, 26. Dez 2003, 11:26:51):
~#! rn=Noki rt=1072355266 rg=puiz
~#! tid=1072274189
Mein Vorschlag fuer eine mathematisch korrekte Herleitung des Ergebnisses 4,2
sieht folgendermassen aus:
Die Reifung des Kaeses fasse ich als seine lokale Zeit auf und die ihn
umgebende Zeit, die vorwaerts, rueckwaerts oder gar nicht laeuft, als die
Umgebungszeit. Damit laesst sich diese Fragestellung auf das Problem
mit dem Schiff uebertragen, das einen Fluss mit der Stroemung und spaeter
gegen die Stroemung entlang faehrt, wobei man die Fliessgeschwindigkeit
des Flusses und die Eigengeschwindigkeit des Schiffes als Vektoren auffasst.
So aehnlich mache ich das hier mit der Zeit.
Sei r die Geschwindigkeit, mit der der Kaese reift, und a die Geschwindigkeit
der Umgebungszeit. s ist die Strecke, die zurueckgelegt werden muss, damit
der Kaese reif ist. Mit der bekannten Geschwindigkeitsformel aus der Physik
v=s/t kann man dann zwei Gleichungen aufstellen:
r+a=s/7 und r-a=s/3
Wenn man beide nach a aufloest und gleichsetzt erhaelt man
2r=(s/7)+(s/3)=10s/21 oder r=5s/21

Und damit koennen wir dann fuer den Fall, dass die Umgebungszeit still steht,
also a=0 ist, folgendes schreiben:
(5s/21)+0=s/t wobei t unsere gesuchte Zeit bis zur Reife des Kaeses ist.
Also loesen wir nach t auf und erhalten: 5/21=1/t oder t=21/5=4,2 q.e.d.

Aber das ganze funktioniert natuerlich nur, wenn man den Begriff Zeit auf
einen Vektor reduziert und ihr damit all die in philosophischer Hinsicht
interessanten Aspekte nimmt. ;)

Gruss
Vincent

-----------------------------------------------------------------------------



Re^5: Der Steinbeisserkaese (Muadib, 26. Dez 2003, 14:37:25):
~#! rn=Noki rt=1072355266 rg=puiz
~#! tid=1072274189
da ich bei stillstehender zeit keine solche finde den kaese, reif oder unreif,
zu essen ist die antwort auf die frage hinfaellig

-----------------------------------------------------------------------------



Re: Der Weihnachtshase... (Catweazle, 26. Dez 2003, 22:42:47):
~#! rn=Anatol rt=1072259636 rg=puiz
~#! tid=1072259636
Welche dreissig Euro denn? Ich seh nur 25. Wer weiss, an welcher Stelle man
Plus und Minus rechnen muss, ist klar im Vorteil.

Ein (zugegebener Massen ziemlich verarmter) Scheich stirbt und vermacht seinen
einzigen Bisitz, 17 Kamele, an seine drei Soehne, In seinem Testament verfuegt
er, dass der Aelteste die Haelfte, der Zweiaelteste ein Drittel und der
Juengste ein Neuntel all seiner restlichen Habe bekommen soll.

Die drei Soehne beraten nach Erhalt des Testaments, wer denn nun wieviele
Kamele bekommen soll. Schnell merken sie, dass die die 17 Kamele nicht gerecht
aufteilen koennen, denn irgendwer wird bei korrekter Aufteilung immer bevor-
oder benachteiligt. Und schlachten und aufteilen wollen sie die wertvollen
Kamele natuerlich auch nicht.

Also beschliessen sie zum Haendler zu gehen und die Kamel zu verkaufen, da
sich das so eingenommene Geld leichter aufteilen laesst. Es wurmt sie aber
trotzdem, denn sie haetten lieber die Kamele behalten und beim Verkauf kommen
sie meist nur mit Verlust weg.

Also erlaeutern sie ihr Problem den Haendler, der ihnen jedoch erklaert, dass
er eine bessere Idee habe und das es gar nicht noetig sei, die Kamele zu
verkaufen. 

Zunaechst ging der Haendler hin, und schenkte den drei Bruedern ein weiteres
Kamel. Und schon liessen sich die nun 18 Kamele gerecht und ohne Butvergiessen
unter den drei Bruedern aufteilen. Der Aelteste erhielt 9 Kamele (die
Haelfte), der Zweitaelteste 6 Kamele (ein Drittel) und der Juengste erhielt 2
Kamele (ein Neuntel). 

Und siehe da, nachdem jeder Bruder seinen passenden Anteil erhalten hatte,
blieb ein Kamel uebrig, dass sie dem Haendler zurueckgeben konnten. 

Die Kamele waren gerecht aufgeteilt, jedoch waren sich die drei Brueder
unsicher, ob dies mit rechten Dingen zuging, schliesslich hatte jeder der Drei
scheinbar mehr bekommen als ihm zustand. Der Aelteste hatte mit 9 Kamelen mehr
als die Haelfte von 17 Kamelen bekommen. Dem Zweitaeltesten kamen mit 6 auch
mehr als ein Drittel der 17 zugute. Aehnlich dachte der Juengste der Drei. 

Wo liegt der Fehler?

YTC

-----------------------------------------------------------------------------



Re: Re: Der Weihnachtshase... (Gnome, 27. Dez 2003, 00:55:45):
~#! rn=Catweazle rt=1072474967 rg=puiz
~#! tid=1072259636
"Zunaechst ging der Haendler hin, und schenkte..."

ein haendler, der erst was verschenkt und anschliessend es wieder zurueck-
bekommt, ohne gewinn zu machen? ein arabischer dazu?

fehler gefunden. :)

gnOme

-----------------------------------------------------------------------------



Re^3: Der Weihnachtshase... (Catweazle, 27. Dez 2003, 00:56:43):
~#! rn=Gnome rt=1072482945 rg=puiz
~#! tid=1072259636
Voll daneben ist auch vorbei :)

YTC

-----------------------------------------------------------------------------



Re^6: Der Steinbeisserkaese (Noki, 27. Dez 2003, 11:54:10):
~#! rn=Vincent rt=1072434411 rg=puiz
~#! tid=1072274189
Das sind die versprochenen Gruebelpunkte, Vincent: 100. :) Aber nimmt man der
Zeit damit alle philosophisch interessanten Aspekte? Schliesslich ist der
Beobachter in diesem Fall nicht nur ausserzeitlich aber nicht ausserweltlich,
durchaus "divine". Und "pantha rei" - Zeit als Fluss - das ist ja nun schon
fast ein Klassiker, wenn auch geradezu Karl-Valentinesk wortwoertlich
genommen. Gl|ckwunsch!!!
Noki, auf einem Schiff dem perfekt gereiften Steinbeisserhoehlenkaese
entgegenschippernd.

-----------------------------------------------------------------------------



Re^7: Der Steinbeisserkaese (Muadib, 27. Dez 2003, 15:22:45):
~#! rn=Noki rt=1072522450 rg=puiz
~#! tid=1072274189
und nun ergaenze noch bitte die richtige uebersetzung zu pantha rei, bevor
missverstaendnisse aufkommen

-----------------------------------------------------------------------------



Re^3: Der Weihnachtshase... (Huraxprax, 27. Dez 2003, 15:32:12):
~#! rn=Gnome rt=1072482945 rg=puiz
~#! tid=1072259636
Du unterschaetzt den Kamelhaendler, Gnome.
Der Haendler hatte naemlich ein altes schwaches Kamel, das kaum mehr Lasten
tragen konnte und das keiner kaufen wollte.
Mit theatralischer Geste schenkte er es den Bruedern, die erstaunt waren ueber
solche Grosszuegigkeit. Mit geuebten Kamelhaendlerblick entdeckte er dann
schnell das schoenste und staerkste Kamel der Brueder, und teilte die Herde so
ein, dass genau dieses uebrigblieb. Waehrend die Brueder noch verzweifelt
versuchten, sich an Bruchrechnen zu erinnern und den Trick herauszufinden, war
der Haendler mit dem schoenen Kamel schon davongeritten.

huraxprax

-----------------------------------------------------------------------------



Re^12: Telepolis Raetsel 2003 (Nonne, 28. Dez 2003, 18:54:30):
~#! rn=Phobos rt=1072105727 rg=puiz
~#! tid=1071660371
Also ich habe bei 11 als erstes an die Siegessaeule in Berlin und am
Trafalga-Square (oder wie man den schreibt) gedacht. Die Siegessaeule ist aber
nur mal umgezogen, von kaputt und hoeher wieder aufgebaut habe ich nix
gefunden.

Nonne.

-----------------------------------------------------------------------------



Re^13: Telepolis Raetsel 2003 (Ogo, 28. Dez 2003, 18:56:03):
~#! rn=Nonne rt=1072634070 rg=puiz
~#! tid=1071660371
Zur Rueckblende, vielleicht hilft das irgendwie wem:

3. R|ckblende:

W = WeiR|ckblende:, G = Gr|n, S = Schwarz

2-5-W   , 2-6-W   ,  2-4-G  , 1-G     , 2-8-1-G
N         O          C        H         Na

2-1-W   , 2-8-7-G , 2-8-5-G , 2-8-4-G , 2-8-1-G
Li        Cl        P         Si        Na

2-6-W   , 2-8-1-G , 2-8-1-G , 2-4-G   , 2-4-G
O         Na        Na        C         C

1-W     , 2-8-4-G , 2-8-4-G , 2-5-G   , 2-5-G ,
H         Si        Si        N         N

2-8-2-G , 2-1-G   , 2-1-G   , 2-8-5-G , 2-8-5-G,
Mg        Li        Li        P         P

2-8-7-W , 1-S     , 1-G     , 2-6-G   , 2-6-G ,
Cl        H         H         O         O

2-8-7-W , 2-5-S   , 2-6-S   , 2-8-7-G , 2-8-7-G ,
Cl        N         O         Cl        Cl

Keine Ahnung, ob das der richtige Weg ist...

Ogo

-----------------------------------------------------------------------------



Re^14: Telepolis Raetsel 2003 (Nonne, 28. Dez 2003, 18:59:52):
~#! rn=Ogo rt=1072634163 rg=puiz
~#! tid=1071660371
Es gibt einen Zusatz zu 14 (Glasklar). Es ist 143, womit Viola oder Bratsche
geht, keine Lust zum Nachrechnen, eins passt.

Nonne.

-----------------------------------------------------------------------------



Re^15: Telepolis Raetsel 2003 (Ogo, 28. Dez 2003, 19:00:02):
~#! rn=Nonne rt=1072634392 rg=puiz
~#! tid=1071660371
viola passt

-----------------------------------------------------------------------------



Re^16: Telepolis Raetsel 2003 (Ogo, 28. Dez 2003, 19:01:46):
~#! rn=Ogo rt=1072634402 rg=puiz
~#! tid=1071660371
Zum 'Genial?' -> Gen'ial? ist gemeint.

Kuh 60 - Feuersalamander24=  Klapperschlange 36
Kamel 74 - Giraffe 30 = Delfin 44

Die beiden Gleichungen gehen auf, wenn man die Chromosomenzahlen nimmt.
Arni 46 - Kakerlake = ?

Wer weiss, wieviele Chromosomen eine Kakerlake hat?

Ogo

-----------------------------------------------------------------------------



Re^13: Telepolis Raetsel 2003 (Vincent, 28. Dez 2003, 19:02:20):
~#! rn=Nonne rt=1072634070 rg=puiz
~#! tid=1071660371
Ueber Weihnachten habe ich die Info erhalten, dass das House of Parliament
in London eine Kopie besitzt - und zwar in Prag. Hab das aber noch nicht
weiter ueberprueft.

Gruss
Vincent

-----------------------------------------------------------------------------



Re^16: Telepolis Raetsel 2003 (Catweazle, 28. Dez 2003, 19:26:39):
~#! rn=Ogo rt=1072634402 rg=puiz
~#! tid=1071660371
Tut es nicht. 
Viola ergibt 141. 
Bratsche laesst sich nicht zusammensetzen.

Keins von beiden klingt glasklar(?).

YTC

-----------------------------------------------------------------------------



Re^17: Telepolis Raetsel 2003 (Nonne, 28. Dez 2003, 19:30:07):
~#! rn=Catweazle rt=1072635999 rg=puiz
~#! tid=1071660371
Brom, Astat, Scandium, Helium.

Nonne, gibt Catty Nachhilfe in Chemie.

-----------------------------------------------------------------------------



Re^17: Telepolis Raetsel 2003 (Catweazle, 28. Dez 2003, 19:30:11):
~#! rn=Ogo rt=1072634506 rg=puiz
~#! tid=1071660371
24.

YTC

-----------------------------------------------------------------------------



Re^18: Telepolis Raetsel 2003 (Catweazle, 28. Dez 2003, 19:31:26):
~#! rn=Nonne rt=1072636207 rg=puiz
~#! tid=1071660371
Hm, habs At nicht gefunden gehabt. Einfache Negativ-Rechnung haette ja
gereicht :)
YTC

-----------------------------------------------------------------------------



Re: Re: Der Weihnachtshase... (Boing, 29. Dez 2003, 20:16:39):
~#! rn=Catweazle rt=1072474967 rg=puiz
~#! tid=1072259636
Der Fehler liegt darin dass 1/2 + 1/3 + 1/9 nicht 1 gibt sondern 17/18.
  Boing

-----------------------------------------------------------------------------



Re^19: Telepolis Raetsel 2003 (Catweazle,  7. Jan 2004, 11:22:28):
~#! rn=Catweazle rt=1072636286 rg=puiz
~#! tid=1071660371
Wie ist denn der Restestatus?

hat mittlerweile wer was zu 3 11 13 gefunden?

Waer doch armselig, wenn wir die nicht auch noch schaffen wuerden. Kann ich
euch zu einer neuen Runde Brainstorming ueberreden?

YTC

-----------------------------------------------------------------------------



Re^20: Telepolis Raetsel 2003 (Catweazle,  7. Jan 2004, 12:22:50):
~#! rn=Catweazle rt=1073470948 rg=puiz
~#! tid=1071660371
Ich zweifel immer noch 6 an. Gabs in Augsburg mal olympische SPiele?

YTC

-----------------------------------------------------------------------------



Re^21: Telepolis Raetsel 2003 (Catweazle,  7. Jan 2004, 12:35:02):
~#! rn=Catweazle rt=1073474570 rg=puiz
~#! tid=1071660371
Ja, 72 war in Muenchen _und_ Augsburg. 

hat wer nen blassen Schimmer wo der "Stern" in 13 unten herkommt? Hat wer
schon mal sowas gesehn?

YTC

-----------------------------------------------------------------------------



Re^22: Telepolis Raetsel 2003 (Croft,  7. Jan 2004, 12:35:56):
~#! rn=Catweazle rt=1073475302 rg=puiz
~#! tid=1071660371
Ich bin noch am ueberlegen ob das etwas mit Innen- oder Aussenwinkeln zu
tun hat.  War aber bisher zu faul zu rechnen.

Croft

-----------------------------------------------------------------------------



Re^23: Telepolis Raetsel 2003 (Catweazle,  7. Jan 2004, 12:36:58):
~#! rn=Croft rt=1073475356 rg=puiz
~#! tid=1071660371
Hab ich schon ausprobiert, komm beim ersten aber nie auf 480.
Vor allem beim letzten seh ich die innen- und Aussenwinkel nicht... :/

YTC

-----------------------------------------------------------------------------



Re^24: Telepolis Raetsel 2003 (Croft, 19. Jan 2004, 16:01:33):
~#! rn=Catweazle rt=1073475418 rg=puiz
~#! tid=1071660371
Die Loesungen sind veroeffentlicht:
http://www.heise.de/tp/deutsch/kunst/rate/2003/auflos.html

Croft

-----------------------------------------------------------------------------



Re^25: Telepolis Raetsel 2003 (Foobar, 19. Jan 2004, 16:07:18):
~#! rn=Croft rt=1074524493 rg=puiz
~#! tid=1071660371
"Nur" 122 richtige Loesungen. Steht auch irgendwo, wieviele Einsendungen es
gab?

-----------------------------------------------------------------------------



Re^26: Telepolis Raetsel 2003 (Catweazle, 19. Jan 2004, 16:11:13):
~#! rn=Foobar rt=1074524838 rg=puiz
~#! tid=1071660371
Hab dann nur 11 richtig. 4 waren falsch, eins war geraten...

YTC

-----------------------------------------------------------------------------



Re^27: Telepolis Raetsel 2003 (Foobar, 19. Jan 2004, 16:16:49):
~#! rn=Catweazle rt=1074525073 rg=puiz
~#! tid=1071660371
Aber zumindest mit Mastermind waren wir auf der richtigen Spur ;o)

-----------------------------------------------------------------------------



AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Daria, 27. Feb 2004, 14:23:21):
Wenn man in einem beliebigen Viereck die Mittelpunkte benachbarter Seiten
verbindet, erhaelt man immer ein Parallelogramm. Warum?

Ich weiss die Loesung nicht. Ich kann das mit Vektoren erklaeren bzw.
berechnen, aber nicht mit den Mitteln eines Achtklaesslers. Mein Fachleiter
wusste es auch nicht. (was mich beruhigt.) 

Aber vielleicht hat jemand von euch eine Idee. Es kann natuerlich auch sein,
dass die Autoren des Buches nicht aufgepasst haben - dass es also keine
Loesung gibt. Oder hat vielleicht jemand von euch das Loesungsbuc? Ausgabe
Elemente der Mathematik, NRW. (das alte, in schwarz)

Daria

-----------------------------------------------------------------------------



Re: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Anthea, 27. Feb 2004, 14:46:30):
~#! rn=Daria rt=1077888201 rg=puiz
~#! tid=1077888201
Hm... die Aufgabe kommt mir irgendwie bekannt vor, aber das ist schon
sooooooooooo lange her :(

-----------------------------------------------------------------------------



Re: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Boing, 27. Feb 2004, 14:55:14):
~#! rn=Daria rt=1077888201 rg=puiz
~#! tid=1077888201
Bei einem Dreieck ist die Verbindung von zwei Mittelpunkten immer
parallel zu der dritten Seite, ausserdem ist sie genau halb so lang
wie die dritte Seite. Wenn Du jetzt das Viereck in 2 Dreiecke teilst
kannst Du schon mal zeigen, dass zwei Seiten parallel und gleich lang
sind. Die beiden anderen Seiten des Mittelvierecks muessen dann 
logischerweise auch parallel und gleichlang sein.

  Boing

-----------------------------------------------------------------------------



Re: Re: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Anatol, 27. Feb 2004, 14:58:52):
~#! rn=Boing rt=1077890114 rg=puiz
~#! tid=1077888201
Bleibt Dir noch der mathematische Beweis, *warum* bei einem Dreieck
die Verbindung zweier Seitenmittelpunkten immer parallel zur dritten
Seite ist. :)


-----------------------------------------------------------------------------



Re^3: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Elberet, 27. Feb 2004, 14:59:10):
~#! rn=Anatol rt=1077890332 rg=puiz
~#! tid=1077888201
umkehrung des strahlensatzes

Elbi

-----------------------------------------------------------------------------



Re^4: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Matis, 27. Feb 2004, 15:23:56):
~#! rn=Elberet rt=1077890350 rg=puiz
~#! tid=1077888201
Genau, Strahlensaetze sind das Stichwort. Die Seiten den Innenvierecks sind
immer paarweise halb so lang wie die entsprechende Diagonale des
Ausgangsvierecks.

Matis

-----------------------------------------------------------------------------



Re: Re: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Daria, 29. Feb 2004, 14:42:49):
~#! rn=Boing rt=1077890114 rg=puiz
~#! tid=1077888201
Danke Boing, da waer ich nie drauf gekommen!

Daria

-----------------------------------------------------------------------------



Re^3: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Daria,  1. Mar 2004, 13:08:37):
~#! rn=Daria rt=1078062169 rg=puiz
~#! tid=1077888201
... es waere noch nachzutragen, dass das Buch trotzdem doof ist -
Strahlensaetze kommen in NRW erst in der 9.
Daria

-----------------------------------------------------------------------------



Re^4: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Catweazle,  1. Mar 2004, 13:10:26):
~#! rn=Daria rt=1078142917 rg=puiz
~#! tid=1077888201
na dann wird da Transferkoennen abgefragt *huestel*

YTC

-----------------------------------------------------------------------------



Re^5: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Humni,  1. Mar 2004, 14:49:19):
~#! rn=Catweazle rt=1078143026 rg=puiz
~#! tid=1077888201
Fuer die Parallelitaet brauchst Du dann aber nur den Stufenwinkelsatz. Den hab
ich zumindest gerade in Klasse 7 durchgenommen.

Humni

-----------------------------------------------------------------------------



Re^6: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Humni,  1. Mar 2004, 14:51:07):
~#! rn=Humni rt=1078148959 rg=puiz
~#! tid=1077888201
OK. Je laenger ich gerade darueber nachdenke, um so mehr Unsinn war das, was
ich gerade von mir gegeben habe. Um die Winkel zu bestimmen braucht man ja
Parallelitaet... Es sollten aber Dreieckskongruenzsaetze genuegen. Und die
mach ich noch in Klasse 7 ;-)

Humni

-----------------------------------------------------------------------------



Re^7: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Zook,  1. Mar 2004, 15:01:45):
~#! rn=Humni rt=1078149067 rg=puiz
~#! tid=1077888201
Dann kannst Du die Aufgabe ja mal Deiner Klasse vorlegen. Zook.

-----------------------------------------------------------------------------



Re^5: AUfgabe aus einem Mathebuch Klasse 8 Gymnasium (Zarniya,  3. Mar 2004, 09:40:00):
~#! rn=Matis rt=1077891836 rg=puiz
~#! tid=1077888201
Strahlensatz kennen die aber in der 8. Klasse Gym in NRW noch nicht... 

-----------------------------------------------------------------------------



Asterix-Puiz (Phobos, 14. Mar 2004, 17:54:33):
Hat nicht mal wieder jemand Lust, hier ein interessantes Quiz zu machen?
Ich erinnere mich noch an ein Mittelerde-Quiz und Film-Quiz, wo wirklich
schwierige Fragen drin waren.

Hier mal ein kleines Asterix-Quiz.

Antworten bitte nicht in die MPA, sondern an mich. Abgabetermin ist in
drei Wochen, am So. 04.04.04, 04:04:04 Uhr. Gewinner und Ergebnisse 
gibts dann ein paar Tage spaeter hier in der MPA. Preise gibts keine, 
ausser der Genugtuung, besser als die anderen zu sein ;)

Bitte zu den Antworten jeweils Bandnummer und Seite dazuschreiben, da
es evtl. mehrere richtige Antworten geben kann, z.B.

Frage:    Was sagte Caesar, als ihm Vercingetorix seine Waffen zu 
          Fuessen legte?
Antwort:  AUVEE!  (I,5)
          Aua!    (XI,5)

------------------------------------------------------------------------

 1. Wo tauchen folgende Personen / Gruppierungen auf bzw. werden
    parodiert?
      a. Zorro
      b. Tarzan
      c. Hamlet
      d. Napoleon
      e. Don Quixote
      f. Ku-Klux-Klan
      g. Die Freiheitsstatue
      h. Wilhelm Tell
      i. Stan und Ollie
      j. Schulze und Schultze
      k. James Bond
      l. Die Beatles
      m. Romeo und Julia
      n. Pontius Pilatus
      o. Neil Armstrong
      p. Ludwig XIV.

 2. Wie heissen der Bruder, der Neffe sowie der Schwager von Majestix?
 3. Welchen Scherz machen Legionaere mit Neulingen?
 4. Wer kann sich (ausser Idefix) mit der Hinterpfote am Ohr kratzen?
 5. An welcher Stelle wird auf ein Ereignis hingewiesen, das sich zum
    tausendsten Mal wiederholt hat?
 6. Wo taucht ein Hakenkreuz auf?
 7. In welcher Stadt gibt es ein verwinkeltes Labyrinth?
 8. Wo schaut Obelix freiwillig zu, waehrend alle anderen Gallier die
    Roemer verpruegeln?
 9. Wer verliebt sich in den Helm von Majestix?
10. Wo weigert sich jemand mit den Worten "Wir haben schon gespendet!", 
    die Tuer zu oeffnen?
11. Warum sind Roemer wie Austern?
12. Wer-ist-gegen-die-Gleichberechtigung-von-Mann-und-Frau?
13. Welchen Klebstoff verwendet Julius Caesar?
14. Wie alt ist Methusalix?
15. Wer bekommt von Idefix einen Knochen als Geschenk?
16. Wo traegt Idefix eine Verkleidung?
17. Wo balanciert Idefix einen Hinkelstein auf der Nase?
18. Wo balanciert Idefix einen Roemer auf der Nase?
19. Wo trinkt Idefix Zaubertrank?
20. Wo macht Idefix Maennchen?
21. Was ist Saudum?
22. Wer hat Hunger auf Pfaelzer Saumagen?
23. Wo apportiert Idefix einen Hinkelstein?
24. Wo wird Miraculix von zwei Eichhoernchen beklaut?
25. Was faerbt die Waesche noch purpurner?
26. Wie nennt man den Verlierer eines Wettrennens?
27. Wie heisst der Sohn des Piratenkapitaens?
28. Wie heisst der alte Pirat mit Holzbein?
29. Welchen laengeren Satz kann Obelix auf aegyptisch sagen?
30. Wann haben Misteln besonders starke Zauberkraefte?
31. Welche Ruine befindet sich im Wald der Gallier?
32. Wo stellt ein Eichhoernchen einen anderen eine Falle?
33. Wie heisst der Koloss von Rhodos?
34. Was sammelt Obelix, und warum?
35. Wem schenkt Obelix seinen Hund?
36. Welches Tier ist total seekrank?
37. Wer bekommt einen knallroten Kopf, weil ihm die momentane Situation
    total peinlich ist?
38. Welches Souvenir hat Asterix aus Aegypten mitgebracht?
39. Welches ist das hoechste Loesegeld, das auf Asterix und Obelix
    ausgesetzt wurde?
40. In welchem Haarsalon arbeitet ein schwuler Friseur?
41. In welchem Band kommt die Zahl 57 an zwei unterschiedlichen Stellen
    vor?
42. Wo beteiligt sich Miraculix an einer Pruegelei mit den Roemern?
43. Woher hat Obelix seinen Hund? Wieso taucht Idefix in Band II auf,
    aber in Band I und Band III nicht?
44. Nenne zehn verschiedene Namenskonventionen fuer Volksstaemme in
    Asterixbaenden (andere als -ix fuer Gallier).
45. Nenne so viele Stellen wie moeglich, wo Uderzo und/oder Goscinnny
    selbst in den Comics auftauchen (ausser dem VIS COMICA-Bild in der
    Einleitung einiger Asterix-Baende).
46. Nenne acht roemische Dienstgrade oder Rangbezeichnungen (jeweils 
    eine Stelle in den Comics angeben).
47. Nenne je einen vollstaendigen Satz in der Wildschwein-, Maulwurf-
    und Eichhoernchensprache.
48. In einem Band gibt es Anspielungen auf deutsche Politiker. Nenne
    moeglichst viele.
49. Nenne drei Gemaelde (Gemaeldename + Kuenstlername), die in den
    Comics karikiert werden.
50. Warum koloriert Uderzo seine Zeichnungen grundsaetzlich nie selbst?


Und jetzt viel Erfolg.
  Phobix^H^Hos

-----------------------------------------------------------------------------



Re: Asterix-Puiz (Phobos, 20. Mar 2004, 18:35:25):
~#! rn=Phobos rt=1079283273 rg=puiz
~#! tid=1079283273
Noch ca. zwei Wochen Zeit (bis So, 04.04.04, 04:04:04 Uhr).
Bisher liegt die Hoechstpunktzahl eingesendeter Loesungen bei
NULL, d.h. wer eine richtige Antwort weiss, hat im Moment gute
Chancen zu gewinnen :)

Auf Anregung von Whitetiger noch ein paar kleine Ergaenzungen
und Korrekturen:

25. Was WAESCHT die Waesche noch purpurner?

32. Wo stellt ein Eichhoernchen eineM anderen eine Falle?

39. Welches ist das hoechste KOPFgeld, das auf Asterix und 
    Obelix ausgesetzt wurde?

(Die sind natuerlich nicht entfuehrt, sondern werden gesucht.)

40. In welchem Haarsalon arbeitet ein schwuler Friseur?

(Dafuer gibt es keine gesicherten Beweise, aber alle Indizien
 sprechen dafuer.)

44. Nenne zehn verschiedene Namenskonventionen fuer Volksstaemme 
    in Asterixbaenden (andere als -ix fuer Gallier).

(Gemeint sind hier ANDERE Staemme als die Gallier, z.B. die Roemer 
 oder Griechen. Gesucht ist jeweils die Regelmaessigkeit in der 
 Namensgebung.)

45. Nenne VIER Stellen, wo Uderzo und/oder Goscinnny selbst 
    in den Comics auftauchen (ausser dem VIS COMICA-Bild in 
    der Einleitung einiger Asterix-Baende).

(Damit ihr nicht endlos suchen m|sst.)


Falls es weitere Unklarheiten gibt, bitte melden. Im Zweifelsfall 
frage ich nach, wenn eine Antwort nicht eindeutig als richtig oder 
falsch erkennbar ist.


  Phobos

-----------------------------------------------------------------------------



Re: Re: Asterix-Puiz (Vector, 20. Mar 2004, 20:34:14):
~#! rn=Phobos rt=1079804125 rg=puiz
~#! tid=1079283273
Phobos, sie haben Post.

Vector, Preise gewinnen wollend.

-----------------------------------------------------------------------------



Re: Re: Asterix-Puiz (Gnome, 22. Mar 2004, 11:03:05):
~#! rn=Phobos rt=1079804125 rg=puiz
~#! tid=1079283273
du meinst, es macht sich wirklich jmd die muehe, 45 mittelschwere bis
sehr schwere fragen comicwuehlend zu beantworten, wenn als belohnung
nen feuchter haendedruck aussteht?

aha.

gnOme

-----------------------------------------------------------------------------



Re^3: Asterix-Puiz (Phobos, 22. Mar 2004, 21:23:55):
~#! rn=Gnome rt=1079949785 rg=puiz
~#! tid=1079283273
Nein, wahrscheinlich nicht.

Ok, der Gewinner erhaelt fuer jede richtige Antwort eine Feldflasche mit
Zaubertrank, der fuer ein paar Minuten uebermenschliche Kraft verleiht.
Der Zweitbeste bekommt einen Kupferkessel voller Sesterzen. Und dritter
Preis ist ein Hinkelstein, unter dem man Monster begraben kann.

Andererseits .. hier gibt es keinen Mitmachzwang, und Du bist herzlich
eingeladen, NICHT teilzunehmen. Du bist sicher schon gross genug, um dir
eine andere Freizeitbeschaeftigung zu suchen.

Die Fragen sind mit Absicht etwas schwieriger gewaehlt, so dass man
Details finden kann, die man bisher wahrscheinlich nie entdeckt hat.
Ich gehe nicht davon aus, dass jemand alle Antworten finden kann, aber
vielleicht hat ja jemand ein paar (oder sogar alle) Asterix-Hefte zu 
Hause liegen und hat Spass daran, ein paar Antworten zu finden, auch
wenn er (oder sie) dafuer nicht mit Gold ueberschuettet wird. Ist ja
auch keine Klassenarbeit, wo man nicht versetzt wird, wenn man weniger
als fuenf Fragen beantworten kann.

Ansonsten schlage ich vor, wir schaffen diese Rubrik ab oder lassen nur
noch solche Fragen zu, die du persoenlich fuer geeignet haeltst.

  1. Wie heisst der kleine Gallier mit dem gelben Schnurrbart?
  2. Wie heisst der dicke Gallier mit den roten Zoepfen?
  3. Wie heisst der kleine Hund des dicken Galliers aus Frage 2?

Und von nem feuchten Haendedruck war nicht die Rede, wer setzt solche
Geruechte in die Welt?


Phobos - schmeisst den stinkenden Fisch zurueck nach Gnome

-----------------------------------------------------------------------------



Re^4: Asterix-Puiz (Whitetiger, 22. Mar 2004, 21:58:20):
~#! rn=Phobos rt=1079987035 rg=puiz
~#! tid=1079283273
Stimmt... Idefix, der sich gerade eine Serviette umbindet, waere mir sonst
bestimmt nie aufgefallen... :)

Tiger

-----------------------------------------------------------------------------



Re^4: Asterix-Puiz (Gnome, 23. Mar 2004, 23:38:36):
~#! rn=Phobos rt=1079987035 rg=puiz
~#! tid=1079283273
meine guete. kein grund stinkende fisch zu schmeissen. ich habe einfach
nur mal nett nachgefragt, weil ich mir nicht vorstellen konnte, dass
jetzt tatsaechlich jemand alle x asterix-baende nach diesen fragen
absucht und du selber gesagt hast, dass bisher nix kam.

natuerlich soll die rubrik erhalten bleiben, alter stinkefisch. :o)

gnOme

p.s. fuer den oben erwaehnten 3. preis wuerde ich mich vielleicht
     tatsaechlich... ;)

-----------------------------------------------------------------------------



Re^5: Asterix-Puiz (Vector, 24. Mar 2004, 13:05:09):
~#! rn=Gnome rt=1080081516 rg=puiz
~#! tid=1079283273
mein fisch ist frisch! (c) verleihnix

-----------------------------------------------------------------------------



Re^5: Asterix-Puiz (Phobos, 24. Mar 2004, 20:05:49):
~#! rn=Gnome rt=1080081516 rg=puiz
~#! tid=1079283273
Naaa gut, in dem Fall nehme ich meinen dezenten Sarkasmus mal wieder
zurueck .. den Fisch kannst du behalten ;)

Der erste Artikel klang mir halt etwas zu sehr nach "Ich finde das
Quiz *pieeeep*, also sollen alle anderen das auch *pieeeep* finden".

Preise gibts es aber trotzdem nicht. Wer sich ansonsten nicht
motivieren kann, laesst es halt bleiben.

Phobos

-----------------------------------------------------------------------------



Re^6: Asterix-Puiz (Zook, 24. Mar 2004, 20:56:46):
~#! rn=Phobos rt=1080155149 rg=puiz
~#! tid=1079283273
Ich lasse es bleiben, aber mehr aus der Erfahrung heraus, dass ich fuer
Phobos Raetsel in der Regel zu doof bin.

Zook.

-----------------------------------------------------------------------------



Re^6: Asterix-Puiz (Vincent, 25. Mar 2004, 01:08:55):
~#! rn=Phobos rt=1080155149 rg=puiz
~#! tid=1079283273
Ich setze als zweiten Preis eine Tuete Gummi-Baerchen aus. Um dem Preis noch
eine besondere Note zu geben, werde ich die Tuete mit dem Namen meines
Erstcharakters unterschreiben - und zwar auf beiden Seiten.

   Vincent

-----------------------------------------------------------------------------



Re^7: Asterix-Puiz (Montanus, 25. Mar 2004, 09:01:38):
~#! rn=Vincent rt=1080173335 rg=puiz
~#! tid=1079283273
Und wie heisst dein Erstcharakter? Trolli? Oder Haribo?

-----------------------------------------------------------------------------



Re^7: Asterix-Puiz (Whitetiger, 25. Mar 2004, 11:08:11):
~#! rn=Vincent rt=1080173335 rg=puiz
~#! tid=1079283273
Hmm, es ist also vorteilhafter, nicht Erster, sondern ZWeiter zu werden? ;)

Tiger

-----------------------------------------------------------------------------



Re^8: Asterix-Puiz (Muadib, 25. Mar 2004, 13:20:59):
~#! rn=Whitetiger rt=1080209291 rg=puiz
~#! tid=1079283273
er kommt eh nich zu *ganz boes grinsend*

-----------------------------------------------------------------------------



Re^7: Asterix-Puiz (Phobos, 30. Mar 2004, 18:50:42):
~#! rn=Zook rt=1080158206 rg=puiz
~#! tid=1079283273
Anscheinend macht ein Quiz nur Spass, wenn es was zu gewinnen gibt. Und 
die Ausrede 'Das ist viel zu schwer' zaehlt bei Asterix ja mal ueberhaupt 
nicht.

Also: Ich hab mir ueberlegt, da das Quiz sowieso niemanden interessiert,
gibt es keine Aufloesung in der MPA. Die Loesungen zu allen Fragen gibt
es als Belohnung fuer alle, die ernsthaft mitmachen (d.h. einen 'nennens-
werten' Anteil der Fragen beantworten koennen).

Wer also noch Interesse hat: Der regulaere Abgabetermin ist So, 04.04.04,
04:04:04. Da gibt es eine Zwischenwertung. Ausserdem ist anscheinend auf
den zweiten Platz eine Belohnung eines nicht naeher bekannten Ersties
ausgesetzt.

Abgabeschluss fuer alle, die an einer Loesung interessiert sind, ist Do,
06.05.04, 03:02:01. Wer pro Tag einen Band liest, kommt also locker durch.


Phobos

-----------------------------------------------------------------------------



Re^8: Asterix-Puiz (Grimmborn, 30. Mar 2004, 18:53:21):
~#! rn=Phobos rt=1080665442 rg=puiz
~#! tid=1079283273
Noch ein kleiner Tip fuer zukuenftige Puizze: Was mich abgehalten hat war die
Forderung, die Antworten mit Album und Seite belegen zu muessen. Ich habe in
meiner Jugend Asterix rauf- und runtergelesen, und wuesste durchaus die
Antwort auf die eine oder andere Frage. Habe aber die Alben nicht zur Hand.
Ergo spare ich mir die Antworten und lass lieber andere blaettern. Und Dich im
Frust ersticken.

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^9: Asterix-Puiz (Phobos, 30. Mar 2004, 18:58:52):
~#! rn=Grimmborn rt=1080665601 rg=puiz
~#! tid=1079283273
Ok, die Beschraenkung kann ich problemlos fallenlassen, sofern die
Loesung eindeutig nachvollziehbar ist (z.B. durch genaue Beschreibung
der Situation). 

Das war eigentlich dazu gedacht, um zum einen wildes Raten zu 
verhindern und zum anderen fuer Stellen, die ich selbst nicht 
gefunden habe (d.h. wo es alternative Loesungen gibt). Aber im 
Zweifelsfall kann ich auch nachfragen, wenn ich eine Loesung nicht 
eindeutig als richtig oder falsch einstufen kann.

Phobos

-----------------------------------------------------------------------------



Asterix-Puiz: Gewinner (Phobos,  5. Apr 2004, 20:45:44):
So, der Gewinner des Asterix-Puiz ist ermittelt, der Vorsprung war
denkbar knapp. Von 100 moeglichen Punkten haben erreicht:

  Whitetiger:   87
  Vector:        3
  Gast2:         1.5

Herzlichen Glueckwunsch an alle Teilnehmer! Schoen, dass zumindest
einer Spass dran gehabt hat.


Phobos

P.S.
Ok, falls ich nochmal ein Puiz mache, passe ich mein Niveau dem
Mud an .. ich kenne da ein tolles Raetsel mit 12 Kugeln und einer
Balkenwaage :)

-----------------------------------------------------------------------------



Re: Asterix-Puiz: Gewinner (Boing,  5. Apr 2004, 21:42:17):
~#! rn=Phobos rt=1081190744 rg=puiz
~#! tid=1081190744
Das geht auch mit 13 ... ;)
  Boing

-----------------------------------------------------------------------------



Re: Re: Asterix-Puiz: Gewinner (Phobos,  5. Apr 2004, 21:43:36):
~#! rn=Boing rt=1081194137 rg=puiz
~#! tid=1081190744
dann kann man aber nicht in jedem fall sagen, ob schwerer oder leichter ..

Phobos  - ma do like me to find fake coin

-----------------------------------------------------------------------------



Re^3: Asterix-Puiz: Gewinner (Boing,  5. Apr 2004, 21:46:34):
~#! rn=Phobos rt=1081194216 rg=puiz
~#! tid=1081190744
Ich wollte auch nur die uebliche Diskussion abkuerzen ... ;)
  Boing

-----------------------------------------------------------------------------



Re^4: Asterix-Puiz: Gewinner (Phobos,  5. Apr 2004, 21:47:01):
~#! rn=Boing rt=1081194394 rg=puiz
~#! tid=1081190744
und ich poste wie ueblich die loesung :)

Phobos

-----------------------------------------------------------------------------



Re^5: Asterix-Puiz: Gewinner (Vector,  6. Apr 2004, 11:00:05):
~#! rn=Phobos rt=1081194421 rg=puiz
~#! tid=1081190744
irgendwie meinte ich gelesen zu haben der termin sei 6.5. ? :(

-----------------------------------------------------------------------------



Re^6: Asterix-Puiz: Gewinner (Croft,  6. Apr 2004, 11:36:01):
~#! rn=Vector rt=1081242005 rg=puiz
~#! tid=1081190744
Ist er ja auch.  Das war eine Zwischenwertung.

Croft

-----------------------------------------------------------------------------



Re: Wer war was? (Medic, 19. Apr 2004, 23:34:08):
~#! rn=Gloinson rt=1082410352 rg=puiz
~#! tid=1082410352
Hm, ich weiss die Antwort, aber "ping kindergarten.mud.de" klappt irgendwie
nicht.

SCNR,
Medic

-----------------------------------------------------------------------------



Wer war was? (Gloinson, 20. Apr 2004, 00:51:49):
Das Puiz wurde wegen allzu hoher Laecherlichkeit abgesetzt.


-----------------------------------------------------------------------------



Re: Wer war was? (Zook, 20. Apr 2004, 09:54:57):
~#! rn=Gloinson rt=1082415109 rg=puiz
~#! tid=1082415109
Bist Du nuechtern geworden und hast es noch einmal gelesen?

Zook.

-----------------------------------------------------------------------------



Re: Re: Wer war was? (Boing, 20. Apr 2004, 09:55:21):
~#! rn=Zook rt=1082447697 rg=puiz
~#! tid=1082415109
Mist, ich habs verpasst!
  Boing

-----------------------------------------------------------------------------



Re: Re: Wer war was? (Gloinson, 20. Apr 2004, 12:13:11):
~#! rn=Zook rt=1082447697 rg=puiz
~#! tid=1082415109
Ja, irgendwie halfen Hobos Gummihammerunterstuetzungen ungemein, wieder den
Boden des MUDs zu finden.
Auch wenn ich eher auf Muadib gehofft hatte, da waer das schneller gegangen.
Der hat schon so viel Erfahrungen mit den Geraeten.


-----------------------------------------------------------------------------



Re^3: Wer war was? (Darklor, 20. Apr 2004, 13:22:24):
~#! rn=Gloinson rt=1082455991 rg=puiz
~#! tid=1082415109
Aha der Hammer bringt also doch was... ;)

Darklor

-----------------------------------------------------------------------------



Re^4: Wer war was? (Bambi, 20. Apr 2004, 13:54:57):
~#! rn=Darklor rt=1082460144 rg=puiz
~#! tid=1082415109
Und was stand nun in dem urspruenglichen Artikel drin?

-----------------------------------------------------------------------------



Doppelt so schnelle Zeit (Phobos, 30. Apr 2004, 22:15:04):
Heute mal kein Quiz:

Angenommen, ihr wacht eines Morgens auf und die Zeit ist ploetzlich doppelt
so schnell, d.h. alles (ALLES!) im Universum, ihr einschliesslich, bewegt 
sich und altert ploetzlich doppelt so schnell usw.

Woran kann man das erkennen, ohne irgendwelche Messgeraete (z.B. Uhren) zu
verwenden und ohne wissenschaftliche Vorkenntnisse zu besitzen?


Ich kenne die Antwort selbst nicht, daher bitte in der MPA diskutieren.

  Phobos

-----------------------------------------------------------------------------



Re: Doppelt so schnelle Zeit (Bambi, 30. Apr 2004, 22:16:08):
~#! rn=Phobos rt=1083356104 rg=puiz
~#! tid=1083356104
Ich wuerde sagen: Innerhalb des Bezugssystems ueberhaupt nicht. Das spielt im
prinzip auch gar keine rolle, solange wir nur innerhalb des bezugssystems
interagieren.

-----------------------------------------------------------------------------



Re: Re: Doppelt so schnelle Zeit (Phobos, 30. Apr 2004, 22:20:44):
~#! rn=Bambi rt=1083356168 rg=puiz
~#! tid=1083356104
Meine spontane Vermutung war, dass alle Farben ploetzlich anders sind als
vorher. Allerdings kann ich das nicht verifizieren, weil mir die
entsprechenden wissenschaftlichen (fuesikalischen) Vorkenntnisse fehlen :)

Phobos

-----------------------------------------------------------------------------



Re^3: Doppelt so schnelle Zeit (Bambi, 30. Apr 2004, 22:23:50):
~#! rn=Phobos rt=1083356444 rg=puiz
~#! tid=1083356104
Lichtstrahlen bewegen sich mit Lichtgeschwindigkeit. Wenn alles doppelt so
schnell ablaeuft, dann auch Ausbreitung des Lichts. Ob die physikalischen
Kraefte sich aendern oder nicht, wenn die Zeit schneller vergeht, ist reine
Ansichtssache, da bisher schlecht beweisbar. Wenn Du davon ausgehst, dass die
Kruemmung des Lichts (z.B. durch die Sonne) bei schneller vergehender Zeit
relativ gesehen langsamer ablaeuft, dann wirst du das wohl beobachten koennen.
Das ist aber reine Spekulation.

-----------------------------------------------------------------------------



Re^4: Doppelt so schnelle Zeit (Areelanir,  1. Mai 2004, 10:50:45):
~#! rn=Bambi rt=1083356630 rg=puiz
~#! tid=1083356104
Ein paar Ideen haette ich da: Auch wenn man sich doppelt so schnell bewegt,
ohne es zu merken, braucht der Koerper doch Zeit, um sich anzupassen. Je
nachdem, was man macht, koennte man sich einen tierischen Muskelkater
einfangen. Dieses auch noch weiter begruendet dadurch, dass sich die
Erdanziehungskraft zwar messbar nicht veraendert haben duerfte, aber doch um
einiges hoeher ist. Und dann gibt es da ja auch noch genug Gegenstaende, die
nicht fuer die hoeheren Geschwindigkeiten konzipiert sind (Ein Fiat Panda
faellt bei doppelter Geschwindigkeit schon bei 100 Km/h auseinander) und auch
der Wind duerfte ziemlichen Schaden anrichten...

-----------------------------------------------------------------------------



Re^5: Doppelt so schnelle Zeit (Nonne,  1. Mai 2004, 11:44:08):
~#! rn=Areelanir rt=1083401445 rg=puiz
~#! tid=1083356104
Nein. Man wuerde im Alltag von all dem nichts merken. Ueberall, wo es um
Geschwindigkeit geht, wird in Sekunden gemessen und wenn diese Sekunde nur
halb so lang ist und fuer alles andere auch halb so lang, aendert sich genau
nichts. Es muesste also etwas geben, was konstant mit der Zeit ablaeuft, von
dieser aber unabhaengig ist. Vielleicht sowas wie radiaktive Zerfaelle oder
sowas, aber ziemlich sicher nicht aus der Alltagswelt.

Nonne.

-----------------------------------------------------------------------------



Re^6: Doppelt so schnelle Zeit (Bambi,  1. Mai 2004, 12:05:42):
~#! rn=Nonne rt=1083404648 rg=puiz
~#! tid=1083356104
Auch die Halbwerts_zeit_ waere halb so lang. Ich behaupte ganz naiv, dass in
dem Bezugssystem keine Moeglichkeit besteht, das schnellere Ablaufen der Zeit
zu bemerken, weil "schneller ablaufende Zeit in einem System" ja relativ zu
einem anderen System gemessen werden muss. Und da wir keine Moeglichkeit
haben, selbiges zu sehen, funktioniert das auch nicht. Ob der liebe Gott nun
auf "fast forward" beim Weltenvideorekorder drueckt oder auf ganz normales
"play", kannst Du als Information auf der Videokassette nicht erkennen. Die
Videokassette hat selbst vielleicht Schaeden, aber ob die Daten das erkennen
koennen (z.B. wie bei CDs durch interne Checks) bezweifle ich wie gesagt.

-----------------------------------------------------------------------------



Re^7: Doppelt so schnelle Zeit (Elberet,  1. Mai 2004, 13:10:17):
~#! rn=Bambi rt=1083405942 rg=puiz
~#! tid=1083356104
du musst was finden wo die zeit nicht linear eingeht, dann bemerkt man das
schon, oder? Wie ist das mit Beschleunigungen?

Elbi

-----------------------------------------------------------------------------



Re^8: Doppelt so schnelle Zeit (Ogo,  1. Mai 2004, 13:17:01):
~#! rn=Elberet rt=1083409817 rg=puiz
~#! tid=1083356104
Waere dann nicht auf einmal ein Meter halb (oder ist es doppelt) so lang? Wenn
in den Nachrichten dann der 200m Weltrekord im Sprint bei unter 10 Sekunden
liegt, darf man stutzen :)

Ogo

-----------------------------------------------------------------------------



Re^9: Doppelt so schnelle Zeit (Whitetiger,  1. Mai 2004, 13:35:50):
~#! rn=Ogo rt=1083410221 rg=puiz
~#! tid=1083356104
Klar. Aber dann waere der Meter ueberall halb (oder doppelt so lang ...
Innerhalb des Bezugssystems aendert sich das halt konsistent , nehme ich an.
Insofern duerfte da kein Unterschied zu bemerken sein.

Tiger

-----------------------------------------------------------------------------



Re^10: Doppelt so schnelle Zeit (Ogo,  1. Mai 2004, 13:42:52):
~#! rn=Whitetiger rt=1083411350 rg=puiz
~#! tid=1083356104
Wenn Du von der Polizei mit Deinem Auto angehalten wirst, und denen Deine
Fahrzeugpapiere zeigst, werden die Polizisten Dich mitnehmen, weil Deine
Fahrzeugpapiere zwar verdammt echt aussehen, dem Urkundenfehler jedoch ein
entscheidender, wie peinlicher Fehler unterlaufen ist: In den Papieren steht,
dass Dein Auto 4 Meter lang sei, dabei ist es jedoch 8 Meter lang. 

Ogo

-----------------------------------------------------------------------------



Re^11: Doppelt so schnelle Zeit (Whitetiger,  1. Mai 2004, 13:44:06):
~#! rn=Ogo rt=1083411772 rg=puiz
~#! tid=1083356104
Die Metermasse, die Arme, Beine, Koerper, Baeume, ... sind aber ebenfalls in
der neuen Groesse. DU koenntest den Unterschied also gar nicht erst messen ...

Tiger

-----------------------------------------------------------------------------



Re^12: Doppelt so schnelle Zeit (Grimmborn,  2. Mai 2004, 09:29:53):
~#! rn=Whitetiger rt=1083411846 rg=puiz
~#! tid=1083356104
Vielleicht wuerde es einem auffallen, vielleicht aber in der allgemeinen
Unsicherheit untergehen. Zu schnellerer Zeit kann ich nichts sagen, aber es
gibt definitiv Gelegenheiten, bei denen die Zeit massiv langsamer zu gehen
scheint. Egal, wieviele Physiker mir sagen, dass das nicht sein koennte
(solange ich mich nicht zu schnell bewege).

GdA

-----------------------------------------------------------------------------



Re^13: Doppelt so schnelle Zeit (Darklor,  2. Mai 2004, 11:31:39):
~#! rn=Grimmborn rt=1083482993 rg=puiz
~#! tid=1083356104
Mal ne ganz dumme Frage - Wieso sollten sich die Masse veraendern oder die
LIchtgeschwindigkeit sich veraendern? Wenn ich es recht verstehe, wuerde sie
gleich bleiben, nur dem Beobachter wuerde sie wahrscheinlich 300... auf 150...
veraendert vorkommen oder? - Es gibt zu diesem Thema auch n ganz nettes
SF-Buch Perry Rhodan: Das rote Universum.   

Darklor

-----------------------------------------------------------------------------



Re^14: Doppelt so schnelle Zeit (Catweazle,  2. Mai 2004, 13:14:59):
~#! rn=Darklor rt=1083490299 rg=puiz
~#! tid=1083356104
Beschleunigung.

YTC

-----------------------------------------------------------------------------



Re^13: Doppelt so schnelle Zeit (Gnome,  2. Mai 2004, 19:25:14):
~#! rn=Grimmborn rt=1083482993 rg=puiz
~#! tid=1083356104
schnelle und langsame zeit. nunja.
jeder hat seine eigene zeit; wir bemerken die unterschiede untereinander
nicht, weil unsere geschwindigkeitsdifferenzen viel zu gering sind.
"langsame" zeit im sinne von "diese person altert langsamer" kann man
bei verschiedenen gelegenheiten wahrnehmen: in der naehe von grossen
massen oder wenn jemand mit einer grossen geschwindigkeit sich von
uns entfernt (womit wir bei einer zeitmaschine incl. zwillingsparadoxon
waeren).

zur frage: mir faellt spontan auch nicht ein, woran man das erkennen
koennte. das mit den farben ist vielleicht eine ueberlegung wert. da
aber licht sich weiterhin mit 1 fuss/ns bewegen wuerde, gaebe es keine
farbenverschiebung. nehme ich zumindest mal stark an.

das mit den geschwindigkeiten (areelanir) koennte eine gute idee sein.
wir bewegen und alle doppelt so schnell, der koerper ist es nicht
gewohnt, uns geht recht schnell die luft aus, die mehrzahl von uns ;)
haette in den naechsten tage einen schoenen muskelkater in den beinen.

gnOme

-----------------------------------------------------------------------------



Re^14: Doppelt so schnelle Zeit (Brotnael,  4. Mai 2004, 20:12:04):
~#! rn=Gnome rt=1083518714 rg=puiz
~#! tid=1083356104
Gibt es eigendlich eine exakte wissenschaftliche Definition von Zeit? Im
Grunde ist die Zeit doch auch nur eine Koordinatenaxe, also quasi eine
Ortsangabe. Aber was ist genau der Fluss der Zeit bzw warum ist dieser nicht
umkehrbar? Ich hab glaub mal ein Buch drueber gelesen aber es schon damals
nicht verstanden..

-----------------------------------------------------------------------------



Re^15: Doppelt so schnelle Zeit (Vanion,  4. Mai 2004, 20:23:36):
~#! rn=Brotnael rt=1083694324 rg=puiz
~#! tid=1083356104
Es gibt nach Newton den Begriff der absoluten Zeit als etwas, das voellig
unabhaengig ist von allem im Universum, also unbeeinflussbar. Nach Einstein
gibt es diesen Zeitbegriff nicht mehr. Afaik kommt die Theorie ohne die Zeit
aus. (sie ist relativ.) Bei der Superstringtheorie spielt sie wieder eine
Rolle.

V*, aus dem Gedaechtnis ... moegen berufenere Physiker mich korrigieren.

-----------------------------------------------------------------------------



Re^15: Doppelt so schnelle Zeit (Kellybundy,  4. Mai 2004, 22:21:31):
~#! rn=Brotnael rt=1083694324 rg=puiz
~#! tid=1083356104
Louis C. Epstein, Der Relativitaetsexpress (so der deutsche Titel) hilft.
Fragt mich nach all den Jahren nich mehr nachm Verlach :)

-----------------------------------------------------------------------------



Re^16: Doppelt so schnelle Zeit (Kellybundy,  4. Mai 2004, 22:38:02):
~#! rn=Vanion rt=1083695016 rg=puiz
~#! tid=1083356104
Nope. Nach der speziellen Relativitaetstheorie ist die Zeit dadurch
ausgezeichnet, dass sie dem ganzen 3-dimensionalen Raumzeitgedoens erst
eine Orientierung verleiht. Es gibt naemlich, relativistisch gesehen, auch die
Moeglichkeit, dass es Entitaeten gibt, die sich rueckwaerts in der Zeit
bewegenh. Diese sind physikalisch nach derzeitigem Erkenntnisstand nicht
realisiert. Somit kann man argumentieren, dass die Zeit eben _nicht_ relativ
ist, oder , genauer gesagt, dass die Zeit, von verschiedenen moeglichen
Flussrichtungen, nur diejenige in Richtung Zukunft realisiert.
JustMy 2C
Dumpfbacke

-----------------------------------------------------------------------------



Nachtrag: Asterix-Puiz (Phobos,  6. Mai 2004, 19:15:41):
So, kleiner Nachtrag noch zum Asterix-Puiz:

Ich habe heute morgen (06.05.04 03:03:51) noch eine Mail von Jameson
und Perdita bekommen, die aufgrund der erheblichen Zeitueberschreitung 
von immerhin 110 Sekunden natuerlich auf keinen Fall mehr in die Wertung
einbezogen werden kann.

Schade eigentlich, denn die beiden haetten immerhin 100+x von 100 
moeglichen Punkten erzielt, da sie zusaetzlich zu ALLEN von mir 
gesuchten Antworten noch ein paar weitere entdeckt haben. Herzlichen
Glueckwunsch!

Fuer alle Teilnehmer am Puiz schicke ich noch ein Reply, wo ihr die
Antworten auf alle Fragen nachlesen koennte. Alle Nicht-Teilnehmer bitte
den folgenden Artikel nicht lesen ;)

Phobos

-----------------------------------------------------------------------------



Re: Heiraten (Phobos,  6. Mai 2004, 19:16:53):
~#! rn=Maharet rt=1083836809 rg=www
~#! tid=1083836809
 1. a. (XXI,31) Asterix ritzt ein Z in die Uniform des Legionaers
        Keinentschlus
    b. (XXV,14) Gruenix schwingt sich an einem Seil ueber den Graben
    c. mehrere Anspielungen von den Wikingern:
       (XXII,45) Ivar haelt einen Schaedel (Yorick) in der Hand und sagt
        "da ist was faul in meinem staat"
       (XXII,47) Erik sagt "Sein oder nicht sein, das ist hier die 
        frage..."
    d. auch hier gibt es mehrere Stellen:
       (IV,30) Ein Verrueckter hat einen Hut auf und die Hand ins Hemd
        gesteckt
       (XX,45) Osolemirnix steckt die Hand ebenfalls ins Hemd,
        ausserdem ist er Korse
        siehe auch Antwort 49: Schlacht von Waterloo (XXIV,39)
       Ergaenzungen von Perdita+Jameson:
       (II,23) "2000 Jahre blicken von diesen Pyramiden auf uns herab, 
        Obelix!" (Miraculix)
        "Soldaten, von der Spitze der Pyramiden blicken 40 Jahrhunderte 
        auf euch herab!" (Napoleon in seinen Memoiren)
       (XX,20) Osolemirnix beschreibt Korsika anhand eines Kaeseduftes
       (XX,38) Osolemirnix nennt die Rebellen "Grosse Armee", in 
        Anlehnung an die "Grande Armee" von Napoleons Russlandfeldzug
       (XX,45) Osolemirnix sagt zu Praetor Vampus: "Ein Kaiser, den die
        Korsen akzeptieren, muss Korse sein!"
       (XXIV,44) erste Zeichnung bezieht sich auf eine zeitgenoessische
        Darstellung
    e. (XIV,32) Don Quixote und Sancho Panso kurz vor ihrem Angriff auf
        ein paar Windmuehlen
    f. (XIV,41) In Hispalis findet eine Druidenprozession statt
    g. (XXII,35) Asterix mit Fackel und Zeichnung in der Hand auf einem
        Steinhaufen
    h. (XVI,39) Asterix trifft die Zielscheibe, nicht den Apfel auf dem
        Kopf des Jungen
    i. (XXIII,27) Die beiden laden als Legionaere Hinkelsteine ab
    j. (XXIV,31) Sogar mit den fuer Tim und Struppi ueblichen eckigen
        Sprechblasen, und natuerlich mit Wortverdrehern
    k. (XXVI,7-8) Der Spion Nullnullsix (006) parodiert Sean Connery,
        Musencus als Chef der Geheimpolizei ist M; Seite 7 erinnert an 
        die vielen Extras in den Autos von Q
       Ergaenzung von Perdita+Jameson:
       (XXVI,17) Anspielung auf Sean Connerys schottische Herkunft durch
        den Schnaps aus Kaledonien, den er Miraculix zur Staerkung 
        verabreicht
    l. (VIII,19) Sie geben gerade in Londinium Autogramme
    m. (XXV,14) Gruenix klettert nachts an einer Strickleiter zum 
        Balkon von Grienoline
    n. (XXVI,35) Pontius Penatus waescht seine Haende in Unschuld.
        Er ist uebrigens eine Karikatur des Schauspielers Jean Gabin.
    o. (XXII,36) Erik springt aus dem Boot und sagt: "Ein kleiner
        schritt fuer mich, ein grosser sprung fuer die menschheit!"
    p. (XXV,5) Grobianix steht in der Pose des Sonnenkoenigs und 
        zitiert dabei annaehernd: "L'etat c'est moi" ("Das Dorf bin ich")
 2. Bruder:   Ozeanix (IX,5)
    Neffe:    Grautvornix (IX,5)
    Schwager: Homoeopatix (XVIII,7)
 3. Den Schluessel zum Armbrustschiessstand holen lassen (IX,25)
 4. Automatix, auf eine Bemerkung von Obelix hin (XII,16)
 5. (XXIII,36) Eintrag "M Albo notamba lapillo" unten rechts auf der 
    Seite: Die 1000ste Asterixseite [Latein: M=1000, albo notanda 
    lapillo = mit einem weissen Steinchen zu markieren = ein gutes 
    Ereignis festhalten]
 6. Gotischer Fluch (VII,23)
 7. hier hatte ich uebersehen, dass es auf der Tour de France sogar eine
    zweite Stadt mit einem Labyrinth gibt:
      Rotomagus=Ruoen (VI,10-11)
      Lugdunom=Lyon (VI,25-27)
 8. Im Lager Babaorum, als Revanche fuer sein Geburtstagsgeschenk, wo er
    sich ganz alleine pruegeln durfte, waehrend die Gallier ihm ein
    Geburtstagsstaendchen singen (XXIII,47)
    [Warum haben in Band XXXI eigentlich Asterix und Obelix am selben 
     Tag Geburtstag? Hat noch jemand ausser mir das Gefuehl, dass nach
     dem Tod von Goscinny die Geschichten deutlich nachgelassen haben?]
 9. Ein Huhn schmiegt sich an den Helm von Majestix (XXI,22)
10. Obelix klopft an das Tor zum Roemerlager Aquarium (XXIX,44)
11. Obelix meint "Die kleinen sind oft die besten". Darum ueberlaesst 
    er die kleinen Roemer auch gerne den anderen (XX,10)
12. Verleihnix, nachdem Gutemine an ihm die Kraft des Zaubertranks
    ausprobiert hat (XIX,40)
13. UHIX-plus (XV,6)
14. 93 Jahre (XII,27)
15. Majestix als Geburtstagsgeschenk (XV,48)
16. Um Jerusalem zu verlassen, tarnen sich Asterix, Obelix und Idefix
    mit Kopftuechern (XXVI,34)
17. Naja, mit etwas Hilfe von Obelix (XXIX,36)
18. (XXV,38) Die von Miraculix' Zaubertraenken aufgeblaehten Roemer sind
    federleicht.
19. (II,17) Auf der Baustelle in Aegypten trinkt er die letzten Tropfen
     aus dem umgekippten Kessel
20. (II,41-42) Eigentlich soll er einen Brief zu Kleopatra bringen
     oder auch (XXIX,36)
    Ergaenzungen von Perdita+Jameson:
    (II,14) 5.Bild, ganz klein
    (X,13)
    (XXII,12) (koennte sich aber auch an Asterix' Fuss abstuetzen...)
21. So heisst ein befestigtes Roemerlager auf Korsika (im SW) (XX,3)
22. Der Leopard von Kleopatra (XXX,5)
23. (XXI,24) Obelix hat einen ganz kleinen Hinkelstein fuer Idefix
     hergestellt, nachdem es mit einem grossen noch nicht so recht
     klappt (Seite 11)
24. (I,8) Die Eichhoernchen rennen mit Nuessen auf dem Arm aus der
     Hoehle von Miraculix
25. Super-Persique, Reklame dafuer wird vor dem Zirkus Maximus gemacht
    (III,38)
26. Julius Caesar (IX,11)
27. Erix (VI,44 / II,9)
28. Dreifuss (XXX,34)
29. "Sie sind euch eine Nasenlaenge voraus" (X,33+46)
30. Am sechsten Tag nach Vollmond, wie Asterix Caligulaminix erklaert
    (I,16)
31. Die verwuestete Trabantenstadt (XVII,47)
32. (V,35) Ein Eichhoernchen mit dem Arm voller Eicheln rennt in sein
    Verderben
33. Walros, der einzige Vertreter aus Rhodos bei den Olympischen
    Spielen (XII,40)
34. Helme; wegen einer Wette, die nie beendet wurde (III,10+11+25)
35. Osolemirnix, weil Asterix meint, dass er (Idefix) zu klein sei fuer
    die Reise nach Korsika (XX,16)
36. Ein Kamel, nachdem es von Obelix durch die Wueste getragen wurde
    (XXVI,41)
37. Obelix gibt dem Baby das Flaeschchen and sagt: "Ich moechte nicht
    wissen, wie viele mich jetzt anstarren und auslachen" (XXVII,7)
    Ungeprueft: viele weitere Stellen, gefunden von Perdita+Jameson
    (II,12) Obelix, weil er Numerobis' Haustuer zerstoert hat
    (II,44) Caesar, als Kleopatra ihn des Angriffs auf den Tempel 
     ueberfuehrt
    (XXI,15) Obelix, als er die Tochter des Roemers vom Wagen hebt
    (IX,7) Obelix geniert sich beim Tanzen
    (X,8) Obelix wegen Falbala
    (X,47) Tragicomix lobt Obelix vor Falbala
    (X,48) Falbala kuesst Obelix und Asterix
    (XXV,47) Grienoline kuesst Obelix
    (XXVII,32) "Vaseline" schmeichelt Obelix
    (XXXI,6) Methusalix' Frau kuesst Obelix
    (XXXI,16) Obelix traut sich nicht zu tanzen
    (XXXI,19) Obelix sieht Falbala wieder
38. Eine Miniatur-Sphinx, die mit Souvenirs aus anderen Abenteuern 
    (Gotenhelm, Gladiatorenhelm, Roemerhelm, Sichel) auf einem Regal 
    in Asterix' Huette steht (VIII,9).
    Einen halben Punkt gab es fuer die Galeere von Kleopatra (II,47),
    obwohl das wohl eher eine Leihgabe war.
39. 50.000 Sesterze waehrend der Tour de France(VI,37).
    In "Asterix als Gladiator" gab es nur 10.000 Sesterze (III,28)
40. Im Haarstudio Cosmetix (XXIX,41)
    [Hier noch eine Anmerkung von Perdita+Jameson, die ich euch nicht
     vorenthalten moechte:]
    Nebenbei hier der Beweis, dass Asterix schwul ist, bzw. beide
    zumindest versaut:
    (VI,47) Asterix: "Soll ich deinen Sack halten, Obelix?"
    Obelix: "Nein, Asterix. Es geht sehr gut mit einer Hand. Danke."
41. Bei den Briten: Wohnung des Faesserdiebes (Parkallee LVII) sowie
    Zwischenstand beim Rugby (LVII:III) (VIII,32-33+41)
42. (XXV,28) Miraculix sagt: "Wirklich wahr, mein Trank wirkt
    ueberraschend!"
43. Idefix stammt aus Lutetia, wo er gerade vor einer Metzgerei steht, 
    als Asterix und Obelix auf der Tour de France vorbeikommen. Ab da 
    laeuft er den Galliern das ganze Abenteuer hinterher, bis ihn 
    Obelix auf der letzten Seite endlich bemerkt und ihm einen Knochen 
    schenkt. (VI,13+48)
    Die franzoesische Originalreihenfolge der ersten Baende ist: 
    I, V, VII, III, VI, II, IV; ab VIII ist die Reihenfolge gleich.
    Asterix und Kleopatra (II) kam also in Frankreich erst nach III 
    heraus, wurde aber in Deutschland als 2. Band herausgebracht, weil
    gerade der Zeichentrickfilm "Asterix und Kleopatra" im Kino anlief.
44. z.B:
    -us: Roemer (I-XXXI)
    -af: Normannen (IX)
    -os: Griechen (XII)
    -ax: Briten (VIII)
    -is: Aegypter (II)
    -ik: Goten (VII)
    -ah: Inder (XXVIII)
    -a: Afrikaner (Schwarzer Pirat Baba; XVII: Duplikatha)
    -sen: Wikinger (XXII)
    .. y ..: Iberer (XIV)
    [-ken: Belgier (XXIV)]
    O'-: Iren (VIII)
    Mac-: Schotten (VIII)
45. (XII,29) Beide als Relief am Eingang zum Olympiastadion.
    (XIII,30) Beide als Besucher des Theaters von Condate 
    (XXIII,6) Beide als unrasierte Legionaere, die einen besoffenen
     Kameraden (Pierre Tchernia, ein Mitarbeiter im Studio Idefix, der
     ebenfalls mehrfach in den Baenden auftaucht) aus dem Lager Babaorum
     tragen
    (XXVI,34-36) Rene Goscinny als Paul Nizahle; dieser Band ist auch
     ihm gewidmet
    Ergaenzung von Perdita+Jameson:
    (XXIV,48) (indirekt) Festessen am Schluss, das weggehende Kaninchen
     symbolisiert die Trauer all derjenigen, die Rene Goscinny kannten 
     und besonders die von Albert Uderzo. Es stellt "Le Lapaing" 
     (suedfranzoesische Aussprache von Lapin=Kaninchen) dar, der 
     Kosename von Rene Goscinnys Frau Gilberte.
46. z.B.
    Legionaer (XII,48)
    Dekurio (V,19)
    Optio (XIX,46)
    Zenturio (XII,48)
    Praefekt (VI,36)
    General (VII,16)
    Imperator (hab grad keine Seitenzahl parat)
    Tribun (XII,48)
    Dekadenzenturio (X,36)
    Praetor (XX,27)
    Quaestor (XVI,9)
    Legat (XXIV,28)
    Admiral (XXX,6)
    Vize-Admiral (XXX,6)
    NICHT: Millurio (V,19)
    Ergaenzungen von Jameson+Perdita:
    Praefecti (Flotillenkommandanten) (XXVI,25)
    Senator (XXVII,21)
    Zenturionin (XXIX,41)
47. - Wildschweinisch: "Grunz! Quiek! Grrrruonz!" - "Groinoinoi! Quiek! 
                       Quiek!" (XXVI,5)
    - Maulwurfisch:    Tschick Przzdll Wzdjkkk Pdsch. (I,14)
                       (Sowohl Whitetiger als auch Jameson+Perdita haben
                       die richtige Seite genannt, aber dort sagt der 
                       Maulwurf nur "Piep" .. strange)
    - Eichhoernisch:   Skrztsurptz Akrntsblompf Trmptzzz. (V,33)
48. In "Asterix und Latraviata":
    Schroeder ("Hol mir mal 'ne Flasche Bier") (XXXI,11)
    Stoiber (XXXI,25)
    Moellemann (XXXI,27)  [im Nachhinein etwas makaber]
    Merkel (XXXI,29)
    Westerwelle (XXXI,31)
    Josch! Kahh! Fischer (XIII,38)
    Die folgenden Andeutungen koennten sich auf Hans Eichel beziehen:
    (XXXI,8): "Ja dann sparn mer mal!"
    (XXXI,31): der blanke Hans
49. Theodore Gericault: "Das Floss der Medusa" (X,35)
    -> www.artchive.com/artchive/G/gericault/raft_of_the_medusa.jpg.html

    Rembrandt: "Anatomie des Dr. Tulp" (XIX,10)
    -> www.artprints-on-demand.co.uk/noframes/rembrandt/anatomy.htm

    Pieter Bruegel, der Aeltere: "Bauernhochzeit" (XXIV,47)
    -> www.artchive.com/artchive/B/bruegel/wedding.jpg.html

    Jean Louis Ernest Meissonier: "Campana de Napoleon" (XXIV,39)
    -> www.military-art.com/images/dhm_056_small.jpg

    Ergaenzungen von Jameson+Perdita:
    (XXIV,39) Napoleons Rueckzug nach Paris (J.L. Ernest)
    (XXV,5) Ludwig der XIV. (Hyacinthe Rigauld)  [siehe Frage 1 p.]
    (XIV,6) Napoleon auf dem Grossen Sankt Bernhard (Jacques-Louis David)
    (IV,30) Napoleon in seinem Arbeitszimmer (Jacques-Louis David)

    Dadurch habe ich den folgenden Link gefunden:
    http://www.asterix-fan.de/wi/ku/kunst.htm

50. Uderzo ist farbenblind.


Phobos

-----------------------------------------------------------------------------



Re: Re: Heiraten (Phobos,  6. Mai 2004, 19:18:33):
~#! rn=Phobos rt=1083863813 rg=puiz
~#! tid=1083836809
hmm, irgendein bug ist noch in der mpa (siehe titelzeile des vorigen artikels)

Phobos

-----------------------------------------------------------------------------



Marine (Phobos,  6. Mai 2004, 19:24:54):
Ich habe vorhin ein super Raetsel gefunden, das absolutes MPA-Niveau hat,
daher will ich euch das nicht vorenthalten. Antwort ggf. in 2-3 Tagen, 
obwohl ich sicher bin, dass ihr das innerhalb weniger Minuten korrekt 
loesen werdet :)


Eines Tages kam ein Mann in eine Schnellimbissbude. Als er mit dem Essen
fertig war, malte er mit gruener Tinte folgendes Bild auf seine Rechnung:

  +----+
  |    |                  /\
  |    |                 /  \
  +----+      ___       /    \
  3*4=12     /   \     /______\
            /     \    2*12=24
            \     /
             \___/
            2*13=26

Als er der Kellnerin die Rechnung mit dem Geld ueberreichte, sagte sie:
"Sie sind bei der Marine, nicht wahr?" - Wie kam sie darauf?


Phobos

-----------------------------------------------------------------------------



Re: Marine (Maharet,  6. Mai 2004, 19:33:01):
~#! rn=Phobos rt=1083864294 rg=puiz
~#! tid=1083864294
Bestimmt wegen der gruenen Tinte.

-----------------------------------------------------------------------------



Re: Re: Heiraten (Muadib,  6. Mai 2004, 22:36:33):
~#! rn=Phobos rt=1083863813 rg=puiz
~#! tid=1083836809
fuer den artikel gehoerst du ja geschlagen

-----------------------------------------------------------------------------



Re^3: Heiraten (Grimmborn,  6. Mai 2004, 23:58:08):
~#! rn=Phobos rt=1083863913 rg=puiz
~#! tid=1083836809
Es ist immer wieder erstaunlich, wie schnell Leute bei eigener Unfaehigkeit
mit einem "da ist ein bug woanders, aber ganz sicher nicht bei mir" bei der
Hand sind.

GdAa

-----------------------------------------------------------------------------



Re^4: Heiraten (Phobos,  7. Mai 2004, 00:01:24):
~#! rn=Grimmborn rt=1083880688 rg=puiz
~#! tid=1083836809
Wieso antworte ich in dieser Rubrik auf einen Artikel von Maharet in einer
anderen Rubrik?

Phobos

-----------------------------------------------------------------------------



Re^5: Heiraten (Morgoth,  7. Mai 2004, 00:10:43):
~#! rn=Phobos rt=1083880884 rg=puiz
~#! tid=1083836809

Also wenn Du das nicht mehr weisst, haette ich gern die Nummer Deines Dealers.
Der Stoff muss wirklich gut sein.

M*

-----------------------------------------------------------------------------



Re^6: Heiraten (Phobos,  7. Mai 2004, 00:12:27):
~#! rn=Morgoth rt=1083881443 rg=puiz
~#! tid=1083836809
Argh!

> rubrik puiz
> schreibe
> ... artikel 1
> ant
> ... artikel 2


-----------------------------------------------------------------------------



Re^7: Heiraten (Phobos,  7. Mai 2004, 00:30:13):
~#! rn=Phobos rt=1083881547 rg=puiz
~#! tid=1083836809
Ok, um mal ein Puiz draus zu machen:

Mit welcher genialen Syntax habe ich Artikel 29 so erzeugt, dass er hier
erscheint, aber sich auf einen Thread in einer anderen Rubrik bezieht?

Phobos

-----------------------------------------------------------------------------



Re^8: Heiraten (Grimmborn,  7. Mai 2004, 08:00:31):
~#! rn=Phobos rt=1083882613 rg=puiz
~#! tid=1083836809
Wieso sollten andere fuer Dich "hilfe mpa" lesen?

GdA

-----------------------------------------------------------------------------



Re: Re: Heiraten (Jameson,  7. Mai 2004, 09:52:11):
~#! rn=Phobos rt=1083863813 rg=puiz
~#! tid=1083836809
(XXXI,8): "Ja dann sparn mer mal!"
Beckenbauer "schaun mer mal"

-----------------------------------------------------------------------------



Re^8: Heiraten (Phobos,  7. Mai 2004, 10:26:10):
~#! rn=Phobos rt=1083882613 rg=puiz
~#! tid=1083836809
Ok, habe gelernt, dass sich 'antworte' nur auf gelesene Artikel bezieht,
nicht auf geschriebene.

Phobos

-----------------------------------------------------------------------------



Re^9: Heiraten (Phobos,  7. Mai 2004, 10:40:08):
~#! rn=Phobos rt=1083918370 rg=puiz
~#! tid=1083836809
Macht dann sogar Sinn: Da ich die Artikel immer per WWW lese, habe ich
den besagten Artikel von Maharet mit "uebergehe alles" wohl tatsaechlich
gelesen, da es der letzte Artikel in der letzten Rubrik war.

Phobos - uebt den Antworte-Skill :)

-----------------------------------------------------------------------------



Re^10: Heiraten (Maharet,  7. Mai 2004, 10:40:52):
~#! rn=Phobos rt=1083919208 rg=puiz
~#! tid=1083836809
Du hast meinen Artikel uebergangen? Mistkerl!

Maha, Spion und Giftmischer aD

-----------------------------------------------------------------------------



Re^11: Heiraten (Montanus,  7. Mai 2004, 10:41:46):
~#! rn=Maharet rt=1083919252 rg=puiz
~#! tid=1083836809
Da entwickelt wohl gerade jemand eine Phobos-Phobie.
:-)

-----------------------------------------------------------------------------



Re^12: Heiraten (Gloinson,  7. Mai 2004, 10:43:46):
~#! rn=Montanus rt=1083919306 rg=puiz
~#! tid=1083836809
Zu recht. Er ist ein gotteslaesterlicher Sinnmacher ;)


-----------------------------------------------------------------------------



Re^13: Heiraten (Phobos,  7. Mai 2004, 11:07:23):
~#! rn=Gloinson rt=1083919426 rg=puiz
~#! tid=1083836809
Kannst Du das naeher erlaeutern? Diese Aussage ist falsch, lass bitte
solche unqualifizierten Bemerkungen.

Phobos

-----------------------------------------------------------------------------



Re^14: Heiraten (Boing,  7. Mai 2004, 11:11:45):
~#! rn=Phobos rt=1083920843 rg=puiz
~#! tid=1083836809
Alle Informationen zum 'Sinn machen' sind im megaschmarrn-Archiv 
nachzulesen oder bei unserem Gott Zook nachzufragen.
  Boing

-----------------------------------------------------------------------------



Re: Re: Marine (Anthea,  7. Mai 2004, 13:44:04):
~#! rn=Maharet rt=1083864781 rg=puiz
~#! tid=1083864294
Oder weil er in Uniform da war.

-----------------------------------------------------------------------------



Wieso funktioniert dieses Telefon? (Anatol, 13. Mai 2004, 22:25:46):

Die Frage klingt so ganz und gar nicht nach Quiz, vielleicht 
aber ein bisschen nach Herausforderung. Ich fuer meinen Teil
fuehle mich, vorsichtig ausgedrueckt, an den Grenzen meiner 
profanen Elektro-/Fernmeldetechnikkentnisse.

"Soll" meiner Vorstellung:

 - die TAE1. Das Tor zur grossen weiten Welt, die einzige
   Schnittstelle in das verbotene Reich der Telekom. Bis 
   dahin der rosa Riese, ab dort ich. Die Buchse, aus der 
   man mittels Stecker bequem Signale herausziehen kann. 
 
 - der NTBA. 'to get things sorted out', klamuesert aus dem
   zweiadrigen Amt in Kleinarbeit zwei Datenkanaele, einen
   Steuerkanal und einen Nullleiter heraus (oder?). Die nennen
   sich dann nicht die vier Musketiere, sondern "ISDN" und 
   werden durchs Haus gezogen.

 - Angeschlossen an den NTBA sind Endgeraete. Eine Fritz!-Card
   oder ein Telefon mit Nebenstelle.

 - Gewuenschte Konfigurationsaenderung: Zwischen TAE1 und NTBA
   klemme man die dritte Hauptrolle, den Splitter. Der ist 
   naemlich noch viel toller als der NTBA, weil er DSL-Signale
   vom ISDN-Geschwafel trennen kann. Super-Sorter, sozusagen.
   Und was man mit DSL anstellen kann, brauche ich hier ja 
   niemandem zu erklaeren.

So weit zum "Soll". Aber wie wir wissen, "The map is not the
reality" und jeder Plan ist Theorie (und wie man plant und 
denkt, so kommt es nie). In loser Reihenfolge die Fakten,
gereiht nach Absonderlichkeit, zur im Titel gefuehrten finalen
Fragestellung leitend.

1. Steckverbindungen sind was fuer Weichlinge. Derjenige, der
   den Kram hier montiert hat, hatte nichts fuer Western oder
   sonstigem Trara uebrig. Klemmleisten tun es ja auch. 

2. Es gibt keine TAE1.

3. Es gibt immernoch keine TAE1. Das Kabel kommt direkt von
   draussen (und dort ist nur eine grosse wetterfeste stabile
   Verteilerdose, die, ihrem Aussehen nach, schon da hing als
   sich hier Jof und Rumata allein vergnueten. Und das Kabel
   (im folgenden AMT) geht direkt in den NTBA.

4. Das AMT kommt vieradrig daher. Theoretisch, das wissen wir,
   wuerden zwei Adern reichen. Klingeldraht eben. Zwei, nicht
   vier. Bleibt zu hoffen, dass zwei nicht beschaltet sind.

5. Das AMT geht nicht etwa zu 50% in die beiden Klemmen, die
   im NTBA fuer das Amt gedacht sind, sondern dort rein, wo
   eigentlich das ISDN haette rausgehen sollen. Alle vier 
   Adern fein saeuberlich.

6. ISDN gibt sich zumindest zum Teil wie gewohnt. Es ist zwar
   ein achtadriges Kabel, aber es werden nicht alle genutzt.
   Vier der Kabel sind mit dem NTBA dort verbunden, wo das 
   ISDN mit dem NTBA verbunden sein soll. Dass just da auch
   schon das AMT drinsteckt, daran stoeren sich die gruenen
   Draehte nicht. Sind immer schoen paarweise verzwirnt und 
   reingesteckt. Und ja, das heisst, dass das AMT, ginge es 
   ausschliesslich den Weg des geringsten Widerstands (was es
   natuerlich nicht tut, aber so rein hypothetisch...), den
   NTBA links liegen lassen wuerde.

7. Zwei der vier weiteren ISDN-Draehte (zwei rote) sind dort
   eingesteckt, wo das AMT haette reinsollen aber nicht 
   reingeht, weil das AMT, wie ausfuehrlich beschrieben, 
   lieber mit den gruenen ISDN-Draehten flirtet.


   Das Innere des NTBA also so:

 +------------------------------+ ir0: isdn, rot ohne Kringel
 |   UK0                     S0 | ir1: isdn, rot mit einem Kringel
 | ,---.              ,-------. | ir2: isdn, rot mit zwei Kringel
 | |a b|              |b a|b a| | ir3: isdn, wie ir2, Kringel enger
 | |   |              |1 1|2 2| | (gruen analog ig0 - ig3)
 | |   |              |   |   | | ar: amt rot
 | |O O|              |o o|o o| | as: amt schwarz
 | || ||              || |'| || | aw: amt weiss
 | '| |'              '| | | |' | ag: amt gelb
    | |                | | | |   
    | |        ig1+as -' | | |     
    | `-- ir0            | | '- ig2+aw
    `-- ir1      ig0+ar -' |
                           `- ig3+ag
 (ir2 + ir3 ohne Anschluss)                   


8. Es ist kein weiterer NTBA im Haus verborgen.

9. Das Telefon funktioniert.

WARUM?

Anatol

-----------------------------------------------------------------------------



Re: Wieso funktioniert dieses Telefon? (Bambi, 13. Mai 2004, 22:31:26):
~#! rn=Anatol rt=1084479946 rg=puiz
~#! tid=1084479946
Wenn ich nicht besser wuesste, dass Du nichts mit nachfolgend genannter
Personengruppe zu tun hast, wuerde ich meinen, das ist die Abschlusspruefung
fuer Nachrichtentechniker.

-----------------------------------------------------------------------------



Re: Wieso funktioniert dieses Telefon? (Marcus, 14. Mai 2004, 00:07:48):
~#! rn=Anatol rt=1084479946 rg=puiz
~#! tid=1084479946
Die Frage ist:

Suchst du eine Loesung? Oder eine Antwort?

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Wieso funktioniert dieses Telefon? (Marcus, 14. Mai 2004, 00:10:18):
~#! rn=Anatol rt=1084479946 rg=puiz
~#! tid=1084479946
Ich rate mal:

Hier hat jemand einen DSL bypass gelegt, am NTBA vorbei.

Ciao, Marcus

-----------------------------------------------------------------------------



Re: Re: Wieso funktioniert dieses Telefon? (Catweazle, 14. Mai 2004, 07:37:37):
~#! rn=Marcus rt=1084486218 rg=puiz
~#! tid=1084479946
Oder irgendwas multiplext?

YTC (kann auch supergummigut raten)

-----------------------------------------------------------------------------



Re^3: Wieso funktioniert dieses Telefon? (Marcus, 14. Mai 2004, 08:36:13):
~#! rn=Catweazle rt=1084513057 rg=puiz
~#! tid=1084479946
Die Loesung ist jedenfalls:

Da das vom Vormieter so verlassen wurde, Telekom kommen lassen und neu
verdrahten und
verdosen lassen und gut ist.

Kostet vielleicht noch mal nen 50er extra, aber dann ists wenigstens ok.

Ciao, Marcus

-----------------------------------------------------------------------------



Re^4: Wieso funktioniert dieses Telefon? (Bambi, 14. Mai 2004, 09:27:36):
~#! rn=Marcus rt=1084516573 rg=puiz
~#! tid=1084479946
Never change a running system.
Solang das keine Macken macht, wuerde ich keine kostenpflichtige Aenderung
herbeifuehren. Oder habe ich "Warum funktioniert das?" falsch interpretiert?

-----------------------------------------------------------------------------



Re: Wieso funktioniert dieses Telefon? (Muadib, 14. Mai 2004, 11:20:43):
~#! rn=Anatol rt=1084479946 rg=puiz
~#! tid=1084479946
dir ist bewusst dass die tae nur eine steckdose ist? und das amt heutzutage
fast immer mit 4 kabeln kommt damit man noch eine beschaltung fuer kappes wie
dsl verwenden kann?

-----------------------------------------------------------------------------



Re: Re: Wieso funktioniert dieses Telefon? (Zook, 14. Mai 2004, 11:28:53):
~#! rn=Muadib rt=1084526443 rg=puiz
~#! tid=1084479946
Ah! Endlich der lang ersehnte Artikel von Muadib. Nur, was hat das mit 
Gummisaugnaepfen zu tun?

Zook.

-----------------------------------------------------------------------------



Re^3: Wieso funktioniert dieses Telefon? (Muadib, 14. Mai 2004, 11:30:45):
~#! rn=Zook rt=1084526933 rg=puiz
~#! tid=1084479946
nix, falsche rubrik, ihr lasst mir ja keinen platz

-----------------------------------------------------------------------------



Re^4: Wieso funktioniert dieses Telefon? (Gloinson, 14. Mai 2004, 11:33:01):
~#! rn=Muadib rt=1084527045 rg=puiz
~#! tid=1084479946
Catweazle ist schuld!


-----------------------------------------------------------------------------



Re^5: Wieso funktioniert dieses Telefon? (Zook, 14. Mai 2004, 11:35:21):
~#! rn=Gloinson rt=1084527181 rg=puiz
~#! tid=1084479946
Er ergoss sich in die Rubrik Megaschmarrn und fuellte sie ob ihres hohen
Maximums an zulaessigen Artikeln (500, in Worten: fuenfhundert) voellig 
aus.

Zook.

-----------------------------------------------------------------------------



Re^6: Wieso funktioniert dieses Telefon? (Gloinson, 14. Mai 2004, 11:35:59):
~#! rn=Zook rt=1084527321 rg=puiz
~#! tid=1084479946
Ob ihres hohen Maximums? Sei froh, das die Rubrik nicht ueberquoll.


-----------------------------------------------------------------------------



Re^7: Wieso funktioniert dieses Telefon? (Anatol, 16. Mai 2004, 00:41:46):
~#! rn=Gloinson rt=1084527359 rg=puiz
~#! tid=1084479946
This is Anatol speaking, live via DSL.

Auf des Raetsels Loesung haette wohl keiner hier kommen koennen - 
dazu fehlten noch ein paar Fakten, die ich im Laufe des Abends mit
mehr oder weniger Erstaunen in Erfahrung bringen durfte... ;)

1. Das Kabel, das bei der ISDN-Dose, welche so hervorragend 
   funktioniert, ankommt, ist *nicht* das 4rot-4gruene Telekomkabel,
   das den NTBA verlaesst. Nein, es ist irgendein zigadriger fetter
   knallbunter Kabelstrang, den ich noch nie zuvor gesehen habe.

2. Es gibt im Raum, in dem der NTBA haengt, auch eine ISDN-Dose. Die
   tut zwar nicht, aber ihre Verkabelung ist... trara, ein Siemenskabel,
    vieradrig: rot, schwarz, gelb, weiss. 

Nach eingehender Recherche fand sich dann *im Flur* eine Verteilerdose,
die der Objektbalance nicht unaehnlich ist: Unglaubliches Wirrwarr mit
gewisser Effizienz. Jetzt endlich weiss ich, was sich hinter der 
bislang so fragwuerdigen Beschaltung des NTBA steckt:

1. Das "AMT" kommt nicht ueber das Vieradrige Siemenskabel (das ist vielmehr
   der Draht zur 2. Dose), sondern ueber 2 der acht Adern des Telekom-
   Buendels.

2. Durch vier weitere Draehte des Telekombuendels geht das ISDN-Signal
   wieder davon, dahin, wo das Amt herkommt: In die Dose auf dem Flur.

ARGH ARGH ARGH! :)

Anatol

-----------------------------------------------------------------------------



Re^8: Wieso funktioniert dieses Telefon? (Anatol, 16. Mai 2004, 00:47:48):
~#! rn=Anatol rt=1084660906 rg=puiz
~#! tid=1084479946
Nachtrag: Was der "Techniker" konnte, kann ich schon lange:
Ich nahm ein vieradriges Siemens-Kabel und fuehrte das Amt schon von
innerhalb des NTBA (aber eben nirgendwo angeklemmt) in den Spitter und
durch das zweite Leiterpaar wieder zurueck in den NTBA. 

Der Aufbau der Geraete sieht gewoehnungsbeduerftig aus. Aber tut.
Besser, ich dokumentiere das Ganze, sonst gibt es in ein paar Jahre
wieder Ratselraeten... ,)

Anatol - out. ;)

-----------------------------------------------------------------------------



Re^9: Wieso funktioniert dieses Telefon? (Zook, 16. Mai 2004, 11:46:56):
~#! rn=Anatol rt=1084661268 rg=puiz
~#! tid=1084479946
Auf jeden Fall: GRATS!

Zook.

-----------------------------------------------------------------------------



Re^10: Wieso funktioniert dieses Telefon? (Boing, 16. Mai 2004, 13:31:17):
~#! rn=Zook rt=1084700816 rg=puiz
~#! tid=1084479946
Wieso grats? Ich dachte es hat vorher schon getan ...
  Boing

-----------------------------------------------------------------------------



Re^11: Wieso funktioniert dieses Telefon? (Muadib, 16. Mai 2004, 14:15:13):
~#! rn=Boing rt=1084707077 rg=puiz
~#! tid=1084479946
du hast einen spitter?
schmeiss das zeug weg das verrotzt dir nur den gesamten flur

-----------------------------------------------------------------------------



Foto (Phobos,  6. Jun 2004, 14:22:31):
Ich habe hier ein Foto, da ist Folgendes zu sehen:

  H | C
  --+--
  A | N

Wo wurde das Foto aufgenommen?

Phobos

-----------------------------------------------------------------------------



Re: Foto (Phobos,  6. Jun 2004, 14:43:14):
~#! rn=Phobos rt=1086524551 rg=puiz
~#! tid=1086524551
Warum nicht zeigen? Ich lege das Foto mal fuer 1-2 Wochen nach 
ftp://mg.mud.de/tmp/HCAN.png (6577 Bytes)

Ein erster Rateversuch war Altartuch, aber das ist es nicht.

Phobos

-----------------------------------------------------------------------------



Re: Re: Foto (Montanus,  7. Jun 2004, 09:46:51):
~#! rn=Phobos rt=1086525794 rg=puiz
~#! tid=1086524551
Beim Augenarzt. Dafuer brauch ich das Original gar nicht sehen.

-----------------------------------------------------------------------------



Re^3: Foto (Phobos,  7. Jun 2004, 18:37:50):
~#! rn=Montanus rt=1086594411 rg=puiz
~#! tid=1086524551
Augenarzt? Falsch! Die Buchstaben bei dem sind doch immer verschwommen!

Das Schild, von dem dieses Foto einen Ausschnitt zeigt, befindet sich an
einem Ort, an dem es ausser diesem Schild eigentlich nichts Interessantes
zu sehen gibt.

Btw, wer brauchen ohne zu gebraucht .. 

Phobos - Oberleerer

-----------------------------------------------------------------------------



Re^4: Foto (Magicolli,  9. Jun 2004, 19:09:26):
~#! rn=Phobos rt=1086626270 rg=puiz
~#! tid=1086524551
Gibt's wieder was zu gewinnen, wenn man die Antwort weiss? :-)

-----------------------------------------------------------------------------



Re^5: Foto (Phobos,  9. Jun 2004, 19:18:55):
~#! rn=Magicolli rt=1086800966 rg=puiz
~#! tid=1086524551
Hmm, ich muss mal mit der Balance verhandeln, ob ich Forscherpunkte
verteilen darf .. ;)

Phobos

-----------------------------------------------------------------------------



Re^6: Foto (Phobos,  9. Jun 2004, 19:22:45):
~#! rn=Phobos rt=1086801535 rg=puiz
~#! tid=1086524551
Herzlichen Glueckwunsch an Magicolli, der als Erster die richtige Antwort
gefunden hat!

Phobos

-----------------------------------------------------------------------------



Re: Foto (Phobos, 11. Jun 2004, 19:53:18):
~#! rn=Phobos rt=1086524551 rg=puiz
~#! tid=1086524551
Bevor ich aufloese, noch eine zweite Chance: Ich habe mal ein wenig
herausgezoomt, das Ergebnis liegt unter
ftp://mg.mud.de/tmp/AHCONANE.png (13642 Bytes)

     |
  AH | CO
  ---+---
  NA | NE
     |

Phobos

-----------------------------------------------------------------------------



Re: Re: Foto (Phobos, 14. Jun 2004, 19:03:39):
~#! rn=Phobos rt=1086976398 rg=puiz
~#! tid=1086524551
Ok, ich loese mal auf:

Das Schild liegt an dem Punkt, an dem die Grenze zwischen vier
amerikanischen Bundesstaaten verlaeuft, daher auch der Name
"Four Corners".

     UTAH | COLORADO
 ---------+------------
  ARIZONA | NEW MEXICO


Richtige Loesungen kamen (in dieser Reihenfolge) von:
Magicolli, Nonne, Acro, Morgoth, Medic, Montanus und Bambulko.
Glueckwunsch!


Hier das Foto im Ganzen:
home.att.net/~keithscape/keithscape/photos/pictures/Desert/fourcorners.jpg

Hier ein Foto von jemandem, der sich in 4 Bundesstaaten gleichzeitig
befindet (wie albern!):
http://www.go-arizona.com/Four-Corners-Monument


Phobos

-----------------------------------------------------------------------------



Komische Koerper (Miril, 16. Jun 2004, 22:27:34):
Folgendes Raetsel lief mir heute ueber den Weg:

Ein Koerper wird in der sogenannten Drei-Tafel-Projektion, d.h.
von vorne, von oben und von der Seite dargestellt. Dabei gilt:
Alle Kanten von Hohlraeumen, die unsichtbar innerhalb des Koerpers 
liegen, werden in der Projektion gepunktet dargestellt und alle 
sichtbaren Kanten als durchgezogene Linien.

Nun die Frage: 
Wie sieht die Seitenansicht eines Koerper aus, der

so on oben
 ________
|        |
|   __   |
|  |  |  |
|  |__|  |
|        |
|________|


und so von vorne aussieht:

 ________
|        |
|   __   |
|  |  |  |
|  |__|  |
|        |
|________| ?

Kleiner Hinweis: Es gibt zwei Moeglichkeiten.

Miril

-----------------------------------------------------------------------------



Re: Komische Koerper (Miril, 16. Jun 2004, 22:35:18):
~#! rn=Miril rt=1087417654 rg=puiz
~#! tid=1087417654
Grats an Vanion fuer zumindest eine der beiden Loesungen.

-----------------------------------------------------------------------------



Re: Re: Komische Koerper (Miril, 16. Jun 2004, 22:39:33):
~#! rn=Miril rt=1087418118 rg=puiz
~#! tid=1087417654
Also noch mal zur Erklaerung:
Ein Koerper, der z.b. einen Schacht von oben nach unten hat saehe
von vorne so aus:

 ________
|  :  :  |
|  :__:  |
|  |  |  |
|  |__|  |
|  :  :  |
|__:__:__|

Miril

-----------------------------------------------------------------------------



Re^3: Komische Koerper (Miril, 16. Jun 2004, 22:44:41):
~#! rn=Miril rt=1087418373 rg=puiz
~#! tid=1087417654
Und nochmal grats an Vanion fuer die 2.

-----------------------------------------------------------------------------



Re^4: Komische Koerper (Anthea, 17. Jun 2004, 09:38:39):
~#! rn=Miril rt=1087418681 rg=puiz
~#! tid=1087417654
Wenn Du auch solche Fragen mitten in der Nacht stellst. Bei Tageslicht besehen
ist das ganz einfach...

-----------------------------------------------------------------------------



Gruesse aus dem Hexenhaus (Phobos, 21. Aug 2004, 17:13:38):
Wer ihn noch nicht kennt: Hier ist ein Brief von Haensel und Gretel, der
das Maerchen von der boesen Hexe eindeutig wiederlegt. Antworten bitte 
weder an mich noch an die MPA schicken, dazu ist es zu einfach.
- Phobos



Villa Knusperhaus                                         3.3.333

Liebste Eltern! Mach Euch keine Sorgen um uns, die waeren wirk-
lich unbegruendet. Es waere ganz falsch, wenn Ihr denken wuerdet,
gute Eltern, Haensel und Gretel sind in der Gewalt einer Hexe! Wir
leben hier bei einer sehr netten alten Dame, die uns jeden 
Wunsch von den Augen abliest! Zuerst dachte Gretel ja, wir
werden gefangengehalten und sollen geschlachtet werden! Geht
denn so was zu fassen! Wir haben uns dusslig drueber gelacht! Es
gibt hier viele Tiere, vor allem Voegel, die fliegen gewoehnlich
bis zur grossen Eiche und dann immer nach Norden, dort liegt
naemlich ihr Futterplatz. Wir haben auch sehr schoene Puppen, mit
denen wir spielen, und dazu viele Einrichtungen, so etwa auch
ein Kuchenhaus mit einem Dach aus Schokolade und Marzipan.
Einmal spielten wir Kasperletheater, da haben Loewen die Kaspers
auf einen Baum gejagt, und da schrien sie: Heda, ihr Foerster!
Hier sind wir! Kommt rasch und rettet uns! Eure ungluecklichen
Dienstzeiten, ihr Waldwaechter, sind unmoeglich! Ihr muesstet auch
mittags jagen, anstatt Amtspausen zu halten und zu pennen! - Eure
Kinder Haensel und Gretel bitten Euch darum, nicht laenger zu
sorgen, teuerste Eltern! Uns geht's vorzueglich. Gestern durfte
Gretel ein Kleid der lieben alten Dame mit einem rosa Band um-
saeumen. Vielleicht - sie sprach schon davon - schlachtet morgen
die liebe alte Dame ein Gaenslein fuer uns, oder sie spielt mit uns
wieder Theater. Gestern schenkte sie gar von ihren Marionetten
die Hexe Haensel. Es klingt unglaublich und ist doch die Wahrheit.
Duerfen wir dies denn auch annehmen? fragten wir, doch die Gute
nickte. Nun will sie mit uns spazierengehen und ruft uns zu:
Eilt! Eilt! Es ist hoechste Zeit! Wo bleibt ihr nur! Helft eu-
rer alten Dame den Mantel anzuziehen! So wollen wir jetzt
schliessen und bitten sehr: Seid sorglos und freut Euch mit Eu-
ren Kindern                                Haensel und Gretel.

-----------------------------------------------------------------------------



Re: Gruesse aus dem Hexenhaus (Humni, 22. Aug 2004, 01:07:58):
~#! rn=Phobos rt=1093101218 rg=puiz
~#! tid=1093101218
OK ich weiss nun, dass ich nicht der einzige bin, aber bisher hab ich in puiz
immer die Frage verstanden.

Offenbar bin ich hier zu doof, das Raetsel zu verstehen.

Also, bitte um Aufklaerung.

Wenn die nicht kommt, folge ich meinem gemeinen Ruf als boesem Drachen und
poste das Raetsel mit den Kugeln und der Balkenwaage.

Humni

-----------------------------------------------------------------------------



Re: Re: Gruesse aus dem Hexenhaus (Bran, 22. Aug 2004, 01:08:40):
~#! rn=Humni rt=1093129678 rg=puiz
~#! tid=1093101218
Du sollst die verschluesselte Botschaft rauskriegen.

-----------------------------------------------------------------------------



Re^3: Gruesse aus dem Hexenhaus (Humni, 22. Aug 2004, 01:09:04):
~#! rn=Bran rt=1093129720 rg=puiz
~#! tid=1093101218
Ich habs gerade ;-) Toll.

Humni

-----------------------------------------------------------------------------



Re^3: Gruesse aus dem Hexenhaus (Bambi, 23. Aug 2004, 21:55:45):
~#! rn=Bran rt=1093129720 rg=puiz
~#! tid=1093101218
Versteckte Botschaft?

...

Aeh...

...

Was fuer eine versteckte Botschaft?

-----------------------------------------------------------------------------



Durch die Wueste (Phobos, 29. Aug 2004, 23:27:40):
Also, du steht am Anfang einer Wueste. Du nimmst an einem Wettkampf 
teil. Die Aufgabe besteht darin, moeglichst weit in die Wueste zu 
reisen. Jeder Teilnehmer bekommt dazu ein Kamel, das zusaetzlich zu 
seinem eigenen Gewicht (dem Gewicht des Teilnehmers, nicht des Kamels,
haha) noch maximal 1000 Bananen tragen kann.

Sitzt man auf dem Kamel und steckt vorne eine Banane rein, dann rennt
das Kamel genau einen Kilometer weit. Dann bleibt es stehen, bis man
eine weitere Banane reinsteckt.

Am Startpunkt sowie an jedem Kilometerstein gibt es einen Kontroll-
punkt, wo man beliebig viele Bananen deponieren kann. Man darf spaeter
zurueckkommen und die Bananen wieder mitnehmen.

Beispiel:
Wenn du mit 1000 Bananen losreitest und bis Kilometerstein 100 reist,
hast du dort noch 900 Bananen uebrig. Du kannst also 800 Bananen dort
deponieren und mit den restlichen 100 Bananen zum Startpunkt zurueck-
kehren. Dann kannst du dort weitere Bananen aus deinem Startvorrat
aufladen.


So, alle Teilnehmer an den Start. Jeder bekommt 5000 Bananen. Nicht
vergessen, das Ziel ist es, einen Kontrollpunkt moeglichst weit in
der Wueste zu erreichen. Es macht nichts, wenn man dort keine Banane
mehr uebrig hat fuer den Rueckweg.

Und .. LOS!!!  Wie weit schaffst du es?


Phobos

-----------------------------------------------------------------------------



Re: Durch die Wueste (Catweazle, 30. Aug 2004, 10:28:00):
~#! rn=Phobos rt=1093814860 rg=puiz
~#! tid=1093814860
Das ist eine simple Reihe, oder?

Mathematiker vor ...

YTC

-----------------------------------------------------------------------------



Re: Re: Durch die Wueste (Phobos, 30. Aug 2004, 16:02:06):
~#! rn=Catweazle rt=1093854480 rg=puiz
~#! tid=1093814860
Klar ist das simpel, ich soll ja keine schwierigen Sachen fragen. :)

Phobos

-----------------------------------------------------------------------------



Fragebogen (Whitetiger, 30. Aug 2004, 16:25:57):
Gregor Schnapsmann hat einen neuen Job. Er arbeitet fuer ein Demoskopisches
Institut als Meinungsforscher und Datensammler.
Auch diese Taetigkeit steckt voller Ueberraschungen. "Stell dir vor", sagt er
abends zu Bierling, "was mir passiert ist. Ich fragte eine Hausfrau, wie viele
Personen in ihrem Haushalt leben wuerden und wie alt sie waere. Sie sei 36,
gab sie an, und wuerde mit ihren drei Toechtern allein im Hause leben. Das
Alter der Toechter miteinander multipliziert ergaebe ihr eigenes Alter. Das
Alter der Toechter zusammengezaehlt ergaebe die Hausnummer des Nachbarhauses. 
Darauf ging ich zum Nachbarhaus, warf einen Blick auf die Hausnummer, ging
zurueck und sagte ihr, dass ich noch eine zusaetzliche Information brauche.
Die koennte ich haben, sagte sie, ihre einzige schulpflichtige Tochter
schliefe gerade. Da wusste ich, wie alt die drei Toechter waren."
Bierling moechte nicht nur wissen, wie alt die Toechter sind, sondern vor
allem, /wie/ Schnapsmann darauf gekommen ist.

-----------------------------------------------------------------------------



Die Wippe der dicken Damen ... (Whitetiger, 30. Aug 2004, 16:40:21):
Zwoelf dicke Damen stehen an einer Wippe. Sie wiegen alle gleich viel, nur
Bertha ist entweder schwerer oder leichter als die anderen elf. Auf der Wippe
kann jede beliebige Anzahl Damen Platz nehmen.
Bestimmen Sie mit drei Wipp-Phasen, welche der Damen Bertha ist, und ob sie
mehr oder weniger wiegt als ihre Kolleginnen. Die Wippe wird sich entweder
dort senken, wo sie schwerer belastet ist, oder bei gleichmae/3iger
Gewichtsverteilung in der Schwebe bleiben.

-----------------------------------------------------------------------------



Re: Die Wippe der dicken Damen ... (Whitetiger, 30. Aug 2004, 16:41:43):
~#! rn=Whitetiger rt=1093876821 rg=puiz
~#! tid=1093876821
Zusatzfragen:
1. Wenn das Problem mit 12 Damen in drei Wipp-Phasen geklaert werden kann, mit
wieviel Damen koennen Sie es dann in sechs Gaengen schaffen?
2. Mit wie vielen Wipp-Phasen koennte man herausbekommen, welche von 1000
Damen entweder leichter oder schwerer ist als die uebrigen 999 - sowie, ob sie
schwerer oder leichter ist als die anderen?

-----------------------------------------------------------------------------



Re: Re: Die Wippe der dicken Damen ... (Croft, 30. Aug 2004, 16:44:35):
~#! rn=Whitetiger rt=1093876903 rg=puiz
~#! tid=1093876821
Such mal im MPA-Archiv nach den alten Threads dazu ,-)

Croft

-----------------------------------------------------------------------------



Re^3: Die Wippe der dicken Damen ... (Gloinson, 30. Aug 2004, 16:44:47):
~#! rn=Croft rt=1093877075 rg=puiz
~#! tid=1093876821
Da gab es nie dicke Damen.


-----------------------------------------------------------------------------



Re: Die Wippe der dicken Damen ... (Zook, 30. Aug 2004, 16:45:31):
~#! rn=Whitetiger rt=1093876821 rg=puiz
~#! tid=1093876821
Ich wusste, man muss nur lange genug warten, dann gibts die Frage
irgendwann. Wer hatte die denn wo noch angedroht? ;)

Zook.

-----------------------------------------------------------------------------



Re^3: Die Wippe der dicken Damen ... (Phobos, 30. Aug 2004, 16:45:41):
~#! rn=Croft rt=1093877075 rg=puiz
~#! tid=1093876821
MA DO - LIKE
ME TO - FIND
FAKE - COIN

Phobos

-----------------------------------------------------------------------------



Re^4: Die Wippe der dicken Damen ... (Zook, 30. Aug 2004, 16:48:55):
~#! rn=Phobos rt=1093877141 rg=puiz
~#! tid=1093876821
Kann sich jetzt bitte mal jemand erregen, dass Quest-Aufgaben und ihre
Loesung in der MPA nix zu suchen haben?

Zook.

-----------------------------------------------------------------------------



Re^5: Die Wippe der dicken Damen ... (Gloinson, 30. Aug 2004, 16:49:13):
~#! rn=Zook rt=1093877335 rg=puiz
~#! tid=1093876821
In Tarko Reub gab es keine dicken Damen.


-----------------------------------------------------------------------------



Re^6: Die Wippe der dicken Damen ... (Zook, 30. Aug 2004, 16:49:37):
~#! rn=Gloinson rt=1093877353 rg=puiz
~#! tid=1093876821
Highlander! Wenigstens Du als Alters-Sheriff!

Zook.

-----------------------------------------------------------------------------



Re^7: Die Wippe der dicken Damen ... (Highlander, 30. Aug 2004, 16:51:15):
~#! rn=Zook rt=1093877377 rg=puiz
~#! tid=1093876821
Iiiich? Dazu muss mir erst mal wieder wer erklaeren, was eine Quest ist.
Und wo hier eine Loesung zu einer war und zu welcher. In der mpa
natuerlich, sonst merken's die Leute nicht so leicht.

HrT. Rentner.

-----------------------------------------------------------------------------



Re^8: Die Wippe der dicken Damen ... (Gloinson, 30. Aug 2004, 16:53:43):
~#! rn=Highlander rt=1093877475 rg=puiz
~#! tid=1093876821
Du sollst mit geballter Faust das komplettloesungsaehnliche Ansaetze postende
Geschmeiss und Gezuecht vernichten und nicht sabbern.

Gloinson i.A. Zook


-----------------------------------------------------------------------------



Re^9: Die Wippe der dicken Damen ... (Highlander, 30. Aug 2004, 16:54:45):
~#! rn=Gloinson rt=1093877623 rg=puiz
~#! tid=1093876821
Ach, zerreissen, zerrupfen, verschlingen und dann wegwerfen oder
so aehnlich? Kurz gesagt, kaputtmachen? Na, das werd' ich grad
noch hinbringen, denke ich.

HrT

-----------------------------------------------------------------------------



Re^10: Die Wippe der dicken Damen ... (Boing, 30. Aug 2004, 17:03:51):
~#! rn=Highlander rt=1093877685 rg=puiz
~#! tid=1093876821
Uh? Sind schon wieder 3 Monate um?
  Boing (aufgeschreckt)

-----------------------------------------------------------------------------



Die drei Terroristen (Whitetiger, 30. Aug 2004, 17:07:27):
Algernon, Basil und Cyril sind unter dem Verdacht "terroristischer Umtriebe"
verhaftet worden. Ein Militaer-Sondergericht unter General Crackblood hat
verfuegt, dass zwei der drei Maenner am folgenden Tage fuesiliert werden
sollen. Bis dahin sitzt jeder in Einzelhaft. Algernon schwatzt mit dem
Gefangenenaufseher, der weiss, welche von ihnen sterben muessen. "Mir ist
klar", sagt Algernon, "dass von den beiden anderen mindestens einer
hingerichtet wird. Aber wer? Fuer mein eigenes Schicksal waere es voellig
belanglos, wenn Sie mir anvertrauten, ob es Basil oder Cyril ist." Der
Aufseher denkt kurz, aber intensiv nach und erwidert dann: "Das stimmt nicht.
Wenn ich Ihnen definitiv sage, dass man Basil erschiessen wird, oder aber,
dass Cyril dran glauben muss, wuerden sich Ihre Ueberlebenschancen, so wie Sie
sie sehen, betraechtlich erhoehen." Wer hat recht - Algernon, der
Gefangenenaufseher oder keiner von beiden? Und warum?

-----------------------------------------------------------------------------



Re: Die drei Terroristen (Maharet, 30. Aug 2004, 17:10:16):
~#! rn=Whitetiger rt=1093878447 rg=puiz
~#! tid=1093878447
Warum tippst du dein Mathebuch ab?

-----------------------------------------------------------------------------



Re: Re: Die drei Terroristen (Croft, 30. Aug 2004, 17:10:54):
~#! rn=Maharet rt=1093878616 rg=puiz
~#! tid=1093878447
Er recyclet eher das MPA-Archiv.

Croft denkt da an 3 Tore und einen Preis

-----------------------------------------------------------------------------



Re: Re: Die drei Terroristen (Whitetiger, 30. Aug 2004, 17:11:02):
~#! rn=Maharet rt=1093878616 rg=puiz
~#! tid=1093878447
Tu ich doch gar nicht. Wie kommst du denn auf die Idee?

-----------------------------------------------------------------------------



Re^3: Die drei Terroristen (Maharet, 30. Aug 2004, 17:11:48):
~#! rn=Whitetiger rt=1093878662 rg=puiz
~#! tid=1093878447
Ich bin der Ansicht, man sollte den Waerter erschiessen, weil er mit
Terroristen freundschaftliche Beziehungen pflegt.  Das ist unamerikanisches
Verhalten und kann nicht gedulden werden.

-----------------------------------------------------------------------------



Re^4: Die drei Terroristen (Gloinson, 30. Aug 2004, 17:12:30):
~#! rn=Maharet rt=1093878708 rg=puiz
~#! tid=1093878447
Sollte nicht besser der Autor erschossen werden? Immerhin stellt er die
Theorie auf, ein echter Amerikaner wuerde solchen Landesverrat ueben.


-----------------------------------------------------------------------------



Re^5: Die drei Terroristen (Maharet, 30. Aug 2004, 17:13:32):
~#! rn=Gloinson rt=1093878750 rg=puiz
~#! tid=1093878447
Am besten beide, nur um sicher zu sein.

-----------------------------------------------------------------------------



Re^77102: Hach... nu is was drin, inner MPA. (Gloinson, 30. Aug 2004, 17:14:00):
~#! rn=Boing rt=1093878798 rg=megaschmarrn
~#! tid=982328278
Am besten auch noch die Les*peng .....


-----------------------------------------------------------------------------



Die Duodezimalindianer (Whitetiger, 30. Aug 2004, 17:23:28):
zeit
Auf einer fruehindianischen Kultstaette in Suedamerika entdeckt Professor
Charo A. O'Gleist folgende Steininschriften:

1. Inschrift   [*] [*]
               [ ] [ ] [ ]
                *  [*]

2. Inschrift                  *
                              *
                             [ ] [*] [*]

3. Inschrift    *
               [ ] [*] [*]

4. Inschrift                      *   *
                                 [ ] [ ]
                                  *  [*]

Aus den aeusseren Umstaenden schliesst der Professor, dass die ersten drei
Symbolgruppen sich auf die Anzahl der Gefangenen beziehen, die man dort nach
einer Serie beruehmter Schlachten geopfert hat, und die Zahlen 836, 1597 und
133 bedeuten. An Skelettresten laesst sich feststellen, dass es sich um einen
recht absonderlichen Indianerstamm handelte, dessen Angehoerige saemtlich
zwoelf Finger und zwoelf Zehen besassen. Wie viele Gefangene wurden nach der
vierten Schlacht geopfert?

-----------------------------------------------------------------------------



Beuteteilung (Whitetiger, 31. Aug 2004, 21:33:56):
Es gibt eine uralte Methode, eine Kriegs-(oder Diebs-)beute unter zwei Leute
so aufzuteilen, dass keiner sich uebervorteilt fuehlt: A dividiert die Ware
nach bestem Wissen gerecht in zwei Teile, und B darf sich davon seinen Anteil
aussuchen. Wie koennte man eine Beute aehnlich gerecht an drei Leute
verteilen, ohne zu losen? Jeder der drei muss den Eindruck gewinnen, dass er
mindestens ein Drittel abbekommt.

-----------------------------------------------------------------------------



Re: Beuteteilung (Phobos, 31. Aug 2004, 21:53:39):
~#! rn=Whitetiger rt=1093980836 rg=puiz
~#! tid=1093980836
Voraussetzung: Es geht nur um die Menge, nicht um die Zusammensetzung
der Beute (d.h. keiner legt unbedingt Wert darauf, z.B. den Arkenjuwel
zu bekommen):

Mein (abgelehnter) Vorschlag laesst sich auch auf n Leute erweitern:

Die Beute kommt auf einen riesigen Haufen. Dann wird ganz langsam
Stueck fuer Stueck etwas von dem Haufen genommen und auf einen
zweiten Haufen gelegt. Jeder der n Leute darf zu jedem Zeitpunkt,
wenn er meint, nun sei der Haufen gross genug, STOP rufen und 
bekommt dann den Haufen.

Die restlichen n-1 Leute verfahren nach dem gleichen Schema.

Hierbei kann man hoechstens verlieren, wenn man zu hoch pokert und
zu lange wartet. Dann ruft vielleicht jemand anders STOP und man
muss den kleineren Haufen nehmen, der uebrig bleibt. Dann ist man
aber selbst Schuld, weil man zu gierig war.


Phobos

-----------------------------------------------------------------------------



Re: Re: Beuteteilung (Bran, 31. Aug 2004, 21:54:29):
~#! rn=Phobos rt=1093982019 rg=puiz
~#! tid=1093980836
Was ist, wenn mehrere zugleich Stop rufen?

-----------------------------------------------------------------------------



Re^3: Beuteteilung (Boing, 31. Aug 2004, 21:55:45):
~#! rn=Bran rt=1093982069 rg=puiz
~#! tid=1093980836
Und was ist, wenn andere auch noch raetseln wollen?
  Boing

-----------------------------------------------------------------------------



Re^3: Beuteteilung (Nibel, 31. Aug 2004, 21:55:53):
~#! rn=Bran rt=1093982069 rg=puiz
~#! tid=1093980836
Die Frage ist sowieso fuer die Katz'. Beute wird nicht geteilt, die kriegt
wer als letzter ueberlebt.
  - Nibel
-----------------------------------------------------------------------------



Re^3: Beuteteilung (Karima, 31. Aug 2004, 21:56:19):
~#! rn=Bran rt=1093982069 rg=puiz
~#! tid=1093980836
ich wuerde vorschlagen:

Person A teilt den Haufen in 3 Teile
Person B und C suchen jeweils einen Haufen aus.
Diese beiden Haufen werden nochmal gemischt.
Person B teilt diesen neuen Haufen in 2 Teile nach seinem Ermessen.
Person C nimmt den Anteil, den er will.
Person B bekommt den Rest des zweiten Haufens
Person A bekommt den Rest des allesersten Haufens.

-----------------------------------------------------------------------------



Re^4: Beuteteilung (Phobos, 31. Aug 2004, 21:56:47):
~#! rn=Boing rt=1093982145 rg=puiz
~#! tid=1093980836
Wie gesagt, mein Loesungsvorschlag wurde abgelehnt :)

Phobos

-----------------------------------------------------------------------------



Re^4: Beuteteilung (Bran, 31. Aug 2004, 21:57:33):
~#! rn=Karima rt=1093982179 rg=puiz
~#! tid=1093980836
Und wenn B und C denselben Haufen wollen?

-----------------------------------------------------------------------------



Re^5: Beuteteilung (Foobar, 31. Aug 2004, 21:57:43):
~#! rn=Phobos rt=1093982207 rg=puiz
~#! tid=1093980836
Eine Person wird erschossen und man waehlt das Verfahren fuer zwei Personen.

-----------------------------------------------------------------------------



Re^6: Beuteteilung (Karima, 31. Aug 2004, 21:58:09):
~#! rn=Foobar rt=1093982263 rg=puiz
~#! tid=1093980836
Das ist egal, wenn B und C denselben Haufen wollen. 
Wenn beide ihn wollen, kommt er ja auf jedenfall in den zweiten Haufen....

-----------------------------------------------------------------------------



Re^6: Beuteteilung (Phobos, 31. Aug 2004, 21:59:13):
~#! rn=Foobar rt=1093982263 rg=puiz
~#! tid=1093980836
Am besten, sie machen ein Truell (The Good, the Bad, the Ugly), das ist
spannender

-----------------------------------------------------------------------------



Re^7: Beuteteilung (Gloinson, 31. Aug 2004, 21:59:47):
~#! rn=Phobos rt=1093982353 rg=puiz
~#! tid=1093980836
20 Quatlos auf Boing.


-----------------------------------------------------------------------------



Kennt jemand dieses Bild? (Phobos, 20. Okt 2004, 22:29:07):
Hat hier jemand eine Idee, woher das folgende Bild stammt,
bzw. was es damit auf sich haben koennte?

http://antica.bestweb.net/file/unknown.jpg

Die Webseite beschaeftigt sich mit "Challenges" aus dem
Bereich Programmierung, Verschluesselung und anderen
Computer-Themen. Gesucht ist jeweils ein Passwort.

An der JPEG-Datei ist erstmal nichts Ungewoehnliches zu 
entdecken (versteckte Daten in den Tags, schwarze Schrift im 
schwarzen Bereich, oder sowas) und irgendwie erinnert mich das 
Bild an das Cover eines Computerspiels, aber mir faellt der 
dazu passende Titel nicht mehr ein, was die Suche etwas 
erschwert.

Die Beschreibung zu diesem Challenge lautet:

Unknown Level 1:
In this one, i won't tell you what to do, that's why it may 
sadly stop most of you ... HERE is a little gift :)

wobei das HERE ein Link auf das oben angegebene Bild ist.

Phobos - sadly stopped

-----------------------------------------------------------------------------



Re: Kennt jemand dieses Bild? (Muadib, 20. Okt 2004, 22:30:15):
~#! rn=Phobos rt=1098304147 rg=puiz
~#! tid=1098304147
ach das ist simple
ein tipp: security by publicity

-----------------------------------------------------------------------------



Re: Re: Kennt jemand dieses Bild? (Zook, 20. Okt 2004, 22:31:43):
~#! rn=Muadib rt=1098304215 rg=puiz
~#! tid=1098304147
Spoiler-Torf-Nase!

Zook.

-----------------------------------------------------------------------------



Re^3: Kennt jemand dieses Bild? (Phobos, 20. Okt 2004, 22:35:11):
~#! rn=Zook rt=1098304303 rg=puiz
~#! tid=1098304147
Mist, ein Puiz, wo die Teilnehmer mehr wissen als der Fragensteller,
ist doof :)

Phobos

-----------------------------------------------------------------------------



Re: Kennt jemand dieses Bild? (Muadib, 21. Okt 2004, 16:38:26):
~#! rn=Phobos rt=1098304147 rg=puiz
~#! tid=1098304147
du koenntest aber auch mal die verweisende seite angeben

-----------------------------------------------------------------------------



Re: Re: Kennt jemand dieses Bild? (Croft, 21. Okt 2004, 16:41:48):
~#! rn=Muadib rt=1098369506 rg=puiz
~#! tid=1098304147
http://antica.bestweb.net/ wuerd ich vermuten...

Croft

-----------------------------------------------------------------------------



Re^3: Kennt jemand dieses Bild? (Phobos, 21. Okt 2004, 18:28:21):
~#! rn=Croft rt=1098369708 rg=puiz
~#! tid=1098304147
Jo, die Startseite ist  http://antica.bestweb.net

Verweisende Seite:
http://antica.bestweb.net/index.pl?section=challenges&challenge=unk1

aber dafuer muss man sich vermutlich anmelden.


Phobos

-----------------------------------------------------------------------------



Raetselkalender (Gloinson, 30. Nov 2004, 15:44:47):
https://fzt86advent.mi.fu-berlin.de/kalender.php


-----------------------------------------------------------------------------



Re: Raetselkalender (Phobos,  1. Dez 2004, 20:16:09):
~#! rn=Gloinson rt=1101825887 rg=puiz
~#! tid=1101825887
Ah, das ist doch mal ein origineller Azwenzkalender .. nicht einfach nur
ein schnoedes Stueck Schokolade :)

Aber wer macht denn freiwillig jeden Tag eine Matheklausur? Und dann nur 
zwei Stunden Zeit fuer eine optimale Loesung .. wenn man puenktlich um 
18:00 Uhr anfaengt .. und Preise kann ich auch nicht gewinnen *jammer*


Phobos

-----------------------------------------------------------------------------



Re: Re: Raetselkalender (Phobos,  1. Dez 2004, 20:32:31):
~#! rn=Phobos rt=1101928569 rg=puiz
~#! tid=1101825887
ach, war doch einfach .. hab 1193.2575 raus und werde gleich mal
die VW-Aktien abstossen .. warum war ich nur so bloed, davon auch
noch welche nachzukaufen?

Phobos

-----------------------------------------------------------------------------



Re^3: Raetselkalender (Catweazle,  2. Dez 2004, 08:16:23):
~#! rn=Phobos rt=1101929551 rg=puiz
~#! tid=1101825887
Wie so haeufig finde ich die Fragestellung nicht eindeutig :) 838 koennte auch
richtig sein :)

YTC

-----------------------------------------------------------------------------



Re^4: Raetselkalender (Phobos,  2. Dez 2004, 19:57:31):
~#! rn=Catweazle rt=1101971783 rg=puiz
~#! tid=1101825887
Wie kommst Du auf 838? Also 1116 hatte ich im allerersten Versuch
geschafft, aber da hatte ich auch nur etwa 20% der verfuegbaren
Informationen verwendet.

Die heutige Aufgabe ist auch nett, aber da faellt mir nur eine 
logische Erklaerung zu ein (eine Computersimulation sollte es auch 
tun), wie bekommt man das denn mit Mathematik 10. Klasse geloest?


Phobos

-----------------------------------------------------------------------------



Informationsaustausch (Phobos, 17. Jan 2005, 09:22:10):
Ich verrate 32 Leuten jeweils eine unterschiedliche Geheimzahl. Anschliessend
sollen sie untereinander Informationen austauschen, bis jeder der 32 Leute
alle 32 Geheimzahlen kennt. Die einzig erlaubte Moeglichkeit, Informationen
auszutauschen, sind Telefonkonferenzen mit genau drei Teilnehmern. Dabei
koennen sich die Beteiligten gegenseitig alle Geheimzahlen verraten, die sie
bisher kennen.

Wieviele Telefonkonferenzen sind mindestens erforderlich, bis alle 32 Leute
jeweils alle 32 Geheimzahlen kennen?


Phobos

-----------------------------------------------------------------------------



Re: Informationsaustausch (Phobos, 19. Jan 2005, 19:12:22):
~#! rn=Phobos rt=1105950130 rg=puiz
~#! tid=1105950130
Das Problem ist in seiner allgemeinen Form recht interessant: Wie kann man 
moeglichst effizient Informationen untereinander austauschen?

Das Problem ist als "Gossip Problem" bekannt und eine allgemeine Formel
wurde von Kleitman/Shearer gefunden:

n = Anzahl Informationen (= Anzahl verschiedene Personen)
k = Anzahl Teilnehmer an einer Telefonkonferenz

Fall 1:  1 <= n <= k^2:

   f(n,k) = rounded_up( (n-k)/(k-1) ) + rounded_up( n/k )

Fall 2:  n > k^2:

   f(n,k) = 2 * rounded_up( (n-k)/(k-1) )


In unserem Beispiel also f(32,3) = 2 * rounded_up(29/2) = 30


Sowohl Mandragon als auch ich haben bisher eine Loesung mit 31 Konferenzen
gefunden, Montanus hat eine Loesung fuer f(32,4)=20 gefunden. 

Gesucht wird immer noch eine Strategie, mit der man auf f(32,3)=30 kommt.


Phobos

-----------------------------------------------------------------------------



Re: Re: Informationsaustausch (Phobos, 19. Jan 2005, 19:14:12):
~#! rn=Phobos rt=1106158342 rg=puiz
~#! tid=1105950130
Loesung mit 31 Zuegen:

(1,2,3), (1,4,5), (1,6,7), ... , (1,30,31), (1,32,egal)     16 Zuege
(1,2,3), (1,4,5), ... , (1,30,31)                           15 Zuege

Nach 16 Zuegen kennt 1 alle Informationen und hat sie an 32 weiter gegeben.
In weiteren 15 Zuegen spricht 1 erneut mit allen Personen (ausser 32) und 
gibt ihnen die restlichen Informationen weiter.


---------------------------------------------------------------------------

Ein interessanter Fall ist z.B. f(18,3)=16. Hier laesst sich grafisch eine 
Loesung finden:

 .  6  8 10  .  .         a  .  .  .  a  c         a  .  8  .  a  .
 .  .  9 11 13  .         b  d  .  .  .  d         .  .  .  .  .  .
 .  .  . 12 14 16         a  c  a  .  .  .         a  .  a  . 14  .
 1  .  .  . 15 17         .  d  b  d  .  .         .  .  .  .  .  .
 2  4  .  .  . 18         .  .  a  c  a  .         2  .  a  .  a  .
 3  5  7  .  .  .         .  .  .  d  b  d         .  .  .  .  .  .

Schritt 1 (6 Zuege):   (1,2,3), (4,5,6), ... , (16,17,18)
  Jetzt kennt in jeder senkrechten Gruppe jeder alle Informationen aus 
  dieser Gruppe.

Schritt 2 (4 Zuege):    a=(2,8,14), b=(3,9,15), c=(4,10,16), d=(5,11,17)
  Jetzt kennen die Teilnehmer jeder waagerechten Gruppe insgesamt alle
  Informationen, haben sie aber noch nicht untereinander ausgetauscht.

  Beispiel:  erste waagerechte Gruppe (Teilnehmer 6,8,10):
    8 kennt (1,2,3)    aus Schritt 2 von Teilnehmer  2 wegen a=(2,8,14)
    6 kennt (4,5,6)    aus Schritt 1
    8 kennt (7,8,9)    aus Schritt 1
   10 kennt (10,11,12) aus Schritt 1
    8 kennt (13,14,15) aus Schritt 2 von Teilnehmer 14 wegen a=(2,8,14)
   10 kennt (16,17,18) aus Schritt 2 von Teilnehmer 16 wegen c=(4,10,16)

Schritt 3 (6 Zuege):   (6,8,10), (9,11,13), ... , (3,5,7)
  Jetzt kennt jeder alle Informationen, da sich die Teilnehmer in jeder
  waagerechten Gruppe untereinander alles erzaehlt haben.

Phobos

-----------------------------------------------------------------------------



Re^3: Informationsaustausch (Montanus, 20. Jan 2005, 23:19:18):
~#! rn=Phobos rt=1106158452 rg=puiz
~#! tid=1105950130
Okee, hier die Loesung fuer 30. War analog meiner Loeesung fuer 32,4... aber
wer das nicht nachrechnen will, hier die Kurzfassung:
Runde 1
1 telefoniert mit 2 und 3, 4 mit 5 und 6 bis 28 mit 29 und 30.
Das sidn 10 Konferenzen, jeder kennt 3 Nummern.
In Runde 2 telefnoiert 1 mit 31 und 32, 4 mit 7 und 10, 13 mit 16 und 19 und
22 mit 25 und 28.
Die ersten 3 kennen jetzt 5 Nummern, die anderen 9 kennen 9 Nummern.
In Runde 3 telefonieren 4, 13 und 22 und kennen jetzt je 27 Nummern.
Dann telefoniert jeder dieser Drei-Tupels mit jemand des Drei-Tupels
(1/31/32), die die restlichen 5 Nummern wissen, und einem beliebigen Dritten.
Das waren wieder 4 Telefonate, und jetzt kennen 9 Leute alle 32 Nummern.
Fuer die restlichen 23 Leute braucht man noch 12 Konferenzen.
10+4+4+12= 30.
Was hab ich jetzt gewonnen? Den Mud-Nobelpreis als mathemagier? ;-)

-----------------------------------------------------------------------------



Re^4: Informationsaustausch (Maharet, 20. Jan 2005, 23:19:48):
~#! rn=Montanus rt=1106259558 rg=puiz
~#! tid=1105950130
Den Erklaerbaeren der Woche?

-----------------------------------------------------------------------------



Re^5: Informationsaustausch (Montanus, 20. Jan 2005, 23:20:30):
~#! rn=Maharet rt=1106259588 rg=puiz
~#! tid=1105950130
Nee, dafuer war ich in der falschen Rubrik.

-----------------------------------------------------------------------------



Drei Uhren (Phobos, 29. Jan 2005, 11:52:11):
Versucht mal, die folgende Aufgabe ohne Computer und Taschenrechner zu
loesen:

Auf dem Minutenzeiger einer grossen Uhr ist eine kleinere Uhr angebracht.
Auf dem Minutenzeiger der kleineren Uhr ist eine winzige Uhr angebracht.
Um Mitternacht zeigen die Stunden- und Minutenzeiger der drei Uhren in
dieselbe Richtung. Alle drei Uhren zeigen immer die korrekte Uhrzeit an.

Wie gross ist der Winkel zwischen den Stundenzeigern der grossen und der
winzigen Uhr um genau 19:43 Uhr? 

Man stelle sich die Stundenzeiger der grossen und der winzigen Uhr als
Geraden vor, die sich in einem Punkt schneiden. Gesucht ist der kleinere
Winkel zwischen den Geraden, d.h. ein Wert zwischen 0 und 90 Grad.


Phobos

-----------------------------------------------------------------------------



Re: Drei Uhren (Phobos, 29. Jan 2005, 12:13:02):
~#! rn=Phobos rt=1106995931 rg=puiz
~#! tid=1106995931
Und die erste richtige Antwort kam von Bielefeld

Phobos

-----------------------------------------------------------------------------



Welcher Film ist das? (Fragen) (Phobos,  3. Feb 2005, 21:56:47):
Zu welchen bekannten Filmen (teils aelter, teils neuer) gehoeren die
folgenden Kurzbeschreibungen?


1. Eine Gruppe Kinder spielt mit aussernatuerlichen Kraeften, um einem 
   notorischen Serienmoerder zu helfen, dem Gesetz zu entgehen.

2. Ein junges Maedchen kommt in einem entfernten Land an, worauf ein 
   Einwohner getoetet wird. Bald darauf schliesst sie sich mit drei 
   anderen zusammen, um erneut zu toeten. 

3. Die Karte einer streng geheimen Militaerbasis faellt in die Haende 
   einer Gruppe Anarchisten, die versessen auf die Zerstoerung der Basis 
   sind.

4. Ein amerikanischer Wissenschaftler geht auf eine geheime Mission, um 
   eine Super-Waffe aus dem Mittleren Osten zu stehlen. 

5. Ein Waise in einer Kleinstadt verliebt sich in eine Frau, die eines
   Nachts an seine Tuer klopft.


Postet doch bitte noch weitere Kurzbeschreibungen zu anderen Filmen in
diesen Thread (mit fortlaufender Nummer, also 6. usw.). ANTWORTEN bitte 
in einen Extra-Thread posten, damit das nicht durcheinander geht.


Phobos

-----------------------------------------------------------------------------



Welcher Film ist das? (Antworten) (Phobos,  3. Feb 2005, 21:57:17):
In diesen Thread bitte nur die Antworten posten. Wer die Antworten
nicht ausversehen lesen will, sollte diesen Thread jetzt ignorieren.

Phobos

-----------------------------------------------------------------------------



Re: Welcher Film ist das? (Antworten) (Vincent,  4. Feb 2005, 11:28:13):
~#! rn=Phobos rt=1107464237 rg=puiz
~#! tid=1107464237
Ich geb mal einen Tipp fuer Nr 4 ab:
Firefox (bin mir aber nicht mehr sicher, ob der Hauptdarsteller - gespielt
von C. Eastwood - tatsaechlich ein Wissenschaftler war)

   Vincent

-----------------------------------------------------------------------------



Re: Welcher Film ist das? (Antworten) (Morgoth,  4. Feb 2005, 11:44:59):
~#! rn=Phobos rt=1107464237 rg=puiz
~#! tid=1107464237
Nr.3 ist doch wohl eindeutig: Star Wars Episode 4

M*

-----------------------------------------------------------------------------



Re: Re: Welcher Film ist das? (Antworten) (Anthea,  4. Feb 2005, 11:56:40):
~#! rn=Morgoth rt=1107513899 rg=puiz
~#! tid=1107464237
Und 2. muss der Wizard of Oz sein.

-----------------------------------------------------------------------------



Re^3: Welcher Film ist das? (Antworten) (Morgoth,  4. Feb 2005, 12:11:20):
~#! rn=Anthea rt=1107514600 rg=puiz
~#! tid=1107464237
Nr.1 ist laut Aussage eines Kollegen: Harry Potter 3

ich hab den noch nicht gesehen, kann das also nicht bestaetigen

M*

-----------------------------------------------------------------------------



Re^4: Welcher Film ist das? (Antworten) (Gloinson,  4. Feb 2005, 13:18:12):
~#! rn=Morgoth rt=1107515480 rg=puiz
~#! tid=1107464237
Neee, Serienmoerder passt nicht ganz. Sirius Black wird als Massen- aber nicht
als Serienmoerder diffamiert.


-----------------------------------------------------------------------------



Re: Welcher Film ist das? (Fragen) (Bran,  4. Feb 2005, 14:04:48):
~#! rn=Phobos rt=1107464207 rg=puiz
~#! tid=1107464207
Ok, ich leg mal ein paar nach.

7. Ein Mann versucht, hinter das Geheimnis eines anderen Mannes zu kommen -
vergeblich, da sowohl er als auch seine Informanten einen unscheinbaren
Gegenstand uebersehen.

8. Ein Mann erwartet einige alte Bekannte. Seine Frau ist gegen dieses
Treffen, und die Ehe droht daran zu zerbrechen.

9. Der Titelheld, Opfer einer Entfuehrung, sucht in den Strassen einer
Grossstadt nach seiner verlorenen Liebe und kaempft zugleich um sein Leben und
seine Freiheit.

- Und hier noch drei ganz einfache - fallen jemand noch weitere Varianten ein?

10. Ein junger Mann von vornehmer Herkunft geht auf der Flucht vor
Machtkaempfen und in den Untergrund und wird zum Messias erklaert.

11. Ein junger Mann von nicht sehr vornehmer Herkunft geht aus Liebe in den
Untergrund und wird zum Messias erklaert.

12. Ein junger Mann von unbekannter Herkunft geht aus Neugier in den
Untergrund und wird zum Messias erklaert.

-----------------------------------------------------------------------------



Re^5: Welcher Film ist das? (Antworten) (Vincent,  4. Feb 2005, 14:07:52):
~#! rn=Gloinson rt=1107519492 rg=puiz
~#! tid=1107464237
Bei 10 tippe ich auf "Dune" und 11 koennte evt. "Matrix" sein.

   Vincent

-----------------------------------------------------------------------------



Re^6: Welcher Film ist das? (Antworten) (Gloinson,  4. Feb 2005, 14:09:58):
~#! rn=Vincent rt=1107522472 rg=puiz
~#! tid=1107464237
11 ist eher Star Wars I (IV).

Wobei Messias ... Matrix waere 12.


-----------------------------------------------------------------------------



Re: Re: Welcher Film ist das? (Fragen) (Grimmborn,  4. Feb 2005, 14:15:44):
~#! rn=Bran rt=1107522288 rg=puiz
~#! tid=1107464207
Hier noch welche fuer Erfolgserlebnisse:

13. Zwei Maenner sammeln ihre alten Musikerkollegen zusammen, um die Steuer
fuer ein Kinderheim bezahlen zu koennen.

14. Eine Nebenrolle spielt ein Lokal, in dem es sowohl Country- als auch
Westernmusik gibt.

15. Die zwei Hauptpersonen tragen schwarze Anzuege, es kommen aber keine
Aliens vor.

16. Am Ende treten Jake und Elwood vor dem groessten Publikum ihrer Karriere
auf. Mit Verspaetung.

17. Mithilfe seines Bruders entkommt ein Mann nach seiner Entlassung aus dem
Gefaengnis der Polizei und organisiert ein Wiedersehen mit alten Freunden.

Viel Spass beim Raetseln!

Grimmborn der Atheist

-----------------------------------------------------------------------------



Re^7: Welcher Film ist das? (Antworten) (Bran,  4. Feb 2005, 14:15:52):
~#! rn=Gloinson rt=1107522598 rg=puiz
~#! tid=1107464237
Vincent hat mit 10 recht und Gloinson mit 12. 11 hat noch keiner. Wird Luke
fuer den Messias gehalten? - hm...


-----------------------------------------------------------------------------



Re^8: Welcher Film ist das? (Antworten) (Boing,  4. Feb 2005, 14:36:01):
~#! rn=Bran rt=1107522952 rg=puiz
~#! tid=1107464237
Ich glaube 13 bis 17 kenne ich alle, ich hab aber keinen davon jemals
komplett ertragen koennen. :)
  Boing

-----------------------------------------------------------------------------



Re^9: Welcher Film ist das? (Antworten) (Gloinson,  4. Feb 2005, 14:38:01):
~#! rn=Boing rt=1107524161 rg=puiz
~#! tid=1107464237
Ich fand den Nachfolger sehr gut. Die richtigen Schauspieler ...


-----------------------------------------------------------------------------



Re^10: Welcher Film ist das? (Antworten) (Phobos,  4. Feb 2005, 19:57:45):
~#! rn=Gloinson rt=1107524281 rg=puiz
~#! tid=1107464237
Zwischenstand zu 1-5:

1 bis 3 sind richtig erraten, bei 4 habe ich was anderes im Sinn

Phobos

-----------------------------------------------------------------------------



Re^11: Welcher Film ist das? (Antworten) (Phobos,  4. Feb 2005, 20:38:46):
~#! rn=Phobos rt=1107543465 rg=puiz
~#! tid=1107464237
9. King Kong?

Phobos

-----------------------------------------------------------------------------



Re^12: Welcher Film ist das? (Antworten) (Phobos,  4. Feb 2005, 20:41:59):
~#! rn=Phobos rt=1107545926 rg=puiz
~#! tid=1107464237
11. Leben des Brian

Phobos

-----------------------------------------------------------------------------



Re^8: Welcher Film ist das? (Antworten) (Muadib,  4. Feb 2005, 23:04:11):
~#! rn=Bran rt=1107522952 rg=puiz
~#! tid=1107464237
13 ist wohl eindeutig blues brothers

-----------------------------------------------------------------------------



Re^9: Welcher Film ist das? (Antworten) (Phobos,  4. Feb 2005, 23:10:35):
~#! rn=Muadib rt=1107554651 rg=puiz
~#! tid=1107464237
14 ist wohl eindeutig blues brothers

-----------------------------------------------------------------------------



Re^10: Welcher Film ist das? (Antworten) (Muadib,  4. Feb 2005, 23:11:05):
~#! rn=Phobos rt=1107555035 rg=puiz
~#! tid=1107464237
wollen wir das spiel bis 17 weitertreiben?

-----------------------------------------------------------------------------



Re: Re: Welcher Film ist das? (Fragen) (Muadib,  4. Feb 2005, 23:15:07):
~#! rn=Bran rt=1107522288 rg=puiz
~#! tid=1107464207
na wenn hier jeder darf:

18. Ein Mann hat PingPongbaelle im Mund.

19. Ein Mann wirft ein Waschbecken.

20. Ein Mann kommt mit vollen Haenden vom Berg.

-----------------------------------------------------------------------------



Re^11: Welcher Film ist das? (Antworten) (Phobos,  4. Feb 2005, 23:16:59):
~#! rn=Muadib rt=1107555065 rg=puiz
~#! tid=1107464237
20. The ten commandments

-----------------------------------------------------------------------------



Re^12: Welcher Film ist das? (Antworten) (Muadib,  4. Feb 2005, 23:17:21):
~#! rn=Phobos rt=1107555419 rg=puiz
~#! tid=1107464237
bleiben 18 und 19

-----------------------------------------------------------------------------



Re^3: Welcher Film ist das? (Fragen) (Phobos,  4. Feb 2005, 23:18:57):
~#! rn=Muadib rt=1107555307 rg=puiz
~#! tid=1107464207
21. Es regnet.

-----------------------------------------------------------------------------



Re^4: Welcher Film ist das? (Fragen) (Muadib,  4. Feb 2005, 23:20:53):
~#! rn=Phobos rt=1107555537 rg=puiz
~#! tid=1107464207
waynes world

-----------------------------------------------------------------------------



Re^13: Welcher Film ist das? (Antworten) (Gloinson,  4. Feb 2005, 23:21:21):
~#! rn=Muadib rt=1107555441 rg=puiz
~#! tid=1107464237
21. Blade Runner.


-----------------------------------------------------------------------------



Re^14: Welcher Film ist das? (Antworten) (Bran,  4. Feb 2005, 23:22:23):
~#! rn=Gloinson rt=1107555681 rg=puiz
~#! tid=1107464237
22. Es will einfach nicht regnen.


-----------------------------------------------------------------------------



Re^14: Welcher Film ist das? (Antworten) (Phobos,  4. Feb 2005, 23:23:15):
~#! rn=Gloinson rt=1107555681 rg=puiz
~#! tid=1107464237
Gloison hats erraten :)

-----------------------------------------------------------------------------



Re^5: Welcher Film ist das? (Fragen) (Anatol,  4. Feb 2005, 23:26:50):
~#! rn=Muadib rt=1107555653 rg=puiz
~#! tid=1107464207
22. Strunz! spielt eine hoehere Gewalt.


-----------------------------------------------------------------------------



Re^15: Welcher Film ist das? (Antworten) (Phobos,  4. Feb 2005, 23:29:42):
~#! rn=Phobos rt=1107555795 rg=puiz
~#! tid=1107464237
18. Der Pate?

-----------------------------------------------------------------------------



Re^16: Welcher Film ist das? (Antworten) (Medic,  4. Feb 2005, 23:31:30):
~#! rn=Phobos rt=1107556182 rg=puiz
~#! tid=1107464237
19. Einer flog uebers Kuckucksnest?

-----------------------------------------------------------------------------



Re^16: Welcher Film ist das? (Antworten) (Bran,  4. Feb 2005, 23:31:50):
~#! rn=Phobos rt=1107556182 rg=puiz
~#! tid=1107464237
19. Einer flog ueber das Kuckucksnest?


-----------------------------------------------------------------------------



Re^17: Welcher Film ist das? (Antworten) (Bran,  4. Feb 2005, 23:32:28):
~#! rn=Bran rt=1107556310 rg=puiz
~#! tid=1107464237
Args! Spricht aber dafuer, dass es stimmt :)


-----------------------------------------------------------------------------



Re: Re: Welcher Film ist das? (Fragen) (Bran,  4. Feb 2005, 23:33:56):
~#! rn=Bran rt=1107522288 rg=puiz
~#! tid=1107464207
Ich geb mal nen Tip: 7-9 sind S-W-Film-Klassiker. 9 hat Phobos schon raus.


-----------------------------------------------------------------------------



Re^3: Welcher Film ist das? (Fragen) (Darklor,  4. Feb 2005, 23:41:46):
~#! rn=Bran rt=1107556436 rg=puiz
~#! tid=1107464207
Koennte man daraus nich ein Mud-spiel machen? ;)

Darklor

-----------------------------------------------------------------------------



Re^4: Welcher Film ist das? (Fragen) (Bran,  4. Feb 2005, 23:42:06):
~#! rn=Darklor rt=1107556906 rg=puiz
~#! tid=1107464207
Tun wir doch gerade? :)


-----------------------------------------------------------------------------



Re^18: Welcher Film ist das? (Antworten) (Phobos,  5. Feb 2005, 00:06:35):
~#! rn=Bran rt=1107556348 rg=puiz
~#! tid=1107464237
8. High Noon

-----------------------------------------------------------------------------



Re^19: Welcher Film ist das? (Antworten) (Bran,  5. Feb 2005, 00:07:01):
~#! rn=Phobos rt=1107558395 rg=puiz
~#! tid=1107464237
Yessir :)


-----------------------------------------------------------------------------



Re^20: Welcher Film ist das? (Antworten) (Bran,  5. Feb 2005, 00:14:52):
~#! rn=Bran rt=1107558421 rg=puiz
~#! tid=1107464237
4. Raiders of the lost Ark?


-----------------------------------------------------------------------------



Re^21: Welcher Film ist das? (Antworten) (Phobos,  5. Feb 2005, 00:15:56):
~#! rn=Bran rt=1107558892 rg=puiz
~#! tid=1107464237
jo, 4 stimmt

-----------------------------------------------------------------------------



Re: Welcher Film ist das? (Fragen) (Vincent,  6. Feb 2005, 16:28:41):
~#! rn=Phobos rt=1107464207 rg=puiz
~#! tid=1107464207
Gibst Du uns einen Tipp fuer Nr. 4, Phobos? Das waer nett. :)

Gruss
Vincent

-----------------------------------------------------------------------------



Re: Re: Welcher Film ist das? (Fragen) (Anatol,  6. Feb 2005, 16:41:53):
~#! rn=Vincent rt=1107703721 rg=puiz
~#! tid=1107464207
Zu 22. ein Tip: Es ist kein aktueller Film. ;)


-----------------------------------------------------------------------------



Re^3: Welcher Film ist das? (Fragen) (Bran,  6. Feb 2005, 17:59:49):
~#! rn=Anatol rt=1107704513 rg=puiz
~#! tid=1107464207
Soweit schon mal richtig. :)


-----------------------------------------------------------------------------



Re^22: Welcher Film ist das? (Antworten) (Bran,  6. Feb 2005, 20:27:07):
~#! rn=Phobos rt=1107558956 rg=puiz
~#! tid=1107464237
5. Vincent und ich tippen nach eingehender Beratung auf die Truman-Show.


-----------------------------------------------------------------------------



Re: Re: Welcher Film ist das? (Fragen) (Phobos,  7. Feb 2005, 00:56:55):
~#! rn=Vincent rt=1107703721 rg=puiz
~#! tid=1107464207
Hmm, ich bin mir nicht ganz sicher, ob die Kurzbeschreibung zu 5. in
allen Details stimmt (ich hab den Film schon jahrelang nicht mehr 
gesehen), daher hier ein neuer Formulierungsversuch:

5'. Ein Waise ist dabei, sich in eine Frau zu verlieben, die eines 
Nachts vor seiner Tuer auftaucht. Aus Eifersucht wird die Bezehung
jedoch beendet, bevor sie ueberhaupt richtig begonnen hat.

Phobos

-----------------------------------------------------------------------------



Re^23: Welcher Film ist das? (Antworten) (Vincent,  7. Feb 2005, 01:47:34):
~#! rn=Bran rt=1107718027 rg=puiz
~#! tid=1107464237
Okay. Dann tippe ich bei 5 auf "Die Frau in rot".

   Vincent

-----------------------------------------------------------------------------



Re^24: Welcher Film ist das? (Antworten) (Phobos,  7. Feb 2005, 18:55:07):
~#! rn=Vincent rt=1107737254 rg=puiz
~#! tid=1107464237
Hmm, kann gar nicht sein, der Film ist nur schwarz-weiss.

Phobos

-----------------------------------------------------------------------------



Re^25: Welcher Film ist das? (Antworten) (Bran,  7. Feb 2005, 18:58:31):
~#! rn=Phobos rt=1107798907 rg=puiz
~#! tid=1107464237
Der Groschen ist gefallen - 5.: Psycho - weia, wieso kamen wir da nicht drauf?
:)


-----------------------------------------------------------------------------



Re^3: Welcher Film ist das? (Fragen) (Anatol,  7. Feb 2005, 19:09:54):
~#! rn=Phobos rt=1107734215 rg=puiz
~#! tid=1107464207
Auf meine 22. mag keiner kommen *schnueff*


-----------------------------------------------------------------------------



Re^4: Welcher Film ist das? (Fragen) (Phobos,  7. Feb 2005, 19:18:48):
~#! rn=Anatol rt=1107799794 rg=puiz
~#! tid=1107464207
Hmm, mit 22. kann ich nichts anfangen (zu neu?), aber

7. Citizen Kane

Phobos

-----------------------------------------------------------------------------



Re^5: Welcher Film ist das? (Fragen) (Bran,  7. Feb 2005, 19:19:46):
~#! rn=Phobos rt=1107800328 rg=puiz
~#! tid=1107464207
Yeah! :)



-----------------------------------------------------------------------------



Re^6: Welcher Film ist das? (Fragen) (Anatol,  7. Feb 2005, 19:23:36):
~#! rn=Bran rt=1107800386 rg=puiz
~#! tid=1107464207
Zur Wiederholung:

22. Strunz! spielt eine hoehere Gewalt.

Bisher gegebene Tips:

o Die "Hinweise" beziehen sich mehr auf den Inhalt als auf den Titel,
  sind aber zum Teil auch im Titel zu finden. ;)

o Der alphanumerisch schwer erfassbare Hauptdarsteller ist vor etwa
  zwei Jahren gestorben.

o Der Streifen ist nicht neueren Datums (ach). :)

Anatol hilflos ;)


-----------------------------------------------------------------------------



Re^5: Welcher Film ist das? (Fragen) (Phobos,  7. Feb 2005, 19:31:58):
~#! rn=Phobos rt=1107800328 rg=puiz
~#! tid=1107464207
Okay, nach den Zusatztipps:

22. Die Goetter muessen verrueckt sein

Phobos

-----------------------------------------------------------------------------



Re^6: Welcher Film ist das? (Fragen) (Anatol,  7. Feb 2005, 19:32:30):
~#! rn=Phobos rt=1107801118 rg=puiz
~#! tid=1107464207
Geht doch. :)

-----------------------------------------------------------------------------



Re^7: Welcher Film ist das? (Fragen) (Phobos,  7. Feb 2005, 19:32:54):
~#! rn=Anatol rt=1107801150 rg=puiz
~#! tid=1107464207
Wobei ich den Strunz!-Teil immer noch nicht verstanden habe .. :)

-----------------------------------------------------------------------------



Re^8: Welcher Film ist das? (Fragen) (Anatol,  7. Feb 2005, 19:33:36):
~#! rn=Phobos rt=1107801174 rg=puiz
~#! tid=1107464207
Das kann Dir Vincent sicher erklaeren ;)


-----------------------------------------------------------------------------



Re^9: Welcher Film ist das? (Fragen) (Zook,  7. Feb 2005, 19:34:02):
~#! rn=Anatol rt=1107801216 rg=puiz
~#! tid=1107464207
Zook war kurz davor, einen Erklaerbaeren einzusammeln.

-----------------------------------------------------------------------------



Re^9: Welcher Film ist das? (Fragen) (Maharet,  7. Feb 2005, 19:34:04):
~#! rn=Anatol rt=1107801216 rg=puiz
~#! tid=1107464207
Du nicht?

-----------------------------------------------------------------------------



Re^10: Welcher Film ist das? (Fragen) (Maharet,  7. Feb 2005, 19:37:22):
~#! rn=Zook rt=1107801242 rg=puiz
~#! tid=1107464207
Ich dachte, den gibt es nur fuers Erklaeren von Witzen.
Dass jetzt selbst Fragen nicht mehr beantwortet werden, find ich eine
bedauerliche Entwicklung.

-----------------------------------------------------------------------------



Re^11: Welcher Film ist das? (Fragen) (Zook,  7. Feb 2005, 19:40:02):
~#! rn=Maharet rt=1107801442 rg=puiz
~#! tid=1107464207
Ich habe Phobos schon bilateral auf die Spruenge geholfen. Soll ich das 
mit Dir auch machen?

Zook.

-----------------------------------------------------------------------------



Re^12: Welcher Film ist das? (Fragen) (Maharet,  7. Feb 2005, 19:40:18):
~#! rn=Zook rt=1107801602 rg=puiz
~#! tid=1107464207
ja, bitte

-----------------------------------------------------------------------------



Re^11: Welcher Film ist das? (Fragen) (Anatol,  7. Feb 2005, 19:40:34):
~#! rn=Maharet rt=1107801442 rg=puiz
~#! tid=1107464207
Inhalt von "Die Goetter muessen verrueckt sein" (von 1980) ist
im Groben, dass in der Kalahari-Wueste eine leere Colaflasche
aus einem Flugzeug faellt und von den Ureinwohnern gefnden
wird. Die halten diese Flasche fuer ein Zeichen der Goetter...

"Strunz!" ist der markanteste Teil der beruehmten Trapper-Toni-Rede
und die Hoehere Gewalt... eine hoehere Gewalt eben. ;)

So, nu muss es nicht Zook machen.


-----------------------------------------------------------------------------



Re^12: Welcher Film ist das? (Fragen) (Zook,  7. Feb 2005, 19:41:32):
~#! rn=Anatol rt=1107801634 rg=puiz
~#! tid=1107464207
Ich hatte es auch einfach mit "teile xyz mit Flasche leer" erklaert und 
beide verstanden es sofort. Du bist und bleibst ein Scroller, Anatol... ;)

Zook.

-----------------------------------------------------------------------------



Re^13: Welcher Film ist das? (Fragen) (Anatol,  7. Feb 2005, 19:42:02):
~#! rn=Zook rt=1107801692 rg=puiz
~#! tid=1107464207
Ich hab kalte Finger und muss sie warm schreiben. Tschuldige. ;)


-----------------------------------------------------------------------------



Re^14: Welcher Film ist das? (Fragen) (Phobos,  7. Feb 2005, 19:44:06):
~#! rn=Anatol rt=1107801722 rg=puiz
~#! tid=1107464207
Hmm, dann war das ! von "Strunz!", dass mich auf die richtige Spur
des Hauptdarstellers "N!Xau" gebracht hat, vermutlich foellich
unabsichtlich da hingeraten? :)

Phobos

-----------------------------------------------------------------------------



Re^15: Welcher Film ist das? (Fragen) (Gloinson,  7. Feb 2005, 19:55:55):
~#! rn=Phobos rt=1107801846 rg=puiz
~#! tid=1107464207
Hm. Nehmen wir doch was Albernes:

23. Opium und fruehes Zubettgehen koennen verdammt traurig sein.


-----------------------------------------------------------------------------



Re^16: Welcher Film ist das? (Fragen) (Darklor,  7. Feb 2005, 19:58:59):
~#! rn=Gloinson rt=1107802555 rg=puiz
~#! tid=1107464207
Wills auch mal versuchen...

24. Ein Mann will sein Schiff zurueck.

Darklor

-----------------------------------------------------------------------------



Re^26: Welcher Film ist das? (Antworten) (Gloinson,  7. Feb 2005, 19:59:29):
~#! rn=Bran rt=1107799111 rg=puiz
~#! tid=1107464237
24. Pirates of the Caribean?


-----------------------------------------------------------------------------



Re^27: Welcher Film ist das? (Antworten) (Darklor,  7. Feb 2005, 20:01:01):
~#! rn=Gloinson rt=1107802769 rg=puiz
~#! tid=1107464237
Zu einfach Hmm?

Darklor

-----------------------------------------------------------------------------



Re^17: Welcher Film ist das? (Fragen) (Ogo,  7. Feb 2005, 20:06:35):
~#! rn=Darklor rt=1107802739 rg=puiz
~#! tid=1107464207
reply
25. Ein "Kommissar" isst eine Currywurst.

26. Ein kleines Land, das niemand kennt, wird angegriffen.

27. Ein Mann liebt ein Schaf, Kuerbisse und Frauen. 

-----------------------------------------------------------------------------



Re^28: Welcher Film ist das? (Antworten) (Kiria,  7. Feb 2005, 20:09:55):
~#! rn=Darklor rt=1107802861 rg=puiz
~#! tid=1107464237
26: Whack the dog?

-----------------------------------------------------------------------------



Re^29: Welcher Film ist das? (Antworten) (Gloinson,  7. Feb 2005, 20:15:33):
~#! rn=Kiria rt=1107803395 rg=puiz
~#! tid=1107464237
26. Wag the dog? ;)


-----------------------------------------------------------------------------



Re^30: Welcher Film ist das? (Antworten) (Ogo,  7. Feb 2005, 21:11:27):
~#! rn=Gloinson rt=1107803733 rg=puiz
~#! tid=1107464237
Jap, den Film koennte ich auch mal wieder gucken, aktuell wie nie. :)

-----------------------------------------------------------------------------



Re^18: Welcher Film ist das? (Fragen) (Rochus,  7. Feb 2005, 23:35:38):
~#! rn=Ogo rt=1107803195 rg=puiz
~#! tid=1107464207
28. Ein Mann beendet mit einem Rasenmaeher eine Party.

29. Ein Mann faengt Affen mit einer Rakete.

30. Ein Mann trifft ein Schaf mit einer Rakete.

31. Einige Menschen werden beim Trivial-Pursuit-spielen von einem Politiker
unterbrochen.


-----------------------------------------------------------------------------



Re^31: Welcher Film ist das? (Antworten) (Kiria,  7. Feb 2005, 23:49:46):
~#! rn=Ogo rt=1107807087 rg=puiz
~#! tid=1107464237
28 klingt nach Brain Dead

-----------------------------------------------------------------------------



Re^32: Welcher Film ist das? (Antworten) (Vincent,  7. Feb 2005, 23:59:38):
~#! rn=Kiria rt=1107816586 rg=puiz
~#! tid=1107464237
28 IST Brain Dead. :)

   Vincent

-----------------------------------------------------------------------------



Re^19: Welcher Film ist das? (Fragen) (Vincent,  8. Feb 2005, 00:05:15):
~#! rn=Rochus rt=1107815738 rg=puiz
~#! tid=1107464207
Ich habe so ein bisschen den Eindruck, dass die Fragestellungen fuer das
Filmquiz so ein bisschen ins Scharaden-Milieu abdriften. Als eifriger
Mitrater faend ichs besser, wenn wirklich - so wie in den ersten Fragen,
z.B. von Phobos und Bran - tatsaechlich die Haupthandlung umschrieben wird,
und nikcht nur ein Nebenanspekt der Handlung oder Teile vom Titel. Also
zumindest mir wuerde das dann mehr Spass machen beim Raetseln. :-)

Hoffe ich empfinde das nicht als einziger so...;)

   Vincent

* der es cool findet, dass solch eine Raetselart hier einen solchen Anklang
findet * :)))

-----------------------------------------------------------------------------



Re^33: Welcher Film ist das? (Antworten) (Vincent,  8. Feb 2005, 00:35:23):
~#! rn=Vincent rt=1107817178 rg=puiz
~#! tid=1107464237
Bei 23 tippe ich auf "once upon a time in america" (dt.: Es war einmal in
Amerika).

   Vincent

-----------------------------------------------------------------------------



Re^34: Welcher Film ist das? (Antworten) (Gloinson,  8. Feb 2005, 00:41:33):
~#! rn=Vincent rt=1107819323 rg=puiz
~#! tid=1107464237
Richtich. Um Vincent zu genuegen haette ich vielleicht "Ein Mann geht fort und
stellt beim Wiederkommen fest, dass alles so geblieben ist wie frueher." Aber
das wuerde der Geschichte irgendwie nur teilweise gerecht ;)


-----------------------------------------------------------------------------



Re^35: Welcher Film ist das? (Antworten) (Vincent,  8. Feb 2005, 00:52:57):
~#! rn=Gloinson rt=1107819693 rg=puiz
~#! tid=1107464237
Ich faends halt nur schade, wenn die Fragen in die Richtung tendieren: "Ein
Mann macht was", also wenn es zu allgemein wird, oder wenn man den Film
anhand eines Nebenschaulatzes identifizieren muss.

   Gruss
   Vincent

-----------------------------------------------------------------------------



Re^36: Welcher Film ist das? (Antworten) (Darklor,  8. Feb 2005, 11:41:46):
~#! rn=Vincent rt=1107820377 rg=puiz
~#! tid=1107464237
Dabei kommt es doch auf den Film an - bei einigen Filmen reicht halt "Ein Mann
macht dies oder jenes"

Darklor

-----------------------------------------------------------------------------



Re^37: Welcher Film ist das? (Antworten) (Phobos,  8. Feb 2005, 18:35:49):
~#! rn=Darklor rt=1107859306 rg=puiz
~#! tid=1107464237
Jepp, aber ich stimme Vincent zu. Der Idealfall einer Beschreibung ist:

- Es sollten wesentliche Elemente der Gesamthandlung enthalten sein,
  nicht nur eine Szene (das waere dann ggf. eher ein neuer Thread
  "Aus welchem Film ist das?").
- Die Beschreibung sollte so kurz und allgemein gehalten sein wie
  moeglich, aber gleichzeitig so konkret, dass eigentlich nur ein
  bestimmter Film infrage kommt.
- Der Film sollte allseits bekannt sein (damit man sich aergert, wenn
  man nicht selbst draufkommt, und nicht, weil man den Film gar nicht 
  kennt). Da bieten sich Klassiker natuerlich besonders an, weil die
  jeder schon mindestens ein Dutzend mal gesehen hat.


Phobos

-----------------------------------------------------------------------------



Re^37: Welcher Film ist das? (Antworten) (Foobar,  8. Feb 2005, 18:42:53):
~#! rn=Darklor rt=1107859306 rg=puiz
~#! tid=1107464237
Ein Mann sieht rot.

Na, welcher Film?

-----------------------------------------------------------------------------



Re^38: Welcher Film ist das? (Antworten) (Muadib,  8. Feb 2005, 18:43:51):
~#! rn=Foobar rt=1107884573 rg=puiz
~#! tid=1107464237
roter oktober. die szene in der connery die notbeleuchtung an hat

-----------------------------------------------------------------------------



Re^39: Welcher Film ist das? (Antworten) (Phobos,  8. Feb 2005, 18:45:19):
~#! rn=Muadib rt=1107884631 rg=puiz
~#! tid=1107464237
Das ist irgendein Film mit Terence Hill, der seine Superkraefte
verliert, wenn er was Rotes sieht .. 

-----------------------------------------------------------------------------



Re^40: Welcher Film ist das? (Antworten) (Gloinson,  8. Feb 2005, 18:45:49):
~#! rn=Phobos rt=1107884719 rg=puiz
~#! tid=1107464237
Drei Farben: Rot! ?


-----------------------------------------------------------------------------



Re^41: Welcher Film ist das? (Antworten) (Muadib,  8. Feb 2005, 18:46:33):
~#! rn=Gloinson rt=1107884749 rg=puiz
~#! tid=1107464237
gruene tomaten, gesehen von einem farbenblinden

-----------------------------------------------------------------------------



Re^42: Welcher Film ist das? (Antworten) (Gloinson,  8. Feb 2005, 18:47:21):
~#! rn=Muadib rt=1107884793 rg=puiz
~#! tid=1107464237
Bruce Willis in Die Hard, als er seine Fusssohlen betrachtet?


-----------------------------------------------------------------------------



Re^43: Welcher Film ist das? (Antworten) (Phobos,  8. Feb 2005, 18:51:10):
~#! rn=Gloinson rt=1107884841 rg=puiz
~#! tid=1107464237
Wenns ein Klassiker ist: Dracula

-----------------------------------------------------------------------------



Re^44: Welcher Film ist das? (Antworten) (Gloinson,  8. Feb 2005, 18:51:50):
~#! rn=Phobos rt=1107885070 rg=puiz
~#! tid=1107464237
Ist dieser Film mit dem komischen fiesen Dschinn nicht auch staendig in Rot?
Wishmaster oder so?


-----------------------------------------------------------------------------



Re^44: Welcher Film ist das? (Antworten) (Kiria,  8. Feb 2005, 18:56:58):
~#! rn=Phobos rt=1107885070 rg=puiz
~#! tid=1107464237
Waere zwar dann kein Klassiker, aber der Typ in 'Falling Down' sieht auch
ziemlich rot

-----------------------------------------------------------------------------



Re^45: Welcher Film ist das? (Antworten) (Phobos,  8. Feb 2005, 18:57:56):
~#! rn=Kiria rt=1107885418 rg=puiz
~#! tid=1107464237
Und dann ist da noch dieser Film mit Charles Bronson .. ich komme
gerade nicht auf den Titel :)

-----------------------------------------------------------------------------



Re^46: Welcher Film ist das? (Antworten) (Gloinson,  8. Feb 2005, 18:58:34):
~#! rn=Phobos rt=1107885476 rg=puiz
~#! tid=1107464237
Ja, in dem Sergio Leone-Streifen gibt es auch etliches an Blut.


-----------------------------------------------------------------------------



Re^38: Welcher Film ist das? (Antworten) (Vincent,  8. Feb 2005, 21:00:24):
~#! rn=Foobar rt=1107884573 rg=puiz
~#! tid=1107464237
Da faellt mir mal spontan "Blade" zu ein. :)

   Vincent

-----------------------------------------------------------------------------



Re^20: Welcher Film ist das? (Fragen) (Bran,  9. Feb 2005, 09:47:36):
~#! rn=Vincent rt=1107817515 rg=puiz
~#! tid=1107464207
Ich stimme Vincent und Phobos zu - ich finde es einfach spannender, unter den
vielen Nebenaspekten eines Films den Plot zu erkennen, als mich mehr oder
weniger zufaellig an eine spektakulaere Einzelszene zu erinnern (wobei das
auch witzig sein kann). Allerdings finde ich es allmaehlich auch immer
schwieriger, Filme zu finden, die sich dafuer eignen. Hier nochmal ein paar
Versuche:

32. Der Aussenseiter einer Familie uebernimmt eine Aufgabe, die man ihm nicht
zugetraut haette. Der Erfolg wird ihm zum Verhaengnis.

33. Eine Kleinfamilie muss sich auf die Flucht begeben und erhaelt dabei
unerwartete Hilfe von einem alten Bekannten.

34. Einige Personen lassen sich eine Zeitlang von einer weiteren Person
aushalten, nur um diese dann systematisch zugrunde zu richten, als es
Differenzen gibt.

35. Ein Geschaeftsmann laesst sich zu illegalen Aktivitaeten ueberreden.
Unterstuetzt wird er von einem Mann des Gesetzes, der es ebenfalls mit dem
Gesetz nicht so genau nimmt.

36. Ein kleiner Untergebener erledigt unaufgefordert eine wichtige Aufgabe
fuer seinen Vorgesetzten, um ihm einmal persoenlich begegnen zu koennen.


-----------------------------------------------------------------------------



Re^39: Welcher Film ist das? (Antworten) (Pitfall,  9. Feb 2005, 09:52:18):
~#! rn=Vincent rt=1107892824 rg=puiz
~#! tid=1107464237
32 - 'der Pate'.

-----------------------------------------------------------------------------



Re^40: Welcher Film ist das? (Antworten) (Bran,  9. Feb 2005, 09:52:40):
~#! rn=Pitfall rt=1107939138 rg=puiz
~#! tid=1107464237
Jupp :)


-----------------------------------------------------------------------------



Re^41: Welcher Film ist das? (Antworten) (Pitfall,  9. Feb 2005, 09:54:38):
~#! rn=Bran rt=1107939160 rg=puiz
~#! tid=1107464237
33 - 'Terminator 2'.

-----------------------------------------------------------------------------



Re^42: Welcher Film ist das? (Antworten) (Bran,  9. Feb 2005, 09:54:56):
~#! rn=Pitfall rt=1107939278 rg=puiz
~#! tid=1107464237
Stimmt auch, ist ja viel zu einfach :)


-----------------------------------------------------------------------------



Re^43: Welcher Film ist das? (Antworten) (Vincent,  9. Feb 2005, 17:36:12):
~#! rn=Bran rt=1107939296 rg=puiz
~#! tid=1107464237
36: Hero

?

Vincent

-----------------------------------------------------------------------------



Re^44: Welcher Film ist das? (Antworten) (Bran,  9. Feb 2005, 18:11:13):
~#! rn=Vincent rt=1107966972 rg=puiz
~#! tid=1107464237
Yes :)


-----------------------------------------------------------------------------



Re^21: Welcher Film ist das? (Fragen) (Vincent, 10. Feb 2005, 00:17:15):
~#! rn=Bran rt=1107938856 rg=puiz
~#! tid=1107464207
37. Mehrere Gesetzlose organisieren sich in einer Gruppe, um dem
rechtmaessigen Regierungschef wieder zur Position des Regierungschefs zu
verhelfen, und es in seiner Abwesenheit der Regierung so schwer wie moeglich
zu machen.

-----------------------------------------------------------------------------



Re^22: Welcher Film ist das? (Fragen) (Gloinson, 10. Feb 2005, 00:34:35):
~#! rn=Vincent rt=1107991035 rg=puiz
~#! tid=1107464207
38. Weil man was Tolles entdeckt machen mehrere Leute eine Reise. Bevor
    diese endet sterben bis auf einen alle und der verschwindet.
39. Weil man was Bloedes verhindern will machen mehrere Leute eine Reise.
    Die Reise ist ziemlich langweilig und durch dumme Zufaelle und
    etwas Aufklaerung sterben alle.


-----------------------------------------------------------------------------



Re^45: Welcher Film ist das? (Antworten) (Croft, 10. Feb 2005, 00:36:07):
~#! rn=Bran rt=1107969073 rg=puiz
~#! tid=1107464237
38: 2001

Croft

-----------------------------------------------------------------------------



Re^46: Welcher Film ist das? (Antworten) (Gloinson, 10. Feb 2005, 00:36:31):
~#! rn=Croft rt=1107992167 rg=puiz
~#! tid=1107464237
Der war zu einfach, oder? ;)


-----------------------------------------------------------------------------



Re^47: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 00:51:48):
~#! rn=Gloinson rt=1107992191 rg=puiz
~#! tid=1107464237
39. Planet der Affen
?

   Vincent

-----------------------------------------------------------------------------



Re^48: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 00:52:28):
~#! rn=Vincent rt=1107993108 rg=puiz
~#! tid=1107464237
genaugenommen: Planet der Affen 2


-----------------------------------------------------------------------------



Re^49: Welcher Film ist das? (Antworten) (Gloinson, 10. Feb 2005, 00:52:42):
~#! rn=Vincent rt=1107993148 rg=puiz
~#! tid=1107464237
Argh, nein. Das ist kein Film ;)


-----------------------------------------------------------------------------



Re^50: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 00:54:04):
~#! rn=Gloinson rt=1107993162 rg=puiz
~#! tid=1107464237
Das ist kein Film???
Interessant....

aehmmmm......was dann?

-----------------------------------------------------------------------------



Re^51: Welcher Film ist das? (Antworten) (Gloinson, 10. Feb 2005, 00:54:24):
~#! rn=Vincent rt=1107993244 rg=puiz
~#! tid=1107464237
Ein bloeder Abklatsch mit einem bescheidenen Saenger.


-----------------------------------------------------------------------------



Re^52: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 00:55:16):
~#! rn=Gloinson rt=1107993264 rg=puiz
~#! tid=1107464237
ich meinte doch das orginal....ohne den saenger....;-)

-----------------------------------------------------------------------------



Re^53: Welcher Film ist das? (Antworten) (Gloinson, 10. Feb 2005, 00:55:40):
~#! rn=Vincent rt=1107993316 rg=puiz
~#! tid=1107464237
Achso. Nein, auch nicht :)


-----------------------------------------------------------------------------



Re^23: Welcher Film ist das? (Fragen) (Vincent, 10. Feb 2005, 01:01:20):
~#! rn=Gloinson rt=1107992075 rg=puiz
~#! tid=1107464207
40. Weil etwas seltsames entdeckt wird, begibt sich eine Gruppe Personen
dorthin und geraet zwischen zwei Fronten, was letztlich nur eine Person
ueberlebt.

-----------------------------------------------------------------------------



Re^54: Welcher Film ist das? (Antworten) (Phobos, 10. Feb 2005, 08:59:17):
~#! rn=Gloinson rt=1107993340 rg=puiz
~#! tid=1107464237
37. Robin Hood

Phobos

-----------------------------------------------------------------------------



Re^13: Welcher Film ist das? (Fragen) (Nonne, 10. Feb 2005, 09:14:18):
~#! rn=Maharet rt=1107801618 rg=puiz
~#! tid=1107464207
41. Drei Maenner sind mit ihrem Freund aus dem Gefaengnis ausgebrochen und
klaeren einige Familienangelegenheiten auf ihre Weise, waehrend sie auf die
Weiterfahrt warten.

-----------------------------------------------------------------------------



Re^55: Welcher Film ist das? (Antworten) (Maharet, 10. Feb 2005, 10:02:07):
~#! rn=Phobos rt=1108022357 rg=puiz
~#! tid=1107464237
40. Alien vs. Predator

41. Wir sind alle keine Engel (oder so, der mit Humphrey Bogart und der
kleinen Schlange)

-----------------------------------------------------------------------------



Re^56: Welcher Film ist das? (Antworten) (Maharet, 10. Feb 2005, 10:13:04):
~#! rn=Maharet rt=1108026127 rg=puiz
~#! tid=1107464237
41 ohne "alle" - We're No Angels

-----------------------------------------------------------------------------



Re^56: Welcher Film ist das? (Antworten) (Nonne, 10. Feb 2005, 10:14:40):
~#! rn=Maharet rt=1108026127 rg=puiz
~#! tid=1107464237
41 ist richtig.

-----------------------------------------------------------------------------



Re^57: Welcher Film ist das? (Antworten) (Highlander, 10. Feb 2005, 10:19:22):
~#! rn=Nonne rt=1108026880 rg=puiz
~#! tid=1107464237
Inzwischen waere es praktisch, wenn bei Antworten/Bewertungen kurz
erwaehnt wuerde, worum's geht. Weil Frage 747 kann in vielen Artikeln
gestellt worden sein, insofern waere ein
747 (Daemon spielt Karten mit drei Nonnen) - The Color Gold
und dann ein
747 (Color Gold) ist richtig
praktisch.

HrT

-----------------------------------------------------------------------------



Re^55: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 12:12:16):
~#! rn=Phobos rt=1108022357 rg=puiz
~#! tid=1107464237
37: korrekt! :)

   Vincent

-----------------------------------------------------------------------------



Re^56: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 12:13:18):
~#! rn=Maharet rt=1108026127 rg=puiz
~#! tid=1107464237
40: korrekt. :)

   Vincent

-----------------------------------------------------------------------------



Re^58: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 12:14:44):
~#! rn=Highlander rt=1108027162 rg=puiz
~#! tid=1107464237
Gute Idee. Leider hab ich den Artikel zu spaet gelesen, sonst haett ich es
direkt schon umgesetzt. :)

Gruss
Vincent

-----------------------------------------------------------------------------



Re^23: Welcher Film ist das? (Fragen) (Daria, 10. Feb 2005, 17:35:57):
~#! rn=Gloinson rt=1107992075 rg=puiz
~#! tid=1107464207
37: Robin Hood

-----------------------------------------------------------------------------



Re^24: Welcher Film ist das? (Fragen) (Daria, 10. Feb 2005, 17:38:51):
~#! rn=Daria rt=1108053357 rg=puiz
~#! tid=1107464207
Ok ich haette den Thread zu ende lesen sollen.
Aber einer der ersten Filme wurde noch nicht aufgeloest, der mit dem Mann der
Freunde eingeladen hat und die Frau ist nicht einverstanden. (Keine Ahnung
welche Nummer.)
Mein Tipp:
Whos afraid of Virginia Woolf?

-----------------------------------------------------------------------------



Re^25: Welcher Film ist das? (Fragen) (Vincent, 10. Feb 2005, 17:55:04):
~#! rn=Daria rt=1108053531 rg=puiz
~#! tid=1107464207
Das war die Nr. 8:
Ein Mann erwartet einige alte Bekannte. Seine Frau ist gegen dieses
Treffen, und die Ehe droht daran zu zerbrechen.

Doch das wurde schon geloest. Aber ich find das Posting mit der Loesung
auch grad nicht. Da das aber hier der Fragen-Thread ist, poste ich die
Loesung nicht an dieser stelle. ;)

Gruss
Vincent

-----------------------------------------------------------------------------



Re^59: Welcher Film ist das? (Antworten) (Vincent, 10. Feb 2005, 17:56:26):
~#! rn=Vincent rt=1108034084 rg=puiz
~#! tid=1107464237
Nr 8: Der Mann, der alte Bekannte erwartet, was fast seine Ehe zerbricht...
Loesung: High Noon

   Vincent

-----------------------------------------------------------------------------



Bunte Zwerge (Whitetiger,  2. Apr 2005, 16:36:10):
Ein ganzer Haufen von Zwergen arbeitet in einem Bergwerk. Jeder Zwerg hat eine
Muetze auf, entweder eine rote oder eine blaue. Jedoch kann jeder Zwerg nur
die Farbe der Muetzen der anderen erkennen, und nicht seine eigene sehen. Nach
vollbrachtem Tagewerk gehen die Zwerge einer nach dem anderen hintereinander
aus der Mine heraus, da der Ausgang zu schmal fuer zwei (oder noch mehr)
Zwerge nebeneinander ist. Sie wollen sich so aufstellen, dass alle mit roter
Muetze beisammen stehen und alle mit blauer, so dass also zwei homogene
Gruppen gleichfarbiger Zwerge entstehen. Dabei duerfen sie sich aber nicht
untereinander verstaendigen, Zeichen geben o.ae.
Wie stellen sie das an?

Tiger.

-----------------------------------------------------------------------------



Re: Bunte Zwerge (Montanus,  4. Apr 2005, 10:49:28):
~#! rn=Whitetiger rt=1112452570 rg=puiz
~#! tid=1112452570
Fruchtzwerge sind lecker! :-)
Und sonst stellst du dich hinter den letzten der ersten homogenen Gruppe. Wenn
du eine Muetze dieser Farbe hast, stellt sich der naechste dieser Farbe hinter
dich. Wenn du die falsche Farbe hast, stellt er sich vor dich.

-----------------------------------------------------------------------------



Re: Re: Bunte Zwerge (Wurzel,  4. Apr 2005, 12:14:46):
~#! rn=Montanus rt=1112604568 rg=puiz
~#! tid=1112452570
das ist doch eigentlich ganz einfach. ich muss nur wissen, ob ich wirklich
ein echter zwerg bin oder nicht. echte zwerge tragen rote muetzen.

-----------------------------------------------------------------------------



not pr0n (Huraxprax, 10. Apr 2005, 17:21:43):
Eine nette Sammlung von Raetseln der verschiedensten Art, gibt ueber 100
Levels, ich haenge gerade an Nummer 23. Vorsicht suchterzeugend ;)

http://deathball.net/notpron/notprond.htm

huraxprax

-----------------------------------------------------------------------------



Re^93694: Hach... nu is was drin, inner MPA. (Catweazle, 19. Apr 2005, 13:26:24):
~#! rn=Highlander rt=1113909050 rg=megaschmarrn
~#! tid=982328278
Worauf der Gorog so kommt.

EIne Frage worauf ich tatsaechlich keine einfache Antwort weiss:

Wie berechnet man das Volumen eines Eis? Meinetwegen darf es auch ein
symmetrisches Ei sein ...

YTC

-----------------------------------------------------------------------------



Re^93695: Hach... nu is was drin, inner MPA. (Wurzel, 19. Apr 2005, 13:27:36):
~#! rn=Catweazle rt=1113909984 rg=puiz
~#! tid=982328278
wie definierst du ein ei? dann kann ich dir auch sagen, wie man das volumen
berechnet.
wenn das volumen messen willst, das ist was anderes.

-----------------------------------------------------------------------------



Re^93696: Hach... nu is was drin, inner MPA. (Grimmborn, 19. Apr 2005, 13:30:05):
~#! rn=Wurzel rt=1113910056 rg=puiz
~#! tid=982328278
Einfach. Ich tauche das Ei in ein randvolles Gefaess und gucke mir an wieviel
uebergelaufen ist. Was ich, wenn Du auf "berechnen" bestehst, mittels eines
Messzylinders leicht ausrechnen kann.

GdA

-----------------------------------------------------------------------------



Re^93697: Hach... nu is was drin, inner MPA. (Catweazle, 19. Apr 2005, 13:34:41):
~#! rn=Grimmborn rt=1113910205 rg=puiz
~#! tid=982328278
Ja, messen ist einfach. Wobei das bei den Ei-Groessen, die Gorog so behandelt,
wiederum schwieiriger sein duerfte.
Es berechnen zu wollen fand ich faszinierend. Und nein, ich hab keine Ahnung,
wie man ein "Ei" parametrisiert. 

YTC

PS: Faelschliche Titel entstehen aus faelschlichen Reflexen...


-----------------------------------------------------------------------------



Re^93698: Hach... nu is was drin, inner MPA. (Zarniya, 19. Apr 2005, 13:36:41):
~#! rn=Catweazle rt=1113910481 rg=puiz
~#! tid=982328278
routierende Ellipse und deren Flaeche ist ja nun googlebar... wuerd ich so aus
dem Bauch heraus sagen... 

Marc

-----------------------------------------------------------------------------



Re^93699: Hach... nu is was drin, inner MPA. (Zarniya, 19. Apr 2005, 13:37:11):
~#! rn=Zarniya rt=1113910601 rg=puiz
~#! tid=982328278
-u irgendwo

-----------------------------------------------------------------------------



Re^93699: Hach... nu is was drin, inner MPA. (Grimmborn, 19. Apr 2005, 13:37:39):
~#! rn=Zarniya rt=1113910601 rg=puiz
~#! tid=982328278
"routierend" ist googlebar? Vermutlich mit aehnlichen Trefferzahlen wie
"giebt".

GdA

-----------------------------------------------------------------------------



Re^93700: Hach... nu is was drin, inner MPA. (Wurzel, 19. Apr 2005, 13:38:59):
~#! rn=Grimmborn rt=1113910659 rg=puiz
~#! tid=982328278
ich probier das lieber nicht aus, am ende erschuettert mich die allgemeine
legasthenie noch...

-----------------------------------------------------------------------------



Re^93699: Hach... nu is was drin, inner MPA. (Gabylon, 19. Apr 2005, 14:56:16):
~#! rn=Zarniya rt=1113910601 rg=puiz
~#! tid=982328278
ein ei ist leider kein rotationsellipsoid. dann waers einfach.

gab

-----------------------------------------------------------------------------



Volumen von Eiern (Jameson, 19. Apr 2005, 15:04:08):
Um was fuer Eier handelt es sich denn nun eigentlich? Das wurde irgendwie noch
nicht geklaert.
Wenn es Huehnereier sind, koennte man das Volumen dann durch die Annahme
annaehern, dass ein Ei an der stumpfen Seite ungefaehr halbkugelfoermig
aussieht und an der spitzen Seite ellipsenfoermig?
Vielleicht koennte auch die zustaendige Bundesbehoerde fuer die
Kategorisierung von Eiergroessen weiterhelfen. ;-)

-----------------------------------------------------------------------------



Re: Volumen von Eiern (Gabylon, 19. Apr 2005, 15:06:26):
~#! rn=Jameson rt=1113915848 rg=puiz
~#! tid=1113915848
vielleicht koennten wir auch die funktionsvorschrift fuer die
eiaussenlinie (tolles wort) herausbekommen. dann waers NOCH einfacher :)

gab

-----------------------------------------------------------------------------



Re: Re: Volumen von Eiern (Wurzel, 19. Apr 2005, 15:07:33):
~#! rn=Gabylon rt=1113915986 rg=puiz
~#! tid=1113915848
das muesstest du dann aber mit dem huhn diskutieren. damit es sich auch dran
haelt, wenn es ein ei legt.

-----------------------------------------------------------------------------



Re^3: Volumen von Eiern (Grimmborn, 19. Apr 2005, 15:59:26):
~#! rn=Wurzel rt=1113916053 rg=puiz
~#! tid=1113915848
Du machst unzulaessige Annahmen - wie kommst Du auf Huhn? Und Strausseneier
sind weitgehend kugelfoermig, soweit ich mich erinnere.

GdA

-----------------------------------------------------------------------------



Re^4: Volumen von Eiern (Wurzel, 19. Apr 2005, 16:06:12):
~#! rn=Grimmborn rt=1113919166 rg=puiz
~#! tid=1113915848
ich kann nicht fuer alle strausse sprechen, aber diejenigen, die ich gesehen
habe, hatten keine kugelfoermigen eier.
das mit dem huhn war eine annahme, soweit richtig. allerdings eine, die auf
mengenschaetzungen beruht und daher gerechtfertigt ist. jedenfalls fuer mich.

-----------------------------------------------------------------------------



Re^5: Volumen von Eiern (Jimdigriz, 19. Apr 2005, 21:29:00):
~#! rn=Wurzel rt=1113919572 rg=puiz
~#! tid=1113915848
Moin,

das Ei ist natuerlich rotationssymmetrisch,
man muss also nur mit einer Approximation des
Querschnitts anfangen, dazu bietet sich an:

Ei(x) = +/- sqrt(r^2 - x^2) fuer x <= 0,5 und +/- sqrt(s-r) x>=0.5

Also ein Kreis mit Radius r an dem wir eine gespiegelte Wurzelfunktion
anpassen.

Nun noch rotieren, integrieren und so weiter...

Volumen(x) = pi(4/3 r^3 + 0.5r^2 + 0.5 s^2 - 0.5s - 1/6)

r ist der Radius des Kreises fuer das Dicke Ende
und s die Verschiebung der Wurzelfunktion also wie
Spitz das Spitze Ende ist.

Gilt natuerlich nur fuer Eier, die man so
Approximieren moechte.

JdG

-----------------------------------------------------------------------------



Re^6: Volumen von Eiern (Muadib, 19. Apr 2005, 21:59:59):
~#! rn=Jimdigriz rt=1113938940 rg=puiz
~#! tid=1113915848
und wenn man es fallen laesst, dann ist es kaputt

-----------------------------------------------------------------------------



Re^7: Volumen von Eiern (Nonne, 20. Apr 2005, 08:40:19):
~#! rn=Muadib rt=1113940799 rg=puiz
~#! tid=1113915848
Worum gehts hier eigentlich? Ich wuerde es so machen: Ein aufschlagen, Inhalt
zu einer homogenen Masse verrruehren, ein definiertes Volumen entnehmen und
wiegen. Damit hat man die Dichte des Inhalts. Weiterhin wiege man die Schale.
Da sich das Gewicht der Schale mit dem Volumen nur wenig aendert, zieht man
das vom Gewicht des unbekannten Eis ab und bekommt aus der Dichte des Inhalts
das Volumen. Natuerlich funktioniert die Naeherung nur hinreichend gut, wenn
man nur Eier einer Vogel/Reptilien/Insektensorte untereinander vergleicht,
damit die Groessenunterschiede nicht zu gross sind.

Nonne, Pragmat.

P.S: Die Handelsklassen der Eier werden nach Gewicht eingeteilt.

-----------------------------------------------------------------------------



Re^8: Volumen von Eiern (Wurzel, 20. Apr 2005, 09:21:03):
~#! rn=Nonne rt=1113979219 rg=puiz
~#! tid=1113915848
ei aufschlagen und zu einer homogenen masse verruehren kann ich noch ganz
gut nachvollziehen. das selbe dann mit zwei weiteren eiern (wegen der
statistischen schwankungen) und mit etwas speck braten, dazu ein paar bohnen
und ein toast mit bitterer orangenmarmelade. ich glaube, das werde ich jetzt
gleich mal machen :)

-----------------------------------------------------------------------------



Re^9: Volumen von Eiern (Grimmborn, 20. Apr 2005, 10:00:07):
~#! rn=Wurzel rt=1113981663 rg=puiz
~#! tid=1113915848
Das ganze beruecksichtigt leider nicht dass Eier auch Luft enthalten. Die
Ueberlaufmessung ist zuverlaessiger.

GdA

-----------------------------------------------------------------------------



Re^10: Volumen von Eiern (Wurzel, 20. Apr 2005, 10:03:49):
~#! rn=Grimmborn rt=1113984007 rg=puiz
~#! tid=1113915848
mein fruehstueck enthaelt typischerweise nur wenig luft. lecker war es :)

-----------------------------------------------------------------------------



Re^5: Volumen von Eiern (Hobo, 20. Apr 2005, 23:40:09):
~#! rn=Wurzel rt=1113919572 rg=puiz
~#! tid=1113915848
Soweit ich weiss, solltest du die lebenslangen Eier eines Vogels erst sehen
koennen, wenn du ihn von innen siehst....

   Hobo :)

-----------------------------------------------------------------------------



Re^93700: Hach... nu is was drin, inner MPA. (Householder, 21. Apr 2005, 20:56:33):
~#! rn=Grimmborn rt=1113910659 rg=puiz
~#! tid=982328278
googlebar bedeutet, wenn man "routierend" eingibt, kommt als antworte "meinten
sie rotierend" :-)

-----------------------------------------------------------------------------



Re: Volumen von Eiern (Kellybundy,  1. Mai 2005, 14:22:49):
~#! rn=Jameson rt=1113915848 rg=puiz
~#! tid=1113915848
Am breiten Ende halbkugelfoermig und am schmalen ende eher paraboloid oder
hyperboloid wuerde ich sagen.

Blondchen, mit gequaeltem Gesichtsausdruck eine Korinthe abdrueckend

-----------------------------------------------------------------------------



Re: Re: Volumen von Eiern (Muadib,  1. Mai 2005, 14:32:14):
~#! rn=Kellybundy rt=1114950169 rg=puiz
~#! tid=1113915848
insgesamt eifoermig

-----------------------------------------------------------------------------



Re^3: Volumen von Eiern (Darklor,  2. Mai 2005, 01:00:19):
~#! rn=Muadib rt=1114950734 rg=puiz
~#! tid=1113915848
Das eiert maechtig gewaltig Egon...

Darklor

-----------------------------------------------------------------------------



Folgen Sie dem Mann mit der roten Hose! (Mupfel, 21. Nov 2005, 23:58:35):
ftp mg.mud.de
login anonymous
das uebliche passwort
cd tmp
bin
get Folgen_Sie_dem_Mann_mit_der_roten_Hose.png
quit

(oder ein aequivalentes Procedere)

Frage: Wer sind diese Leute?

-mupfel-

-----------------------------------------------------------------------------



Re: Folgen Sie dem Mann mit der roten Hose! (Gloinson, 22. Nov 2005, 00:03:59):
~#! rn=Mupfel rt=1132613915 rg=puiz
~#! tid=1132613915
Ich erkenne nur Montanus und Rikus.

Interessanter ist: Wo ist das? Sieht eingescannt aus.


-----------------------------------------------------------------------------



Re: Re: Folgen Sie dem Mann mit der roten Hose! (Mupfel, 22. Nov 2005, 00:04:51):
~#! rn=Gloinson rt=1132614239 rg=puiz
~#! tid=1132613915
Es ist eingescannt. Zu der Zeit hatte ich noch keine Digitalkamera.

-mupfel-

-----------------------------------------------------------------------------



Re^3: Folgen Sie dem Mann mit der roten Hose! (Woody, 29. Nov 2005, 12:19:03):
~#! rn=Mupfel rt=1132614291 rg=puiz
~#! tid=1132613915
oh. ich weiss es. :)


-----------------------------------------------------------------------------



Praser 5 - Hilfe gesucht (Kessa, 16. Dez 2005, 23:38:07):
Hallo! Ich habe hier was fuer Tueftler, ein Raetsel aus einem
Puzzle-Adventure. Es muss eine Art von Akrostichon-Raetsel sein, soviel geht
aus einem Tip hervor.

Die Aufgabe lautet:

As I contain the waters of the world, so the 7 names are contained. (And
they're names, not Names.)

- iodine
- silicon
- radon
- bromine
- thorium
- technetium
- molybdenum

Ich kenne die Antwort, weiss aber nicht, wie man drauf kommt. Wer sie wissen
will, kann mich per tm oder Mudmail fragen.

Das Adventure (hoellisch schwierig) selber gibt es hier:
http://www.wurb.com/if/game/2765

Und einen Interpreter hier:
http://ifarchive.flavorplex.com/if-archive/infocom/interpreters/

Na, wer kriegts raus? Ich freue mich ueber jede Unterstuetzung :)

Kessa

-----------------------------------------------------------------------------



Telepolis Raetsel 2006 (Croft,  8. Mai 2006, 12:55:06):
In der Telepolis gibts mal wieder ein groesseres Raetsel:
http://www.heise.de/tp/r4/magazin/rate/2006/start.html

Croft

-----------------------------------------------------------------------------



Re: Telepolis Raetsel 2006 (Croft,  8. Mai 2006, 13:07:20):
~#! rn=Croft rt=1147085706 rg=puiz
~#! tid=1147085706
2 und 8 hab ich immerhin schon mal.  Ich bin eindeutig ein Spieler...

Croft

-----------------------------------------------------------------------------



Telepolis Sommerraetsel 2006 (Croft,  3. Jun 2006, 01:33:07):
Alboin hat mich gerade darauf aufmerksam gemacht: mittlerweile gibt es
die Aufloesung zum von mir geposteten Link:
http://www.heise.de/tp/r4/magazin/rate/2006/auflos.html

Croft

-----------------------------------------------------------------------------



SZ Sommerraetsel (Croft, 10. Aug 2006, 22:19:59):
Der erste Teil ist zwar schon ne Woche draussen, aber wer trotzdem
noch knobeln mag:
http://sz-magazin.sueddeutsche.de/raetsel1.html

Croft

-----------------------------------------------------------------------------



Re: SZ Sommerraetsel (Pra, 11. Aug 2006, 00:21:25):
~#! rn=Croft rt=1155241199 rg=puiz
~#! tid=1155241199
Ich hab's versucht (sogar Heft gekauft), aber bisher nur die Loesung
von 8 - Eingelocht gefunden (auch schoen im Netz zu finden).
Supergute Ansaetze bei 3, 6 und 10, aber scheinen alles aufgestellte Fallen
zu sein :-(

Pra, verliert die Lust, weil sein Team (nein nicht im MG) nicht mitzieht...

-----------------------------------------------------------------------------



Re: Re: SZ Sommerraetsel (Croft, 11. Aug 2006, 09:38:27):
~#! rn=Pra rt=1155248485 rg=puiz
~#! tid=1155241199
6 hat Tassram geloest, bei 5 hab ich wohl die richtige Loesung.  Aber
irgendwie scheint die auch zu einfach zu sein.

Croft

-----------------------------------------------------------------------------



Fundstueck (Huraxprax, 29. Mar 2007, 21:09:21):
BiTTE LiCHT Ausschalten!!!
Danke

Frage: Aus welchem Land stammt der Schreiber dieses Schilds, und warum?

Hurax

-----------------------------------------------------------------------------



Re: Fundstueck (Jimdigriz, 30. Mar 2007, 19:12:20):
~#! rn=Huraxprax rt=1175195361 rg=puiz
~#! tid=1175195361
Aus Deutschland, weil nur die deutschen
so Spiesser sind, dass Sie ihre Nachbarn
(moeglicherweise auch noch mit Migrantenhintergrund)
auf die deutschen Gepflogenheiten (Energie Sparen,
Muell trennen, etc.) mit solchen Schildern hinweisen.
Erst recht wenn sie dann 3 Ausrufezeichen verwenden.
Ich hab selbst schonmal so ein Schild geschrieben
um solche Nachbarn darauf hinzuweisen, dass in Plastiksaecke
verpackter Restmuell nicht kompostierbar ist, und daher
nicht in die Biotonne sollte (allerdings ohne Ausrufezeichen).

-----------------------------------------------------------------------------



Re: Re: Fundstueck (Vanion, 30. Mar 2007, 19:14:48):
~#! rn=Jimdigriz rt=1175274740 rg=puiz
~#! tid=1175195361
Das Danke spricht gegen diese Theorie.

V*

-----------------------------------------------------------------------------



Re: Fundstueck (Kessa, 30. Mar 2007, 20:06:50):
~#! rn=Huraxprax rt=1175195361 rg=puiz
~#! tid=1175195361
Tuerkei? Dort hat das i ohne Punkt ja einen anderen Lautwert als das mit, eher
so eine Art u-Laut.

-----------------------------------------------------------------------------



Re: Fundstueck (Knurps, 30. Mar 2007, 21:05:59):
~#! rn=Huraxprax rt=1175195361 rg=puiz
~#! tid=1175195361
Jemand, der zuviele StudentInnen und andere seltsame erigierte Mittel-Is
gesehen hat und deswegen sich weigert jegliche "i"s, die nicht am Wortanfang
stehen grosszuschreiben?

-----------------------------------------------------------------------------



Re: Re: Fundstueck (Orktoeter, 30. Mar 2007, 21:07:04):
~#! rn=Knurps rt=1175281559 rg=puiz
~#! tid=1175195361
Das macht ihn zu Jemandem der aus welchem Land kommt (denn das Land war
gefragt)?

-----------------------------------------------------------------------------



Re: Re: Fundstueck (Zook, 30. Mar 2007, 21:07:08):
~#! rn=Kessa rt=1175278010 rg=puiz
~#! tid=1175195361
so nen aehnlichen gedanken hatte ich auch. z..

-----------------------------------------------------------------------------



Re^3: Fundstueck (Kessa, 30. Mar 2007, 21:08:22):
~#! rn=Orktoeter rt=1175281624 rg=puiz
~#! tid=1175195361
Es muss irgendein politisch sehr unkorrektes sein...

-----------------------------------------------------------------------------



Re^4: Fundstueck (Huraxprax, 31. Mar 2007, 09:29:16):
~#! rn=Kessa rt=1175281702 rg=puiz
~#! tid=1175195361
Kessa hat es rausgefunden. Das Schild war vor der Toilette einer Doenerbude,
und der Schreiber oder die Schreiberin wollte ziemlich sicher BITTE mit
i-Punkt schreiben, fand das aber nicht auf der Tastatur und BiTTE klang ihm da
weniger falsch :)

Gratulation noch.

Hurax

-----------------------------------------------------------------------------



Geraet (Humni, 31. Mar 2007, 12:21:18):
Ich besitze ein Geraet.

Bestimmte Einstellungen des Geraetes lassen mir die Auswahlmoeglichkeiten
Felsen, Blau, Verein, Phasen und Knall (sowie ein paar mehr, die ich hier
nicht verraten werde, da es dann zu einfach waere).

Was ist das bzw. um was fuer ein Geraet handelt es sich?

Humni

-----------------------------------------------------------------------------



Re: Geraet (Humni, 31. Mar 2007, 13:18:09):
~#! rn=Humni rt=1175336478 rg=puiz
~#! tid=1175336478
Croft hat die Loesung als erster, Glueckwunsch. Ihr duerft trotzdem
weiterraten. ;-)

Humni

-----------------------------------------------------------------------------



Re: Re: Geraet (Orktoeter, 31. Mar 2007, 14:48:50):
~#! rn=Humni rt=1175339889 rg=puiz
~#! tid=1175336478
Gabs ueberhaupt schon eine offizielle Aufloesung zum letzten Raetsel?

-----------------------------------------------------------------------------



Re^3: Geraet (Huraxprax, 31. Mar 2007, 15:35:40):
~#! rn=Orktoeter rt=1175345330 rg=puiz
~#! tid=1175336478
Zu meinem? Ja, war ein Schild in einer Doenerbude hier, also von einem
Tuerken, in deren Alphabet ja I und i verschiedene Buchstaben sind, das
Aequivalent zu i hat er/sie wohl auf der Tastatur nicht gefunden.

-----------------------------------------------------------------------------



Re^4: Geraet (Humni,  1. Apr 2007, 19:32:17):
~#! rn=Huraxprax rt=1175348140 rg=puiz
~#! tid=1175336478
Und zu meinem kommt die Aufloesung hier. Oder nee, erst noch ein Tip. Einige
haben das auch schon geloest, Croft ist nicht mehr alleine.

Der Tip: Es gibt auch Weicher Felsen.

Humni

-----------------------------------------------------------------------------



Re^5: Geraet (Humni, 18. Apr 2007, 00:19:29):
~#! rn=Humni rt=1175448737 rg=puiz
~#! tid=1175336478
Oh, ich hab das noch gar nicht aufgeloest.
Also: Das war der Equalizer von meinem MP3-Player. (Equalizer haette
natuerlich als Antwort gereicht), wo man verschiedene Musikstile einstellen
kann.

Rock=Felsen.
Softrock=Weicher Felsen.
Blues=Blau.
Party=Partei.
Verein=Club.

So. Nun noch mit dem Hintergrund die letzte Frage (ich weiss darum die Loesung
so genau, da das Geraet im Menue die tollen deutschen Namen zur Auswahl
stellt, dann aber das korrekte englische Wort anzeigt): Was ist die
Einstellung Knall?

Humni

-----------------------------------------------------------------------------



Re^6: Geraet (Grimmborn, 18. Apr 2007, 11:34:44):
~#! rn=Humni rt=1176848369 rg=puiz
~#! tid=1175336478
Das wird der Selbstzerstoerungsmechanismus sein.

GdA

-----------------------------------------------------------------------------



Re^7: Geraet (Humni, 20. Apr 2007, 14:29:01):
~#! rn=Grimmborn rt=1176888884 rg=puiz
~#! tid=1175336478
Und die Aufloesung:
Knall=Pop.

Humni

-----------------------------------------------------------------------------



hach, wie schoen. Wer weiss es noch? (Montanus, 19. Sep 2007, 20:02:21):
Ein kleines Preisraetsel.
Ich setze 10.000 Muenzen als Preis fuer enjenige naus, der mir sagen kann
welcher NPC "grinst wie Grimmborn, wenn er gerade Gast5 nervt.
" und was man den NPC dafuer fragen muss.

Codelesende Mageier und aehnliches Federvieh sind natuerlich ausgeschlossen...

-----------------------------------------------------------------------------



Re: hach, wie schoen. Wer weiss es noch? (Rumata, 20. Sep 2007, 09:09:31):
~#! rn=Montanus rt=1190224941 rg=puiz
~#! tid=1190224941
"Codelesender Magier" UND "aehnliches Federvieh"?
Das kann nur Highlander sein :-)

-----------------------------------------------------------------------------



ABM (Vector, 24. Jan 2008, 11:00:38):
damits hier nicht so leer ist, ein kleines finger-spiel:
wer findet den mudder, der/die am laengsten schon nicht
mehr da ist. gewinner kriegt nen keks, magier die logfiles
durchforsten sind doofies :)
ich fang mal noch recht einfach an mit "Kadis"
letzter login: Die, 20. Apr 2004=1373d 13:33:16

(da sich je nach fingertag die zahl der tage aendert
nehmen wir einfacch das datum)

-----------------------------------------------------------------------------



Re: ABM (Boing, 24. Jan 2008, 11:02:49):
~#! rn=Vector rt=1201168838 rg=puiz
~#! tid=1201168838
Ich lege die Latte mal etwas hoeher: Bettyblue
Zuletzt ausgeloggt: Fre, 23. Aug 1996, 22:29:32 (4170d 13:32:40).

-----------------------------------------------------------------------------



Re: Re: ABM (Rumata, 24. Jan 2008, 11:06:01):
~#! rn=Boing rt=1201168969 rg=puiz
~#! tid=1201168838
finger witz
Zuletzt ausgeloggt: Don, 23. Mai 1996, 18:45:58 (4262d 17:19:27).

-----------------------------------------------------------------------------



Re^3: ABM (Vector, 24. Jan 2008, 11:09:08):
~#! rn=Rumata rt=1201169161 rg=puiz
~#! tid=1201168838
finger herkules
Zuletzt ausgeloggt: Mon, 11. Mar 1996, 16:46:12 (4335d 18:22:14).

-----------------------------------------------------------------------------



Re^4: ABM (Boing, 24. Jan 2008, 11:19:16):
~#! rn=Vector rt=1201169348 rg=puiz
~#! tid=1201168838
finger jose
Hoppla - dieser Name ist reserviert oder gesperrt ("gebanisht")!
Grund fuer die Sperrung: Einer der Gruender ...

;)

-----------------------------------------------------------------------------



Re^5: ABM (Vector, 24. Jan 2008, 11:59:17):
~#! rn=Boing rt=1201169956 rg=puiz
~#! tid=1201168838
also ich bin sicher ich hab jose noch letzte woche
in der abgilde stehen sehen :)
finger sara
Zuletzt ausgeloggt: Don,  7. Mar 1996, 13:50:15 (4339d 22:08:32).

-----------------------------------------------------------------------------



Re^6: ABM (Croft, 24. Jan 2008, 12:13:27):
~#! rn=Vector rt=1201172357 rg=puiz
~#! tid=1201168838
Grimmdeath ist nicht anwesend.
Zuletzt ausgeloggt: Son, 16. Apr 1995, 22:50:04 (4665d 14:23:09).

Croft

-----------------------------------------------------------------------------



Re^7: ABM (Croft, 24. Jan 2008, 12:17:08):
~#! rn=Croft rt=1201173207 rg=puiz
~#! tid=1201168838
Wobei, Raist sticht immer noch.
Raist ist nicht anwesend.
Zuletzt ausgeloggt: Mit, 30. Nov 1994, 13:36:58 (4802d 22:38:51).

Croft

-----------------------------------------------------------------------------



Re^8: ABM (Boing, 24. Jan 2008, 14:28:54):
~#! rn=Croft rt=1201173428 rg=puiz
~#! tid=1201168838
Was war eigentlich am 31. Januar 2003 um 18:03 Uhr? Ich finde sehr viele,
die da angeblich zuletzt eingeloggt waren (was ich nicht ganz glauben kann).
  Boing

-----------------------------------------------------------------------------



Re^9: ABM (Croft, 24. Jan 2008, 14:33:21):
~#! rn=Boing rt=1201181334 rg=puiz
~#! tid=1201168838
Schau mal in die Driver-Start/Stop-Logs. /log/sys/SHUT oder so.

Croft

-----------------------------------------------------------------------------



Re^10: ABM (Boing, 24. Jan 2008, 14:40:06):
~#! rn=Croft rt=1201181601 rg=puiz
~#! tid=1201168838
Gibt's nicht, na egal ...
Uebrigens hat Raist letztes mal schon gewonnen.
  Boing

-----------------------------------------------------------------------------



Re^11: ABM (Croft, 24. Jan 2008, 14:40:40):
~#! rn=Boing rt=1201182006 rg=puiz
~#! tid=1201168838
Sach ich doch.

Croft

-----------------------------------------------------------------------------



Re^12: ABM (Rumata, 24. Jan 2008, 15:09:57):
~#! rn=Croft rt=1201182040 rg=puiz
~#! tid=1201168838
Boing hat auf das Filedatum geguckt!
War sicher irgendeine anpassung der savefiles :-)

Beat this!

finger return
Zuletzt ausgeloggt: Mit, 30. Nov 1994, 07:41:14 (4803d 07:25:26).
 ;-)

-----------------------------------------------------------------------------



Re^13: ABM (Croft, 24. Jan 2008, 15:12:50):
~#! rn=Rumata rt=1201183797 rg=puiz
~#! tid=1201168838
Da buggt bestimmt das Loeschskript.  Lvl1 und keine 7h alt.

Croft

-----------------------------------------------------------------------------



Re^13: ABM (Zephyr, 24. Jan 2008, 15:12:56):
~#! rn=Rumata rt=1201183797 rg=puiz
~#! tid=1201168838
Wie etgeht denn ein 6 Stunden alter lvl 1 Spieler dem Loeschscript?
C4, erstaunt

-----------------------------------------------------------------------------



Re^14: ABM (Nicolai, 24. Jan 2008, 15:15:34):
~#! rn=Zephyr rt=1201183976 rg=puiz
~#! tid=1201168838
indem er bereits stufenpunkte gesammelt hat!?

-----------------------------------------------------------------------------



Re^14: ABM (Maharet, 24. Jan 2008, 15:15:36):
~#! rn=Zephyr rt=1201183976 rg=puiz
~#! tid=1201168838
vielleicht hatte er ja genug AP und nur nicht erhoeht
Oder was auch immer man da als Mindestanforderungen erfuellen muss. Alter und
Level sind nicht die einzigen Eigenschaften, die einen retten koennen, wenn
ich mich recht erinnere.

-----------------------------------------------------------------------------



Re^15: ABM (Croft, 24. Jan 2008, 15:15:58):
~#! rn=Maharet rt=1201184136 rg=puiz
~#! tid=1201168838
30ap oder 300k xp wird er haben.

Croft

-----------------------------------------------------------------------------



Re^13: ABM (Boing, 24. Jan 2008, 15:43:14):
~#! rn=Rumata rt=1201183797 rg=puiz
~#! tid=1201168838
Ich hab auf gar kein Filedatum geschaut, ich habe nur den Thread vom
letzten mal gesucht. Da hat Catty Return wohl uebersehen ... :)
  Boing

-----------------------------------------------------------------------------



Wer sind wir? (Ark, 24. Jan 2008, 22:52:31):
Mir ist langweilig, drum habe ich hier auch ein daemliches Raetsel :-)

Ich rechte oft mit dem Seelenfaenger,
der auch mal bringt die Wiedergaenger.

Ich nicht, ich bin ein Leckerlein,
war lang nicht da, komm' nicht mehr rein.

Doch ich zuletzt, ich schluck den Kopf,
so mancher Schrei erstickt im Kropf.

Wir sind uns aehnlich, doch verschieden,
das Alphabet musst Du verschieben.
Drei Lettern fast bilden unseren Namen,
es ist die Kunst, kannst Du's erahnen?


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re: Wer sind wir? (Jimdigriz, 25. Jan 2008, 21:19:38):
~#! rn=Ark rt=1201211551 rg=puiz
~#! tid=1201211551
Hmmm, ARK => BSL oder ZQJ
"Ich rechte oft mir dem Seelenfaenger"
erschliesst sich mir auch nicht so recht.
Das Verb "rechten" kann ich nicht zuordnen, sollte
das eine Vergangenheitsform sein, waere der
Infitiv wohl "rechen", also zB den Rasen rechen
mit dem Rechen (auch Harke genannt, jaja da mags
sogar auch Unterschiede geben).
Seelen zusammenrechen waere wohl entfernt denkbar, aehnlich
wie "ernten", also nach der Ernte die Seelen zusammenrechen.
Kenne allerdings kein Viech was sowas demonstiert
(kenn aber eh nix hier).

Ist das ein Raetsel oder vier? 

Fragen ueber Fragen (aber mit is auch grade langweilig).

-----------------------------------------------------------------------------



Re: Re: Wer sind wir? (Kessa, 26. Jan 2008, 01:55:11):
~#! rn=Jimdigriz rt=1201292378 rg=puiz
~#! tid=1201211551
Ich versuch mal vorsichtig zu helfen, damit es nicht der Raetselschoepfer
selber tun muss (was immer notorisch schwierig ist): 'Rechten': 'streiten',
'debattieren' oder so. Es ist ein Raetsel, aber es werden mehrere Begriffe
gesucht, die eine Gemeinsamkeit haben.

Gogo :) Kessa

-----------------------------------------------------------------------------



Re: Re: Wer sind wir? (Ark, 26. Jan 2008, 02:00:02):
~#! rn=Jimdigriz rt=1201292378 rg=puiz
~#! tid=1201211551
Ein Raetsel, aber siehe Frage im Subject :-)


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^3: Wer sind wir? (Vector, 26. Jan 2008, 02:02:25):
~#! rn=Ark rt=1201309202 rg=puiz
~#! tid=1201211551
und an wen schickt man die loesung?:>

-----------------------------------------------------------------------------



Re^4: Wer sind wir? (Galathea, 26. Jan 2008, 16:48:40):
~#! rn=Vector rt=1201309345 rg=puiz
~#! tid=1201211551
Na vermutlich an Ark.
Und wer die richtige Loesung hat, bekommt ein Baerchen. :)

Galathea *die eifrig raetselt*

-----------------------------------------------------------------------------



Re^5: Wer sind wir? (Ark, 28. Jan 2008, 17:10:41):
~#! rn=Galathea rt=1201362520 rg=puiz
~#! tid=1201211551
Aufloesung: Lars, Mars, Nars.
xclone /d/kleinkrams/ark/gummi/obj/baerchen
move /d/kleinkrams/ark/gummi/obj/baerchen#1 nach /magier/kessa
move /d/kleinkrams/ark/gummi/obj/baerchen#2 nach /human/vector
move move /d/kleinkrams/ark/gummi/obj/baerchen#3 nach /magier/hobo
rm /d/kleinkrams/ark/gummi/obj/baerchen


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Kevin - ? (Gnome, 25. Mar 2008, 01:08:54):
Klar: "Allein zu Haus".
Jeder haette diesen Untertitel gewusst. Aber: haette auch jeden den
Haupttitel gewusst, wenn nur der Untertitel bekanntgewesen waere?

Hier koennt ihr euer Filmwissen pruefen. 25 mehr oder weniger bekannte
Filme warten darauf, erraten zu werden - allerdings nur anhand der
Untertitel.
Eure Loesungen koennt ihr per mail an mich schicken.

Achja... ich will nicht wissen, wie gut ihr mit Google & Wikipedia umgehen
koennt, also: graue Zellen anstrengen :)


 1. Reality Bites
 2. Tag der Abrechnung
 3. Der Profi
 4. Ein ganz normaler Tag
 5. Kein Weg zurueck
 6. Alles ist moeglich
 7. In ihr liegt das Geheimnis
 8. Nichts ist so wie es scheint
 9. Streng geheim
10. Macht des Kartells
11. In den Strassen von New York
12. Die nackte Wahrheit
13. Farben der Gewalt
14. Der letzte Widerstand
15. Mein Partner mit der kalten Schnauze
16. Lautlose Killer
17. Durchgedreht
18. Irgendwo in Iowa
19. Verzweifelt gesucht
20. Nebel des Grauens
21. Beinhart!
22. Verschollen
23. Spiel des Lebens
24. Eine Stadt sucht einen Moerder
25. Odyssee im Weltraum


gnOme

-----------------------------------------------------------------------------



Re: Kevin - ? (Gnome, 14. Apr 2008, 21:54:12):
~#! rn=Gnome rt=1206403734 rg=puiz
~#! tid=1206403734
es haben zwar leider nur wenige mitgemacht, aber die loesungen moechte
ich euch natuerlich trotzdem nicht vorenthalten:

 1. Reality Bites - Voll das Leben
 2. Terminator 2 - Tag der Abrechnung
 3. Leon - Der Profi
 4. Falling Down - Ein ganz normaler Tag
 5. U-Turn - Kein Weg zurueck
 6. K-Pax - Alles ist moeglich
 7. Identitaet - In ihr liegt das Geheimnis
 8. 23 - Nichts ist so wie es scheint
 9. Moonraker - Streng geheim
10. Traffic - Macht des Kartells
11. Jim Carroll - In den StraKartellsen von New York
12. Larry Flint - Die nackte Wahrheit
13. Colors - Farben der Gewalt
14. X-Men 3 - Der letzte Widerstand
15. K9 - Mein Partner mit der kalten Schnauze
16. Outbreak - Lautlose Killer
17. Nuts - Durchgedreht
18. Gilbert Grape - Irgendwo in Iowa
19. Susan - Verzweifelt gesucht
20. The Fog - Nebel des Grauens
21. Werner - Beinhart!
22. Castaway - Verschollen
23. Jerry Maguire - Spiel des Lebens
24. "M" - Eine Stadt sucht einen Moerder
25. 2001 - Odyssee im Weltraum

ich habe uebrigens einen fehler gemacht und beim ersten film titel und
untertitel vertauscht gehabt; ich hatte den film tatsaechlich als
"voll das leben - reality bites" im gedaechtnis abgespeichert gehabt.
naja, nicht so wahnsinnig schlimm, denk ich. :)

sieger ist uebrigens JdG mit 18 richtig geratenen/gewussten untertiteln.
die anderen moegen sich ihre richtigen selber ausrechnen.
glueckwunsch dem sieger und vielen dank fuers mitachen!

gnOme

-----------------------------------------------------------------------------



Annie Hall? Hae? Nie gehoert. (Gnome, 21. Mai 2008, 00:55:36):
Im naechsten Filmquiz geht es um Originaltitel, welche hierzulande bei
vielen Filmen leider (und manchmal auch jofseidank) unbekannt sind.

Es gilt, 25 Filme anhand ihrer Originaltitel zu erraten. Manchmal recht
einfach, manchmal relativ schwer, aber der breiten Masse sind diese
Filme alle bekannt.

Wer nun denkt, dass das unmoeglich ist (viele Originaltitel wurden in
Deutschland ja nie bekanntgemacht), dem sei gesagt, dass man auf die
meisten deutschen Titel mit ein bisschen Nachdenken auch von alleine kommt.

Loesungen bitte per e-mail an mich. Ohne Google natuerlich. ;)


Originaltitel:
-------------
 1. Annie Hall
 2. Clear and Present Danger
 3. The Devil's Own
 4. All the President's Men
 5. The Devil's Advocate
 6. Far and Away
 7. The Hand that Rocks the Cradle
 8. Sleeping With The Enemy
 9. One Fine Day
10. A Time to Kill
11. North by Northwest
12. The Skeleton Key
13. It Could Happen to You
14. The River
15. The magnificent Seven
16. Needful Things
17. The Fugitive
18. Primal Fear
19. A Life Less Ordinary
20. Plein Soleil
21. Rebel Without a Cause
22. Threesome
23. Awakenings
24. The Graduate
25. Rope


gnOme

-----------------------------------------------------------------------------



Re: Annie Hall? Hae? Nie gehoert. (Gnome, 22. Mai 2008, 21:01:26):
~#! rn=Gnome rt=1211324136 rg=puiz
~#! tid=1211324136
der erste einsender ist JDG und er hat 19 richtig, sogar die beiden
schwierigsten (wie ich finde) 1 und 25 hat er.
ein sehr gutes ergebnis!

gnOme

-----------------------------------------------------------------------------



Re: Re: Annie Hall? Hae? Nie gehoert. (Grimmborn, 22. Mai 2008, 21:54:10):
~#! rn=Gnome rt=1211482886 rg=puiz
~#! tid=1211324136
Naja, nachdem Du die IMDB nicht ausgeschlossen hast halte ich 19 richtige fuer
eher nicht so gut.

GdA

-----------------------------------------------------------------------------



Re^3: Annie Hall? Hae? Nie gehoert. (Gnome, 22. Mai 2008, 22:10:31):
~#! rn=Grimmborn rt=1211486050 rg=puiz
~#! tid=1211324136
wenn JDG die IMDB zu hilfe genommen haette, haette er auch nicht weniger
als 100% richtig gehabt.

-----------------------------------------------------------------------------



Re: Annie Hall? Hae? Nie gehoert. (Gnome,  2. Jun 2008, 00:36:01):
~#! rn=Gnome rt=1211324136 rg=puiz
~#! tid=1211324136
Und hier nun die Loesungen:

 1. Annie Hall: Der Stadtneurotiker
 2. Clear and Present Danger: Das Kartell
 3. The Devil's Own: Vertrauter Feind
 4. All the President's Men: Die Unbestechlichen (Hoffmann / Redford)
 5. The Devil's Advocate: Im Auftrag des Teufels
 6. Far and Away: In einem fernen Land
 7. The Hand that Rocks the Cradle: Die Hand an der Wiege
 8. Sleeping With The Enemy: Der Feind in meinem Bett
 9. One Fine Day: Tage wie dieser
10. A Time to Kill: Die Jury
11. North by Northwest: Der unsichtbare Dritte
12. The Skeleton Key: Der verbotene Schluessel
13. It Could Happen to You: 2 Mio. $ Trinkgeld
14. The River: Menschen am Fluss
15. The magnificent Seven: Die glorreichen Sieben
16. Needful Things: In einer kleinen Stadt
17. The Fugitive: Auf der Flucht
18. Primal Fear: Zwielicht
19. A Life Less Ordinary: Lebe lieber ungewoehnlich
20. Plein Soleil: Nur die Sonne war Zeuge
21. Rebel Without a Cause: ... denn sie wissen nicht was sie tun
22. Threesome: Einsam Zweisam Dreisam
23. Awakenings: Zeit des Erwachens
24. The Graduate: Die Reifepruefung
25. Rope: Cocktail fuer eine Leiche

gnOme

-----------------------------------------------------------------------------



Kollegen geaergert... (Anatol, 13. Sep 2008, 19:23:04):

Meine Kollegen gruebeln grade ueber das folgende:

"POLIKLINIK" und "DATABASES" besitzen - in gegensaetzlicher Auspraegung - ein
Merkmal, das sie von den meisten anderen deutschen/englischen Woertern
unterscheidet. Welches?

Und natuerlich habe ich Konstruktionen wie "Anzahl und Haeufigkeit der
vorkommenden Vokale ..." abgelehnt. ;)

Anatol


-----------------------------------------------------------------------------



Re: Kollegen geaergert... (Grimmborn, 14. Sep 2008, 23:02:51):
~#! rn=Anatol rt=1221326584 rg=puiz
~#! tid=1221326584
Trivial. Das eine Wort ist besonders fuer Linkshaender, das andere fuer
Rechtshaender geeignet. Oder so.

GdA

-----------------------------------------------------------------------------



Woher kommt eigentlich... (Hobo, 23. Feb 2009, 22:55:53):
... der Begriff "Arschkarte"?

Kreative Ideen hierher, richtige Loesungen an mich - die Aufloesung kommt dann
auch irgendwann :)

 Hobo

-----------------------------------------------------------------------------



Re: Woher kommt eigentlich... (Nicolai, 24. Feb 2009, 13:48:40):
~#! rn=Hobo rt=1235426153 rg=puiz
~#! tid=1235426153
Arschkarte ist natuerlich eine Landkarte des Rektalbereichs, damit
sich angehende Proktologen in diesen Gefilden gleich zurecht finden.

-----------------------------------------------------------------------------



Re: Re: Woher kommt eigentlich... (Bambulko, 24. Feb 2009, 13:52:53):
~#! rn=Nicolai rt=1235479720 rg=puiz
~#! tid=1235426153
Quatsch! Die Arschkarte hiess urspruenglich Aschkarte. Diese Aschkarte
symbolisierte den tod (Asche zu Asche, Staub zu Staub). Wer sie beim Spiel
gezogen hat, hat verloren. Wie das 'r' in den Namen kann ist leider nicht
bekannt.

-----------------------------------------------------------------------------



Re^3: Woher kommt eigentlich... (Rumata, 24. Feb 2009, 14:09:05):
~#! rn=Bambulko rt=1235479973 rg=puiz
~#! tid=1235426153
Kwark, das harte Endstueck innen in der Klopapierrolle ist der Ursprung.

-----------------------------------------------------------------------------



Re: Re: Woher kommt eigentlich... (Vector, 24. Feb 2009, 14:10:35):
~#! rn=Nicolai rt=1235479720 rg=puiz
~#! tid=1235426153
denke das "r" muss schon von anfang an rein, ich finde 
"Arschkate" klingt doof. vielleicht arsch-kate und das
war das dienstmaedchen kate die alle niederen dienste
verrichten musste

-----------------------------------------------------------------------------



Re^3: Woher kommt eigentlich... (Gloinson, 24. Feb 2009, 14:27:31):
~#! rn=Vector rt=1235481035 rg=puiz
~#! tid=1235426153
In einer Arsch-Kate wird defaekiert.


-----------------------------------------------------------------------------



Re^3: Woher kommt eigentlich... (Anatol, 24. Feb 2009, 14:27:33):
~#! rn=Vector rt=1235481035 rg=puiz
~#! tid=1235426153
WP meint, der Fussball-Schiri haette die Rote Karte, um Verwechslungen
zu vermeiden, frueher nicht in der Brust-, sondern in der Gesaesstasche
gefuehrt.

Ich persoenlich glaube ja eher, dass es aus dem Umfeld "reich heiratet
schoen" kam und sie dann mit der Kreditkarte ihres Mannes - der Arschkarte
- schoppen ging.

A

-----------------------------------------------------------------------------



Re^4: Woher kommt eigentlich... (Alboin, 24. Feb 2009, 14:37:50):
~#! rn=Anatol rt=1235482053 rg=puiz
~#! tid=1235426153
Alles falsch, es kommt vom Knast. Dort loste man mit einem Kartenspiel wer dem
Knacki-Boss zu diensten zu sein hat.

al

-----------------------------------------------------------------------------



Re^5: Woher kommt eigentlich... (Ark, 24. Feb 2009, 15:05:39):
~#! rn=Alboin rt=1235482670 rg=puiz
~#! tid=1235426153
War das nicht mal die Rote Karte im Fussball? Haben sie mal in ner
Sportsendung gemeint, weil da frueher zumindest immer der Karton sass. Heute
ziehen sie die ja auch aus dem Hemd.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^6: Woher kommt eigentlich... (Bambulko, 24. Feb 2009, 15:34:12):
~#! rn=Ark rt=1235484339 rg=puiz
~#! tid=1235426153
Die haben auch heute noch die rote Karte am Hintern...

-----------------------------------------------------------------------------



Re^7: Woher kommt eigentlich... (Anthea, 24. Feb 2009, 18:34:33):
~#! rn=Bambulko rt=1235486052 rg=puiz
~#! tid=1235426153
Das kommt halt vom Schwarz-Weiss-Fernsehen. Damit der arme Zuschauer wusste,
welche Farbe nun gezueckt wird, ohne auf den Kommentator warten zu muessen.

-----------------------------------------------------------------------------



Re^8: Woher kommt eigentlich... (Dieder, 24. Feb 2009, 19:47:50):
~#! rn=Anthea rt=1235496873 rg=puiz
~#! tid=1235426153
auch das ist eine nicht geklaerte urban legend ;)

Dieder

-----------------------------------------------------------------------------



Trading Places? Hmm... kenn ich nicht! (Gnome, 29. Okt 2010, 21:21:04):

Und ich wette doch! Nur vielleicht nicht unter dem Originaltitel.
Einer der besten Filme mit der alten Quasselstrippe. Hups, mal nicht
zuviel verraten... :)

Ok, hier hab ich mal wieder 25 Originaltitel herausgesucht und es werden
die Titel gesucht, unter dem sie in den deutschen Kinos starteten.
Manche sind recht naheliegend ("Rear Window"), manche erfordern gruendliches
Nachdenken ("The Shawshank Redemption") und manche haetten besser nie
uebersetzt werden sollen, weil der englische Titel um so viel passender
ist ("Sliding Doors").

 1. Trading Places
 2. The Long Kiss Goodnight
 3. Rear Window
 4. Jaws
 5. The Whole Nine Yards
 6. Something's Gotta Give
 7. Danny The Dog
 8. Shattered
 9. Murder by Numbers
10. Never Say Never Again
11. The Deer Hunter
12. The Outlaw Josey Wales
13. Presumed Innocent
14. Point Break
15. The Accused
16. Meet the Parents
17. Phone Booth
18. Shark Tale
19. U.S. Marshals
20. Sliding Doors
21. Entrapment
22. Liar, Liar
23. Cruel Intentions
24. The Shawshank Redemption
25. Mercury Rising

Loesungen per mail an mich, natuerlich wie immer ohne Google et al.


gnOme

-----------------------------------------------------------------------------



Re: Trading Places? Hmm... kenn ich nicht! (Bambi, 30. Okt 2010, 15:11:45):
~#! rn=Gnome rt=1288380064 rg=puiz
~#! tid=1288380064
Ich fuehle mich irgendwie bedroht, wenn ich Titel 11 lese...

-----------------------------------------------------------------------------



Re: Trading Places? Hmm... kenn ich nicht! (Gnome, 11. Nov 2010, 16:30:56):
~#! rn=Gnome rt=1288380064 rg=puiz
~#! tid=1288380064
Hier die Loesungen:

 1. Trading Places: Die Gluecksritter
 2. The Long Kiss Goodnight: Toedliche Weihnachten
 3. Rear Window: Das Fenster zum Hof
 4. Jaws: Der weisse Hai
 5. The Whole Nine Yards: Keine halben Sachen
 6. Something's Gotta Give: Was das Herz begehrt
 7. Danny The Dog: Unleashed - Entfesselt
 8. Shattered: Tod im Spiegel
 9. Murder by Numbers: Mord nach Plan
10. Never Say Never Again: James Bond - Sag niemals nie
11. The Deer Hunter: Die durch die Hoelle gehen
12. The Outlaw Josey Wales: Der Texaner
13. Presumed Innocent: Aus Mangel an Beweisen
14. Point Break: Gefaehrliche Brandung
15. The Accused: Angeklagt
16. Meet the Parents: Meine Braut, ihr Vater und ich
17. Phone Booth: Nicht auflegen!
18. Shark Tale: Grosse Haie - kleine Fische
19. U.S. Marshals: Auf der Jagd
20. Sliding Doors: Sie liebt ihn - sie liebt ihn nicht
21. Entrapment: Verlockende Falle
22. Liar, Liar: Der Dummschwaetzer
23. Cruel Intentions: Eiskalte Engel
24. The Shawshank Redemption: Die Verurteilten
25. Mercury Rising: Das Mercury-Puzzle

Sieger waren JdG und Lurchi mit jeweils 14 richtigen Filmtiteln.

gnOme

-----------------------------------------------------------------------------



Re: Re: Trading Places? Hmm... kenn ich nicht! (Alboin, 11. Nov 2010, 21:08:06):
~#! rn=Gnome rt=1289489456 rg=puiz
~#! tid=1288380064
Ich kenne gerade mal 10 Filme davon, und davon haette ich zwei richtig gehabt.
al

-----------------------------------------------------------------------------



Re^3: Trading Places? Hmm... kenn ich nicht! (Gnome, 11. Nov 2010, 21:30:38):
~#! rn=Alboin rt=1289506086 rg=puiz
~#! tid=1288380064
Du solltest mehr Filme schauen. :) Hier meine drei Empfehlungen:
Eiskalte Engel (Ryan Phillippe als supercooler badboy), Die Verurteilten
(Tim Robbins und Morgan Freeman in Hoechstform) und Sliding Doors
(Ein Was-waere-wenn-Film... ein Faible von mir, genauso wie Zeitreisen-Filme).

gnOme

-----------------------------------------------------------------------------



Re^4: Trading Places? Hmm... kenn ich nicht! (Alboin, 11. Nov 2010, 21:44:53):
~#! rn=Gnome rt=1289507438 rg=puiz
~#! tid=1288380064
Die ersten beiden Filme kenne ich., wobei ich den ersten nicht gesehen habe.
Der Inhalt sagte mir nicht zu. Beim die Veruteilten stimme ich Dir voll und
ganz zu. Den dritten werde ich mir anschauen, das Genre sagt mir auch.
Und dann um auf unseren alten Streit wieder zurueckzukommen. Leo finde ich
mittlerweile etwas besser, ich habe mir zumindest vorgenommen auch seinen
letzten anzuschauen. Brad Pitt halte ich nach wie vor fuer schwach, als Leiter
der Partisanentruppe wirkt der nicht glaubwuerdig, der und grausame Martern,
das ich nicht lache. Der soll weiter Kinder hueten das nehme ich ihm eher ab
;-)
al

-----------------------------------------------------------------------------



Re^5: Trading Places? Hmm... kenn ich nicht! (Gnome, 11. Nov 2010, 22:24:59):
~#! rn=Alboin rt=1289508293 rg=puiz
~#! tid=1288380064
Du kennst einen Film, ohne ihn gesehen zu haben? Die Faehigkeit moechte ich
auch haben, ich koennte viel Kinogeld sparen :)

Und es wird der Tag kommen, an dem Du Leo genial findest. ;) Und Brad...
wer zB mal Fight Club und The Mexican vergleicht, weiss, dass Brad nur
auf durchgeknallte, nicht sonderlich gesellschaftsfaehige Typen wirklich
gut kann.
In The Mexican ist er ein Weichei, in der Oceans-Reihe nur einer von vielen,
in den Frauenfilmen (A River Runs Through It, Interview mit..., Legenden
der Leidenschaft) ein weichgespuelter Macho, als Mr. Smith hatte er vor
lauter Rumgeballer keine Zeit wirklich zu schauspielern.
Nur die Rollen in Fight Club und 12 Monkeys passen zu ihm, fordern ihn
wirklich heraus, zeigen, was in ihm steckt: Genialitaet.


gnOme

-----------------------------------------------------------------------------



Re^6: Trading Places? Hmm... kenn ich nicht! (Alboin, 11. Nov 2010, 22:36:32):
~#! rn=Gnome rt=1289510699 rg=puiz
~#! tid=1288380064
Ich kannte nur den Inhalt und das Genre sagte mir nicht zu. 
Und Bloed Pitt fand ich auch bei 12 Monkeys unerirdisch. Das der einen Hirnie
spielen soll, konnte man bestenfalls an der Klappsenumgebung erahnen. Bei
Fightclub war er schon besser, aber auch weil er da im Windschatten von Edward
Norton segelte. Der ist nun wirklich ein ganz Grosser.
Wie gesagt Kinderhueten, das macht er vielleicht ganz gut.
al

-----------------------------------------------------------------------------



Re^6: Trading Places? Hmm... kenn ich nicht! (Croft, 11. Nov 2010, 22:36:36):
~#! rn=Gnome rt=1289510699 rg=puiz
~#! tid=1288380064
In Burn after reading und Inglourious Basterds war Herr Pitt grossartig.

Croft

-----------------------------------------------------------------------------



Das Grosse Extra3 Oelpest-Raten (Vanion, 11. Nov 2010, 23:01:19):
http://extra3.blog.ndr.de/2010/11/11/das-grose-extra-3-olpest-raten-wer-ist-we
r/
http://preview.tinyurl.com/3x42cwo

V*

-----------------------------------------------------------------------------



Re^6: Trading Places? Hmm... kenn ich nicht! (Ark, 12. Nov 2010, 11:02:57):
~#! rn=Gnome rt=1289510699 rg=puiz
~#! tid=1288380064
Snatch.


              *** ARK * the * Magnificent ***


-----------------------------------------------------------------------------



Re^4: Trading Places? Hmm... kenn ich nicht! (Hight, 24. Nov 2010, 11:26:59):
~#! rn=Gnome rt=1289507438 rg=puiz
~#! tid=1288380064
ich kenn ca. die haelfte von den filmen. hab aber bis auf ein oder zwei
ausnahmen kein in der deutschen fassung gesehen

-----------------------------------------------------------------------------



Re^5: Trading Places? Hmm... kenn ich nicht! (Gnome, 25. Nov 2010, 17:58:50):
~#! rn=Hight rt=1290594419 rg=puiz
~#! tid=1288380064
na dann haettest du ja gut 10 von 25 wissen muessen.

-----------------------------------------------------------------------------



Re^6: Trading Places? Hmm... kenn ich nicht! (Croft, 25. Nov 2010, 18:02:05):
~#! rn=Gnome rt=1290704330 rg=puiz
~#! tid=1288380064
Wie das?

Croft

-----------------------------------------------------------------------------



Re^7: Trading Places? Hmm... kenn ich nicht! (Hight, 26. Nov 2010, 09:32:25):
~#! rn=Croft rt=1290704525 rg=puiz
~#! tid=1288380064
jo die einfachen ... hab aber oefter das problem das ich deutschen tietel nie
gehoert hab

-----------------------------------------------------------------------------



Re^8: Trading Places? Hmm... kenn ich nicht! (Gloinson, 26. Nov 2010, 15:18:23):
~#! rn=Hight rt=1290760345 rg=puiz
~#! tid=1288380064
Ja, Eiffelturm, Louvre, Bahnhoefe ... immer in 3er-Gruppen. Aber Berlin
Schoenefeld vor einigen Jahren kann keiner toppen: SPW mit aufgepflanztem MG.


-----------------------------------------------------------------------------



Re^9: Trading Places? Hmm... kenn ich nicht! (Rumata, 26. Nov 2010, 15:33:17):
~#! rn=Gloinson rt=1290781103 rg=puiz
~#! tid=1288380064
Dreierstreifen? Eine kann lesen, einer schreiben und der dritte bewacht
die beiden Intellektuellen?

-----------------------------------------------------------------------------



Re^10: Trading Places? Hmm... kenn ich nicht! (Gnome, 26. Nov 2010, 18:50:47):
~#! rn=Rumata rt=1290781997 rg=puiz
~#! tid=1288380064
ihr seid anscheinend im voellig falschen thread.

-----------------------------------------------------------------------------



Welcher Begriff ist hier gesucht? (Slyfox, 29. Dez 2010, 21:22:39):
Englische Bezeichnung fuer ein Geschichtsbuch, bei dem in einem Teil die
Schweiz vergessen wurde.

-----------------------------------------------------------------------------



Re: Welcher Begriff ist hier gesucht? (Rumata,  6. Jan 2011, 13:12:51):
~#! rn=Slyfox rt=1293654159 rg=puiz
~#! tid=1293654159
Spontan faellt mir dazu ein Zeichensatz nur fuer feige Schweizer ein.

-----------------------------------------------------------------------------



