どうも、ちょげ(@chogetarou)です。
accumulate()を使って配列(array)の要素同士で掛け算した積を取得する方法を紹介します。
方法

accumulate()を使って配列(array)の要素同士で掛け算した積を取得するには、4つの引数を使います。
まず、numericをインクルードします。
#include <numeric>
次に、accumulate()を呼び出します。
accumulate()の第1引数に配列のイテレータの先頭、第2引数に配列のイテレータの末尾、第3引数に「1」を指定します。
accumulate()の第4引数に、2つの引数を掛け算した結果を返す関数を指定します。
//myArray=対象の配列, T=要素の型
T result = accumulate(begin(myArray), end(myArray), 1, multiplies<T>());
上記のaccumulate()は、配列の要素同士で掛け算した積を取得します。
使用例
#include <iostream>
#include <numeric>
using namespace std;
int main(void){
int nums[6] = { 11, 2, 8, 20, 7, 4 };
int result = accumulate(begin(nums), end(nums), 1, multiplies<int>());
cout << result << endl;
return 0;
}
出力:
98560
コメント