def P(n): return int(bin(int(n)).replace('0','',1).replace('b', ''))A = P(input())while A != 0 : Q, C = [], 0 if A == 0: continue for i in str(A) : Q.insert(0,int(i)) for i in Q: if i == 1: C += 1 else: break print(C) A = P(input())
2 種方式給您參考
1) 轉為 2 進位,找到右邊數過來第一個 0 的位置
2) mod 2 == 1 則加 1 , mod 2 == 0 ... quit
第 2 種方式 mod 後要除以 2