Exemplo n.º 1
0
        public Rational(int numerator = 1, int divider = 1)
        {
            if (divider == 0)
            {
                throw new DivideByZeroException();
            }

            var(n, d) = GCD.ReduceNumber(Math.Abs(numerator), Math.Abs(divider));

            this.numerator = n;
            this.divider   = d;
            this.sign      = (numerator * divider >= 0) ? 1 : -1;
        }
Exemplo n.º 2
0
        public static (int, int) ReduceNumber(int numerator, int divider)
        {
            int maxDivider = GCD.findGCD(numerator, divider);

            return(numerator / maxDivider, divider / maxDivider);
        }