As with all such questions, it attempts to test (creative) thinking. Also as with (almost) all such questions, knowledge can prevent that.
For this example, 1/3, in binary, is 0.0101010101…
From there, writing out the long multiplication will give hints towards a solution. Untested, so likely erroneous:
uint n = 12356;
uint result = 0;
while( n > 0)
{
n >>= 2;
result += n; // cheating
}
If you do not want to cheat, write a function that computes x minus 1 using but twiddling, and add a loop.