回答編集履歴

2

refactor the code further

2021/06/06 03:35

投稿

yosukesan
yosukesan

スコア41

test CHANGED
@@ -88,25 +88,11 @@
88
88
 
89
89
  ```
90
90
 
91
- #すべての整数を割ってから処理した回数カウントを増やしていく方法は
92
-
93
- #自分では出来なかったのでそれぞれの整数を何回割れるかカウント(c1)して
94
-
95
- #それらのカウントの最小値を求めることで答えを出す
96
-
97
-
98
-
99
91
  n = int(input())
100
92
 
101
93
  a = list(map(int,input().split()))
102
94
 
103
95
 
104
-
105
- c1 = 0#処理の回数
106
-
107
- c2 = 0#最初に偶数がいくつあるか
108
-
109
- a2 = 0#偶奇を判断するための変数
110
96
 
111
97
  ans = 0#俺の好きな9
112
98
 
@@ -127,8 +113,6 @@
127
113
  stop = False
128
114
 
129
115
  ans += 1
130
-
131
-
132
116
 
133
117
 
134
118
 

1

add more samples

2021/06/06 03:35

投稿

yosukesan
yosukesan

スコア41

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  if a2 == 0:
48
48
 
49
- c2 += 1
49
+ c2 += 1t
50
50
 
51
51
 
52
52
 
@@ -66,7 +66,7 @@
66
66
 
67
67
  stop = False
68
68
 
69
- ans += 1
69
+ ans += 1 #全ての要素が偶数なのを確認したので、カウント+1
70
70
 
71
71
 
72
72
 
@@ -84,7 +84,63 @@
84
84
 
85
85
 
86
86
 
87
+ ちなみに、これぐらいまで削ぎ落とせます。こちらも AC しました。
88
+
89
+ ```
90
+
91
+ #すべての整数を割ってから処理した回数カウントを増やしていく方法は
92
+
93
+ #自分では出来なかったのでそれぞれの整数を何回割れるかカウント(c1)して
94
+
95
+ #それらのカウントの最小値を求めることで答えを出す
96
+
97
+
98
+
99
+ n = int(input())
100
+
101
+ a = list(map(int,input().split()))
102
+
103
+
104
+
105
+ c1 = 0#処理の回数
106
+
107
+ c2 = 0#最初に偶数がいくつあるか
108
+
109
+ a2 = 0#偶奇を判断するための変数
110
+
111
+ ans = 0#俺の好きな9
112
+
113
+
114
+
115
+ stop = True
116
+
117
+ while stop:
118
+
119
+ for i in range(0, len(a)):
120
+
121
+ if a[i]%2 == 0:#偶奇
122
+
123
+ a[i] /= 2#÷2
124
+
125
+ else:
126
+
127
+ stop = False
128
+
129
+ ans += 1
130
+
131
+
132
+
133
+
134
+
135
+ print(ans-1)
136
+
137
+
138
+
139
+ ```
140
+
141
+
142
+
87
- なお、私ならば以下の様に書きます。
143
+ なお、私ならば以下の様に書きます。AC しています。
88
144
 
89
145
  ```
90
146