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');
}