Advertisement
Caneq

lb2.7.8

Nov 9th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <iomanip>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     setlocale(LC_ALL, "rus");
  9.     double x;
  10.     int n;
  11.     cout << "n = ";
  12.     cin >> n;
  13.     x = 1;
  14.     cout << setw(5) << "x |" << setw(15) << " Сумма обычная |" << setw(12) << " слагаемых |" << setw(12) << " умножений |"
  15.         << setw(13) << " по Горнеру |" << setw(12) << " слагаемых |" << setw(11) << " умножений " << endl;
  16.  
  17.  
  18.     while (x <= 3) {
  19.         double s_sum = 6;
  20.         double l = -x*x; //первое слагаемое
  21.         s_sum += l;
  22.         int s_mult_count = 1;
  23.         int s_adds_count = 1;
  24.  
  25.         for (int cur_n = 1; cur_n < n; cur_n++) {
  26.             l *= -(cur_n + 1)*x*x / cur_n;
  27.             s_mult_count += 4;
  28.             s_sum += l;
  29.             s_adds_count++;
  30.         }
  31.  
  32.  
  33.         int sig = !(n % 2) ? 1 : -1;
  34.         double g_sum = sig*n;
  35.         int g_adds_count = 0;
  36.         int g_mult_count = 1;
  37.  
  38.         for (int currentn = n - 1; currentn >= 0; currentn--) {
  39.             sig = -sig;
  40.             g_sum = g_sum*x*x + sig*currentn;
  41.             g_mult_count += 3;
  42.             g_adds_count++;
  43.         }
  44.         g_sum += 6;
  45.         g_adds_count++;
  46.  
  47.         cout << setw(3) << x << setw(15) << s_sum << setw(12) << s_adds_count << setw(12) << s_mult_count
  48.             << setw(13) << g_sum << setw(12) << g_adds_count << setw(11) << g_mult_count << endl;
  49.         x += 0.2 - 1e-16;
  50.     }
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement