c++中求和的可以用std::accumulate, 那求积有没有这样的function?

求大神。。

① 没有。 因为不需要,因为可以通过accumulate得到product(即乘积)(通过模板函数multiplies)。 其实:求和是sum,求积是product,都包含在accumulate(累积)的意思里面,不同的初值,不同的作用函数(求和用的缺省函数plus<int>())得到不同的结果。

② 代码如下:

#include <iostream>
#include <functional> 
#include <numeric>

using namespace std;

int main(int argc, char const *argv[])
{
    int arr[] = {1,2,3,4,5,6,7,8,9};
    size_t size = sizeof(arr)/sizeof(arr[0]);
    
    cout << accumulate (arr, arr+size,0) << endl;    
    cout << accumulate (arr, arr+size,1,multiplies<int>()) << endl;
    return 0;
}

运行:

45
362880

温馨提示:答案为网友推荐,仅供参考
相似回答