Перетворенння

Візьмемо деяке натуральне число N. Будемо змінювати його наступним чином: якщо число парне, то розділимо його на 2, якщо непарне, додамо 1. Після декількох таких змін ми завжди отримаємо число 1. Наприклад, з числа 11 отримується число 12, потім 6, 3,4, 2 і, нарешті, 1. Таким чином, для отримання 1 з 11 потрібно виконати 6 перетворень.
Напишіть програму, яка зчитує натуральне число і виводить кількість перетворень даного числа до отримання 1.
Вхідні дані
Число N (1  N 109).
Вихідні дані
Кількість перетворень.


Вхідні дані
11
Вихідні дані
6



program peretvorennia;
var a : 1..10000000000;
k : int64;
BEGIN
readln (a);
k:=0;
while a<>1 do begin
k:=k+1;
if odd(a) then a:=a+1 else
a:=a div 2;
end;
writeln (k);

END.

Немає коментарів:

Дописати коментар