Для каждого натурального числа N можно однозначно оперделить:
- последовательность команад, применение которой приводит данное число к 1;
- длину этой послеловательности;
- максимальное число в этой последовательности (пик );
- максимальную степень числа 2 в этой последовательности (последний пик);
- и т.д.
Попробуем построить последовательность команд для числа n:
- команду 3n+1 будем кодировать буквой u (up), а команду n//2 буквой d (down)
Пример:
13 u 40 d 20 d 10 d 5 u 16 d 8 d 4 d 2 d 1 = udddudddd
Легко видеть, что "последовательности команд" выполняется:
- не может быть двух u подряд;
- последний отрезок состоит из четного числа букв d (почему? докажите?)
- попробуйте найти ещё какие-то закономерности
Напишите программу, которая по исходному числу n получает "последовательность команд"