Шаги до единицы по Коллатцу

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Математика
Исключения

Дано целое число number. Посчитайте, за сколько шагов оно превратится в 1 по правилам гипотезы Коллатца: если число чётное, разделите его на 2, если нечётное, умножьте на 3 и прибавьте 1. Повторяйте, пока не получится 1. Для 1 ответ 0. Промежуточные значения могут выйти за 32 бита, поэтому аргумент имеет тип 64-битного целого.

Если number меньше 1 (ноль или отрицательное), сообщите об ошибке: бросьте исключение, в Go верните error.

Пример: 12 → 9 (12, 6, 3, 10, 5, 16, 8, 4, 2, 1).


Источник: Exercism, collatz-conjecture · © Exercism · MIT · условие переведено и дополнено

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки