Impulsiv 54
! zum Inhaltsverzeichnis
< zum vorangehenden Abschnitt:
> zum folgenden Abschnitt:
Franz Indra
:
indra@informatik.tu-muenchen.de
Auch dieses Mal erfreute sich das Preisrätsel reger Anteilnahme, es gab
allerdings auch einige falsche Einsendungen. Trotzdem können wir 19
StudentInnen zu 26 gewonnenen CDs beglückwünschen. Also: Herzlichen
Glückwunsch! Es hat sich auch gezeigt, daß die Zeitspanne bis zum
Einsendetermin viel zu groß bemessen war, da uns fast alle Lösungen noch im
November erreichten. In Zukunft wird der Einsendeschluß daher früher angesetzt
werden.
Und die Gewinner sind: Torsten Butz, Benjamin Sailer, Andreas Völkl, Wolfgang
Auchter, Michael Balasch, Clemens Durka, Andreas Kahler, Michael Streichsbier,
Andrea Mitchell, Christian Bach, Guenther Donderer, Hariolf Hagenbucher,
Andreas Augustin, Alexander Jovanovic, Richard Hoefter, Lars Wittmer,
Alexander Pircher, Bredow und Michael Huber. 17-mal wurde das Mathe-Rätsel
gelöst, 8-mal das Physik-Rätsel (aber nur dreimal wirklich genau) und bloß
ein einziges Mal das Info-Rätsel. Was machen eigentlich die Informatiker den
lieben langen Tag, anstatt Rätsel zu lösen!
Doch nun zu den Lösungen:
Gefragt war, welche Käfigtüren am Ende des Experiments offen stehen. Da zu
Beginn alle Türen geschlossen waren, handelt es sich also um genau diejenigen,
die eine ungerade Anzahl von ``Zustandsänderungen'' erfahren haben. Eine Tür
wurde genau dann geöffnet bzw. geschlossen, wenn die Käfignummern durch eine
bestimmte Zahl von 1 bis 100 teilbar waren. Es sind also diejenigen
Käfignummern gesucht, deren Teileranzahl ungerade ist. Ist nun aber t Teiler
von n, dann ist auch nt Teiler von n. Eine ungerade Anzahl von Teilern ist
demnach nur möglich, wenn es einen Teiler t von n gibt mit
t = nt; n ist also
das Quadrat von t. Daher stehen am Schluß die Käfigtüren offen, deren Nummer
eine Quadratzahl ist.
Der Forscher geht 1 km nach Süden, 1 km nach Westen und 1 km nach Norden und
ist dann wieder am Ausgangsort. Dieses Problem hat eine triviale Lösung: Er
steht am Nordpol (es gab hier ein paar Einwände: magnetischer ist nicht
geographischer Pol, kann der Kompaß noch getragen werden, der Kompaß zeigt
zufällig in eine Richtung, der Forscher ist nicht der allerhellste usw., aber
es wurde ja eine idealisierte Erde vorausgesetzt). Der Südpol ist jedoch nicht
möglich, weil man von dort aus nicht nach Süden kommen kann!
Dies ist aber keineswegs die einzige Lösung. In der Tat erhält man unendlich
viele weitere, wenn der Forscher so nahe am Südpol steht, daß er auf seiner
Wanderung nach Westen die Erde genau einmal umrundet; danach geht er dieselbe
Strecke, die er vorher nach Süden gegangen ist, nach Norden zurück und steht
wieder am Ausgangsort. Aber auch das sind noch nicht alle Lösungen. Der
Forscher kann genausogut noch ein kleines bißchen näher am Südpol sein und
die Erde zweimal, dreimal etc. umrunden. Weitere Möglichkeiten gibt es nun aber
keine mehr; insbesondere ist nicht der analoge Fall am Nordpol möglich, denn
wenn der Forscher 1 km nach Süden geht, hat der Kreis, den er bei seiner
Westwanderung umrunden müßte, einen Radius, der fast 1 km beträgt (wer's
genau wissen will: 6366 km ( 21 km40000 km )
999.97 m ), sein Umfang ist also sicher größer als 1 km.
Doch wo liegen diese weiteren Lösungen genau? Sie sind sicherlich nicht - wie
einige vorschlugen - 1000+500n m (mit einer natürlichen Zahl n)
vom Südpol entfernt, weil die Erde unten nicht platt ist.
Stattdessen handelt es sich um einen der südlichen Breitenkreise
_n = 180^ ( 2 - 1 kmr -
1 km2n r )
mit n N
und r als Erdradius (6366 km)
Geht er nämlich von dort aus 1 km nach Süden, dann befindet er sich auf dem
Breitenkreis
_n = _n + 360^ 1 km2r =
90^ - 180^ 1 km2n r
Dieser Breitenkreis hat einen Umfang von:
2r ( 2
- 2360^ _n ) = 1 kmn
Das C-Programm hat anscheinend viele abgeschreckt, obwohl es diesmal nicht
``irgendeinen Blödsinn und meistens einen core dump'' macht, wie jemand
schrieb. Weiter unten noch einmal der Text (mit sinngemäßer benannten Variablen).
Das Programm erwartet die Eingabe der m×n-Matrix A und der n×o-Matrix B,
berechnet deren Produkt und schreibt das Ergebnis, eine m×o-Matrix, nach C.
Franz
void what_will_I_do(double *A, double *B, double *C, int m, int n, int o)
for(long l=0;l<m*o*n;l++)*(C+l/n/o*o+l/n -*(C+l/n/o*o+l/n
This document was converted from LaTeX using Karl Ewald's latex2html.