>>660さん
for(mask=1<<n-1;mask!=0;mask>>=1)っていうヒントから
どう結びつけたのですか?