公式

A - Odd Position Sum 解説 by toam


初心者の方へ

この問題は for 文と if 文を用いて解くことができます.

まず,答えを格納する変数 ans0 で初期化します.そして for 文で添え字 i を使って配列 \(A\) を左から順にみていき,i が奇数番目( \(1,3,5,\ldots\) 番目)であれば A[i]ans に加えます.

多くのプログラミング言語では配列は 0-indexed です.そのため「奇数番目の要素」(\(A_1, A_3, A_5, \dots\))は,プログラム上では i = 0, 2, 4, ... に対応します.したがって,i % 2 == 0 のときに加算すればよいことになります.

実装例(C++)

#include <bits/stdc++.h>
using namespace std;

int main() {
  int N;
  cin >> N;
  vector<int> A(N);
  for (int i = 0; i < N; i++) {
    cin >> A[i];
  }
  int ans = 0;
  for (int i = 0; i < N; i++) {
    if (i % 2 == 0) {
      ans += A[i];
    }
  }
  cout << ans << endl;
}

実装例(Python)

N = int(input())
A = [int(i) for i in input().split()]
ans = 0
for i in range(N):
    if i % 2 == 0:
        ans += A[i]
print(ans)

Python ではスライス [::2] を使って簡潔に書くこともできます.これは「\(0\) 番目から \(2\) つおきに要素を取り出す」ことを意味します:

N = int(input())
A = list(map(int, input().split()))
print(sum(A[::2]))

投稿日時:
最終更新: