public virtual Rational Divides(Rational b) { int numberator = this.Numberator * b.Denominator; int denominator = this.Denominator * b.Numberator; int gcd = GetGcd(numberator, denominator); return new Rational(numberator / gcd, denominator / gcd); }
public void E1216() { Rational r = new Rational(3, 7); Rational r2 = new Rational(3, 4); Assert.AreEqual(new Rational(13, 14), r.Plus(new Rational(1, 2))); Assert.AreEqual(new Rational(1, 1), r2.Plus(new Rational(1, 4))); Assert.AreEqual(new Rational(1, 7), r.Minus(new Rational(2, 7))); Assert.AreEqual(new Rational(1, 2), r2.Minus(new Rational(1, 4))); Assert.AreEqual(new Rational(3, 14), r.Times(new Rational(1, 2))); Assert.AreEqual(new Rational(1, 2), r2.Times(new Rational(2, 3))); Assert.AreEqual(new Rational(3, 2), r.Divides(new Rational(2, 7))); Assert.AreEqual(new Rational(1, 1), r2.Divides(new Rational(3, 4))); }
public override Rational Plus(Rational b) { return base.Plus(b); }