Witam może mi ktoś wyjaśnić jak to działa że wynikiem jest 2? Bo na logikę wynikiem powinno być 6... Napisałem to ale nie rozumiem jak to działa:/ Wejście to 11.
#include <iostream>
using namespace std;
int x;
int licz(int x)
{
int w=0;
if(x==1)
{
return 1;
}
else
{
w=licz(x/2);
if(x%2==1)
{
return w+1;
}
else
{
return w-1;
}
}
}
int main()
{
cin>>x;
cout<<licz(x);
return 0;
}