Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <iomanip>
  5. #include <math.h>
  6. using namespace std;
  7. int n;
  8. double z;
  9. double z2;
  10. double a;
  11. double f (double m)
  12. {
  13. vector <double> v(1000);
  14. v[0] = a;
  15. v[1] = m;
  16. for (int i = 2; i < n; i++)
  17. v[i] = 2*(1 + v[i - 1]) - v[i - 2];
  18. double k;
  19. for (int i = 0; i < n; i++)
  20. if (v[i] < k)
  21. k = v[i];
  22. return k;
  23. }
  24. double b_res (double m)
  25. {
  26. vector <double> v(1000);
  27. v[0] = a;
  28. v[1] = m;
  29. for (int i = 2; i < n; i++)
  30. v[i] = 2*(1 + v[i - 1]) - v[i - 2];
  31. return v[n-1];
  32. }
  33. double bin_search (double l, double r)
  34. {
  35. if (r - l > 0.000000000001)
  36. {
  37. double m = (l + r) / 2;
  38. z = b_res(m);
  39. z2 = f(m);
  40. if (z2 >= 0)
  41. bin_search(l, m);
  42. else {
  43. bin_search(m, r);
  44. }
  45. }
  46. }
  47. int main() {
  48. cin >> n >> a;
  49. double l = 0;
  50. double r = 1000;
  51. bin_search(l, r);
  52. cout << fixed << setprecision(2) << abs(z);
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement