1. 程式人生 > >26.數值算法

26.數值算法

AC urn out enc 實現 iot pos AR spa

  • 對容器進行填充
    1 void show(int x)
    2 {
    3     cout << x << endl;
    4 }
    1 int a[10];
    2     //指定一個數據開始,對a進行填充
    3     iota(a, a + 10, 1);
    4 
    5     for_each(a, a + 10, show);
  • 容器兩個元素進行計算
    1 //數組兩個元素計算
    2     cout << accumulate(a, a + 10, -1, [](int x, int y) {return x * y; }) << endl;

  • 內積
    1
    int a1[3] = { 1,2,3 }; 2 int b1[3] = { 4,5,6 }; 3 //實現兩個數組對應的位置相乘,然後相加,(內積)最後邊的0是計算完再加一個0 4 int res = inner_product(a1, a1 + 3, b1, 0); 5 cout << res << endl;

  • 乘方
    1 cout << pow(2, 10) << endl;

  • 求相鄰元素之差與之積
    1 int a2[5] = { 1,12,3,14,5 };
    2         int res[5
    ]; 3 //求相鄰元素之差 4 adjacent_difference(a2, a2 + 5, res); 5 for_each(res, res + 5, [](int x) {cout << x << endl; }); 6 //求相鄰元素之積 7 adjacent_difference(a2, a2 + 5, res, [](int a, int b) {return a * b; });

  • 求一個容器的和與積,並把過程保存在一個數組中
     1 int a[5] = { 1,23,4,5
    ,6 }; 2 int v[5]; 3 //計算和到v中 4 partial_sum(a, a + 5, v); 5 6 for_each(v, v + 5, [](int x) {cout << x << endl; }); 7 8 //計算積到v中 9 partial_sum(a, a + 5, v, [](int a,int b) {return a*b}); 10 11 for_each(v, v + 5, [](int x) {cout << x << endl; });

26.數值算法