Georgiy031

Untitled

Oct 4th, 2020
424
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. typedef long long ll;
  5. typedef unsigned long long ull;
  6. #define all(x) x.begin(), x.end()
  7. #define rall(x) x.rbegin(), x.rend()
  8. #define endl '\n'
  9. #define boostIO() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  10. ll gcd(ll a, ll b) { return (b == 0 ? a : gcd(b, a % b)); }
  11.  
  12. double f(double x) {
  13.     return x + 1 / x - 4 * cos(x);
  14. }
  15.  
  16. signed main() {
  17.     double l = 0, r = 1;
  18.     cout << "l = " << l << endl;
  19.     cout << "r = " << r << endl;
  20.  
  21.     int k = 1;
  22.     vector<double> epss = { 1e-2, 1e-3, 1e-4 };
  23.     for (auto eps : epss) {
  24.         cout.unsetf(ios_base::fixed);
  25.         cout << endl << "current epsilon: " << eps << endl;
  26.         cout << fixed << setprecision(5);
  27.         while (true) {
  28.             double m = l + (r - l) * 0.5;
  29.             double fm = f(m);
  30.             cout << "m" << k << " = " << setw(8) << m <<
  31.                 "   f(m" << k++ << ") = " << setw(8) << fm << endl;
  32.            
  33.             if (fabs(fm) < eps) break;
  34.             if (f(m) * f(l) < 0) r = m;
  35.             else l = m;
  36.         }
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment