LoginSignup
0
0

More than 1 year has passed since last update.

ABC100 C - *3 or /2 から学んだ

Last updated at Posted at 2021-09-22

abc100_1.png
abc100_2.png
abc100_3.png
abc100_4.png

正直、さっぱりだったので
ご指導を賜りました。

ありがたく頂戴しました。
以下で通りました、はい。

3or/2.py
N = int(input())
A = list(map(int,input().split()))

cnt = 0

for i in range(N):
    while True:
        if A[i]%2 == 0:
            cnt += 1
            A[i] = A[i]//2
        else:
            break

print(cnt)#82ms

サッパリ忘れて再チャレンジ。
なんとか通った。

ポイントは入力 A には 2 が何個入っているかを確認すること
3 を何回掛けても 2 は増えない。一方でどれかを必ず 2 で割る。
っと言うことは事は、2 が何個入っていれば分かれば試行回数が分かる。

abc100c.py
N = int(input())
A = list(map(int,input().split()))

cnt = 0
for i in range(N):
    if A[i] % 2 != 0:
        continue
    else:
        while True:
            if A[i]%2 == 0:
                A[i] = A[i]//2
                cnt += 1
            else:
                break
print(cnt)#80ms
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0