123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #ifndef _RATIONAL_
- #define _RATIONAL_
- #include <iostream>
- using namespace std;
- class Rational {
- public:
- long long int num;
- long long int denum;
- Rational();
- Rational(int num1);
- Rational(float x);
- Rational(double x);
- Rational(int num1, int num2);
- Rational& operator *=(const Rational& r);
- Rational operator *(const Rational& r) const;
- Rational& operator += (const Rational& r);
- Rational operator + (const Rational& r) const;
- Rational& operator -= (const Rational& r);
- Rational operator - (const Rational& r) const;
- Rational operator / (const Rational& r) const;
- Rational& operator /= (const Rational& r);
- Rational& operator *=(const int r);
- Rational operator *(const int r) const;
- Rational& operator += (const int r);
- Rational operator + (const int r) const;
- Rational& operator -= (const int r);
- Rational operator - (const int r) const;
- Rational operator / (const int r) const;
- Rational& operator /= (const int r);
- Rational& operator *=(const double r);
- Rational operator *(const double r) const;
- Rational& operator += (const double r);
- Rational operator + (const double r) const;
- Rational& operator -= (const double r);
- Rational operator - (const double r) const;
- Rational operator / (const double r) const;
- Rational& operator /= (const double r);
- Rational operator -() const;
- operator int () const;
- operator double() const;
- friend ostream& operator <<(ostream& out, const Rational& r);
- Rational sqrt();
- private:
- // упрощение самого себя
- void simple();
- // НОК
- long long int lcm(long long int num1, long long int num2);
- // НОД
- long long int gcd(long long int num1, long long int num2);
- };
- #endif
|