ЕП
Екатерина Пётрушкина

рекурсия 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 но как он вычисляется
для меня загадка

СС
Си Сишка

идет последовательное обращение функции самой к себе пока аргумент функции не упрется в 1 (аргумент постоянно уменьшается)

Похожие вопросы
Вычисление значений функции для нескольких значений аргументов и параметров. turbo pascal
Составить программу вычисления суммы конечного/бесконечного ряда. (PASCAL)
Задача по рекурсии. С++
Помогите написать полную программу вычисления объема куба. (Pascal)
СРОЧНО... нужна программа для вычисления корней квадратного уравнения (Pascal)
Как можно решить эту задачу при помощи рекурсии? ( Pascal)
Pascal. Как записать степень отрицательного числа? Допустим -0,6 в степени i+1
рекурсия pascal дерево вызовов
Разработать программу для вычисления произведения элементов одномерного числового массива, рекурсия Помогите пожалуйста)
Pascal Как с помощью вектора иверсии найти номер перестановки, используя массивы и рекурсию?