TT
Trancer Trancer

С++.Рекурсивная функция определения числа.

Задача: Написать рекурсивную функцию определения такого числа "а", что выполняется неравенство: 2^a-1<=n<2^a

Подскажите как можно сделать рекурсивную функцию определения числа "a" c учётом того, что аргумент ей будет передаваться только один "n"?
С передачей двух это выглядит так:

int asqr(int n,int a)

{

if (n<2) return a;

else asqr(n/2,a+1);

}

void main()

{setlocale(LC_ALL,"Russian");

char quit;

int n,a(1);

do{

cout <<"*** 2^a-1<=n<2^a ****"<
cout << "n = ";cin>>n;

a=asqr(n,a);

cout <<"2^"<
cout<<"Продолжить (y/n)";

}while(cin>>quit && quit=='y');

}

Ив
Иван

int asqr(int n)
{
if (n<=2) return 1; else return asqr(n/2)+1;
}

Похожие вопросы
Помогите описать рекурсивную функцию прошу( функция вичисления значений функции &#8730;(n+&#8730;(n-1+..+&#8730;1) )
Паскаль рекурсивная функция.
Какое число входит в область определения функции?!
вычисление ассимптотической сложности рекурсивной функции
Сделайте рекурсивную функцию С++
найти область определения у=1 когда функция равна числу, какая область определения?
С++.Рекурсивная функция проверки числа.
С++.Рекурсивная функция вычисления n-го числа Фибоначчи. Кто-нибудь может написать такую функцию?
Какие функции вычисляются алгоритмом? Что такое рекурсивные и базисные функции?
Где на сайте может быть использована рекурсивная функция?