2 で何回割れる?

#お題

整数 N が与えられます。
N が何回 2 で割れるかを求め、出力してください。

 

 


#入力

N



・ 1 行で整数 N が与えられます。

 

 

 


#出力

 

N が何回 2 で割れるかを求め、出力してください。

 

 


#コード

a = int(input())
cnt = 0
ans = a
while ans % 2 == 0:
    ans = ans / 2
    cnt += 1
print(cnt)

 

 

 


#参考

<別解>

N = int(input())

div_count = 0
while True:
    if N % 2 == 0:
        N //= 2
        div_count += 1
    else:
        break

print(div_count)
  • Python の場合、While True: と記述することで永遠にループを回すことができます。
  • N が 2 で割れなくなった場合に breakすることで無限ループからブレイクするようにしましょう。