unsigned int NDivide3(unsigned int n)...{ unsigned int ans=0,i,b; while(n>3)...{ b=n>>2; ans+=b; n=n^3+b; } if(3==n) return ++ans; else return ans;}