ABC068-B - Break Number を解く
ABC068-B - Break Number
整数Nが与えられるので、1以上N以下の整数のうち
最も2で割れる回数が多いものを求める問題
制約が 1 <= N <= 100 なので
1つ1つ確認していっても十分に間に合うだろう
以上を踏まえて書いたコードを以下に示す
提出したコード
# 入力 N=int(input()) # 最大回数 c=0 # 最大回数時の整数(初期値は0回である1とする) a=1 for x in range(1,N+1): _c=0 _x=x while True: if _x%2==0: _x//=2 _c+=1 else: if c<_c: c=_c a=x break # 出力 print(a)
提出結果はACでした
とてもシンプルで分かりやすい解説は一読の価値あり
是非下記リンクからご確認ください