BETA

AtCoder Beginner Contest 100 C

投稿日:2019-07-04
最終更新:2019-07-04

AtCoder Beginner Contest 100 C を解く

問題文

AtCoder Beginner Contest 100 の開催にともなって, AtCoder 社では長さ N の数列 a={a1,a2,a3,...,aN} が飾られることになった.
社員のすぬけ君は, この数列で遊んでみようと思った.
具体的には, 以下の操作をできるだけ多くの回数繰り返そうと思った.1iN を満たす全ての i に対して, それぞれ「ai の値を 2 で割る」「ai の値を 3 倍する」のどちらかを行う.
ただし, 全ての i に対して 3 倍することはできず, 操作後の ai の値は整数でなければならない. 最大で何回の操作が可能か, 求めなさい.

こう考えた

  • 問題文1行で書くと「aが2で何回割れるかの合計を求めよ。」となる。

書いたコード

N=int(input())  
A=list(map(int,input().split()))  
Ans=0  
for i in A:  
  if i%2==1:  
    continue  
  else:  
    C=0  
    n=i  
    while n%2==0:  
      C=C+1  
      n=n//2  
    Ans=Ans+C  
print(Ans)  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

aocoryの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!