[ create a new paste ] login | about

Link: http://codepad.org/5reMRXJt    [ raw code | output | fork ]

C++, pasted on May 2:
#include <iostream>
#include <cmath>
#include <cassert>

double const a = 3.1415926;
double const b = 2.1828182;
double const delta = +1.0e-5;

class P {
  double x, y;
public:
  P(double x, double y) : x(x), y(y) {}
  double len(P p) { double u = p.x - this->x, v = p.y - this->y; return std::sqrt(u * u + v * v); }
  double operator+=(double a) { return this->x += a; }
  double getx() { return this->x; }
};

double const epsilon = +1.0e-5;
int main() {
  assert(a > 0 && delta > 0);
  P p(a, b), q(0.0, 0.0);
  for (;std::fabs(q.len(p) - q.getx()) > epsilon; q += delta)
    ;
  std::cout << q.getx() << std::endl;
  return 0;
}
/* end */


Output:
1
2.32912


Create a new paste based on this one


Comments: