Die komprimierte Collatz-Folge ( oder: Coll-Punkte ) |
Ableitung der Rekursion für die ungeraden Coll-Punkte: ■ Jede gerade Zahl kann auf eine ungerade Zahl zurückgeführt werden (2er Division). ■ Jede ungerade Zahl läßt sich schreiben n = k * 2^j -1 Die nächstgrößere gerade Zahl ist dann n+1 = k * 2^j k ist ungerade und >=1 (Mit k=1 und j>1 ist n eine Mersenne-Zahl.) ■ Die Rekursion für die Coll-Punkte findet man aus n = k*2^j -1 und aus der Collatz-Vorschrift für die gekürzte Folge n' = n*3/2 +1/2 n' = (k * 2^j -1) * 3/2 +1/2 = (k *2^j *3 -3 +1) / 2 = k *2^(j-1) *3^1 -1 Für j=1 ist 2^(j-1)=2^0=1 und statt 3^1 wird für j=1 ... 3^j Führt man die Entwicklung weiter für j>1 bestätigt sich diese Beziehung !! Man erhält den geraden Wert n' = k*3^j -1 , ... aus n=k*2^j -1 und mit 2^e als Teiler von n' n' = k' * 2^e damit ist der ungerade, reduzierte Wert n' = (k *3^j-1) / 2^e ■ Die Rekursion ( je-Algorithmus, nach den Potenzen j und e) kann in einer speziellen Kettenbruch-Entwicklung geschrieben werden: (n+1) -------- * 3^j -1 2^j n' = ----------------------- 2^e oder ... n' = ( ( (n+1) / 2^j ) * 3^j -1) / 2^e wobei gilt.. 2^j ist die größte in n+1 aufgehende Zweierpotenz und 2^e ist die größte in ( (n+1) / 2^j ) * 3^j -1 aufgehende Zweierpotenz ... das Ganze nochmals in einfachem Basic-Code, der prinzipiell auch die schrittweisen Collatz-Werte liefert: ' Für jeden ganzzahligen, positiven Startwert n>1 gilt: PRINT n DO UNTIL n=1 n=n+1 : j=0 WHILE n MOD 2=0 n=n/2 : j=j+1 WEND n=n*3^j -1 : e=0 WHILE n MOD 2=0 n=n/2 : e=e+1 WEND PRINT n LOOP ' Ergebnis mit n=27 : ' 27 31 121 91 103 175 445 167 283 319 911 577 433 325 61 23 5 1 |