前提・実現したいこと
AtCoderでの問題を説いていて疑問に思った点を解決したいと思い質問しています。
問題としては『ABC081B - Shift only』で、
制約としては
1≤N≤200
1≤Ai≤10
N個の正の整数A1~ANが存在して(NとA1~ANは入力)、これらの整数がすべて偶数であった場合
すべてを2で割ったものに置き換える。そうしてこの置き換えが何回できるかを出力するというものです。
疑問点
グローバル変数として、A[200]を宣言しているにも関わらず、main()内でまたAを宣言している点が理解できません。 このコードは https://programcompdiary-2357.blogspot.com/2020/08/abc081b-shift-only.html この方のコードを参考にしたものです。
該当のソースコード
C++
1#include <bits/stdc++.h> 2using namespace std; 3 4int N, A[200]; 5 6int main() { 7 int dmin =100; 8 cin >> N; 9 10 for (int i = 0; i < N; i++) { 11 int A; 12 cin >> A; 13 int d = 0; 14 while (A % 2 ==0) { 15 A /= 2; 16 d ++; 17 } 18 dmin = min (dmin,d); 19 } 20 cout << dmin << endl; 21}
試したこと
グローバル変数としての機能を調べて理解できたのですが、これをなんて調べたら解決できるのかわからず、ここで質問させていただきました。
補足情報(FW/ツールのバージョンなど)
あなたが書いたコードの意図は他人にはわからないのではないでしょうか。
回答1件
あなたの回答
tips
プレビュー