#27573: C++ 一行解


fire5386 (becaidorz)


算要進位幾次就是數二進位中後面有幾個1,而"__builtin_ctz"這個function會回傳一個整數在二進位中後面有幾個0

所以我們只要把n的所有0和1顛倒,然後數後面有幾個0就可以了

顛倒n在二進位的0和1可以用 "~" 符號

while(cin >> n && n) 

cout << __builtin_ctz(~n) << "\n";