rationnal.cpp 384 B

123456789101112131415161718192021222324
  1. #include "rationnal.hpp"
  2. //-----
  3. // gcd
  4. //-----
  5. Int gcd(Int a,Int b){
  6. Int r=a;
  7. Int rp=b;
  8. while(r!=0){
  9. Int q=rp/r;
  10. Int t=r;
  11. r=rp-(q*r);
  12. rp=t;
  13. }
  14. return rp;
  15. }
  16. //------------
  17. // operator<<
  18. //------------
  19. ostream& operator<<(ostream& os,const Rationnal& r){
  20. if(r.denominator()==1) return os<<r.numerator();
  21. return os<<r.numerator()<<'/'<<r.denominator();
  22. }