C++ Wiki
総和と総乗の計算
サンプルコード
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
std::vector<int> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sum = std::accumulate(v.begin(), v.end(), 0);
int prod = std::accumulate(v.begin(), v.end(), 1, std::multiplies<int>());
std::cout << "sum=" << sum << ", prod=" << prod << std::endl;
int sum2 = std::accumulate(v.begin(), v.end(), 0, [](int a, int b){ return a + (b % 2 == 0 ? b : 0); });
std::cout << "sum2=" << sum2 << std::endl;
return 0;
}
※sum2
は偶数要素の総和。
実行結果
sum=55, prod=3628800
sum2=30