C++における範囲合計のための簡単な方法


以下に、いくつかの一般的な方法を示します。

  1. ループを使用する方法:

    int rangeSum(int arr[], int start, int end) {
       int sum = 0;
       for (int i = start; i <= end; i++) {
           sum += arr[i];
       }
       return sum;
    }
  2. STLのaccumulate関数を使用する方法:

    #include <numeric> // accumulate関数を使用するために必要なヘッダ
    int rangeSum(int arr[], int start, int end) {
       return std::accumulate(arr + start, arr + end + 1, 0);
    }
  3. 再帰を使用する方法:

    int rangeSumRecursive(int arr[], int start, int end) {
       if (start == end) {
           return arr[start];
       } else {
           int mid = (start + end) / 2;
           int leftSum = rangeSumRecursive(arr, start, mid);
           int rightSum = rangeSumRecursive(arr, mid + 1, end);
           return leftSum + rightSum;
       }
    }

これらの方法は、範囲合計を計算するための一般的な手法です。適切な方法は、問題の要件や制約によって異なる場合があります。

以上が、C++における範囲合計のための簡単な方法といくつかのコード例です。適切な方法を選択し、問題に応じて適用してください。