ЕП
Екатерина Пётрушкина
рекурсия pascal вычисление степени
function a(n:integer):integer;
begin
if n:=1 then a:=1 else
a:=a(n div 2)+1;
end;
begin
readln(n);
writeln(rec(n));
readln;
end.
если кому интересно, эта функция вычисляет
степень числа 2 в которую нужно его возвести
чтобы было выполнено неравенство
2^a-1<=n<2^a
вопрос следующий: не могу понять как вычисляется
эта степень какой результат конкретно записывается
в стек при каждом цикле рекурсии
например если вводим цифру 6 программа
выдает результат 3, это верный рез. т. к.
2^3-1<=6<2^3 но как он вычисляется
для меня загадка