private static (int, int) ReducingToCommonDenominator(RationNumber valueA, RationNumber valueB) { int numeratorA = valueA.Numerator * valueB.Denominator; int numeratorB = valueB.Numerator * valueA.Denominator; return(numeratorA, numeratorB); }
public bool Equals(RationNumber number) { if (number is null) { return(false); } return(number.Numerator == _numerator && number.Denominator == _denominator); }
public static RationNumber operator %(RationNumber valueA, RationNumber valueB) { RationNumber valueC = valueA / valueB; if (valueC.Numerator < valueC.Denominator) { return(new RationNumber(0, 1)); } else { int integerPart = 0; do { integerPart++; }while (valueC.Numerator - (valueC.Denominator * integerPart) > valueC.Denominator); valueC.Numerator -= valueC.Denominator * integerPart; } return(valueC * valueB); }