3m+1
Diese Aufgabe ist der Anfang unserer ganzen Programmierreihe. Jens hatte sie bei ACM International Collegiate Programming Contest gefunden und davon beim Stammtisch am 29. Januar 2004 erzählt. Daraufhin haben wir einen Laptop ergriffen und angefangen zu programmieren. Da ich (Jörg) schon am Stammtisch das ganze geleitet habe, habe ich auch die Dokumentation zu dieser Aufgabe geschrieben.
Aufgabenstellung
Die Folge <xk> (k nat. Zahl) ist wie folgt
definiert:
Für gerade xk ergibt sich xk+1 als
xk/2 und für ungerade xk ergibt sich
xk+1 als 3xk+1.
Nach endlich vielen Schritten (Folgeglieder) ergibt sich xk
= 1. Welches ist die größte Anzahl an Schritten -- das größte
k--, die/das sich für eine
Zahl im Intervall [1,n] ergibt?
Lösung
Dieses Problem zu lösen ist ansich sehr einfach -- Brute Force. Jedoch
ging es uns bei der Programmierung mehr um den Punkt, diese Aufgabe
möglichst schnell und ordentlich zu bewältigen.
3m1.ps [180k], 3m1.pdf [150k],
Quellen 3m1.tar.gz[22k]
