直接代码如下:
//数值计算
//accumulate
#include<iostream>
#include<string>
#include<algorithm>
#include<numeric>
#include<functional>
#include<vector>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9,10};
vector<int>v(a,a+10);
int max=accumulate(v.begin(),v.end(),0);
cout<<max<<endl;
int jianyibai=accumulate(v.begin(),v.begin()+4,1,multiplies<int>());
cout<<jianyibai<<endl;
system("pause");
return 0;
}
//inner_product
#include<iostream>
#include<string>
#include<vector>
#include<numeric>
#include<algorithm>
#include<functional>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,7,9,10};
vector<int>v(a,a+10);
vector<int>vv(a,a+10);
int max=inner_product(v.begin(),v.end(),vv.begin(),1);
cout<<max<<endl;
cout<<inner_product(v.begin(),v.begin()+5,vv.begin(),1,multiplies<int>(),plus<int>());
cout<<endl;
system("pause");
return 0;
}
//partial_sum
#include<iostream>
#include<string>
#include<vector>
#include<numeric>
#include<algorithm>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6};
vector<int>v(a,a+6);
partial_sum(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
partial_sum(v.begin(),v.end(),ostream_iterator<int>(cout," "),multiplies<int>());
cout<<endl;
system("pause");
return 0;
}
//adjacent_difference
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<numeric>
#include<functional>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9,10};
vector<int>v(a,a+10);
adjacent_difference(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
adjacent_difference(v.begin(),v.end(),ostream_iterator<int>(cout," "),plus<int>());
cout<<endl;
system("pause");
return 0;
}