Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstddef>
  3. #include <math.h>
  4. #include <iomanip>
  5.  
  6. //poznaz v 13
  7.  
  8. double EPSILON = 1 * 10e-15;
  9.  
  10. double actg(double x) {
  11.     if (fabs(x) > 1.0) return 0.;
  12.     double part = -x;
  13.     double n = 1.;
  14.     double sum = M_PI / 2.;
  15.     double delta = part;
  16.     while (fabs(delta) > EPSILON) {
  17.         delta = sum;
  18.         sum += part / n;
  19.         delta -= sum;
  20.         part *= x * x * -1.;
  21.         n += 2.;
  22.     }
  23.     return sum;
  24. }
  25.  
  26. int main() {
  27.     int k;
  28.     std::cout << "beware! k > 9 requires a lot of time." << std::endl;
  29.     std::cout << "k = ";
  30.     std::cin >> k;
  31.     EPSILON = pow(10, -k);
  32.     double step;
  33.     std::cout << "step = ";
  34.     std::cin >> step;
  35.     double x = -1;
  36.     while (fabs(x) <= 1) {
  37.         double r = actg(x);
  38.         double e = M_PI / 2. - atan(x);
  39.         std::cout << std::setprecision(k) << r << "       " << e << "       " << fabs(e - r) << std::endl;
  40.         x += step;
  41.     }
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement