#13152: Python TLE 求改善


andy940255 (Andy)


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())

#13153: Re:Python TLE 求改善


asnewchien@gmail.com (david)


 


2 種方式給您參考

1)  轉為 2 進位,找到右邊數過來第一個 0 的位置

2)  mod 2 == 1 則加 1 , mod 2 == 0 ... quit

#13154: Re:Python TLE 求改善


asnewchien@gmail.com (david)


 


2 種方式給您參考

1)  轉為 2 進位,找到右邊數過來第一個 0 的位置

2)  mod 2 == 1 則加 1 , mod 2 == 0 ... quit



第 2 種方式 mod 後要除以 2