Die Collatz-Vermutung besagt, dass für eine beliebige natürliche Zahl
n
folgende Transformation immer bei 1 herauskommt:
n
gerade: n = n / 2
n
ungerade: n = 3*n + 1
Die Funktion collatz
soll für ein gegebenes n
bestimmen, wie viele Schritte notwendig sind, um die 1 zu erreichen. Falls dies
nie der Fall ist (z.B. bei n=0
) oder ein n
die Größe von 64 Bits überschreitet, soll der Wert 0
zurückgegeben werden.
Maximale Codelänge: 4096 Bytes
#include <stdint.h>
uint64_t collatz(uint64_t n);
Hinweis: Nutzung des Aufgabentesters erst nach Login möglich.