Esempio n. 1
0
        /// <summary>
        /// Умножение дробей
        /// </summary>
        /// <param name = "A"> Дробь 1 </param>
        /// <param name = "B"> Дробь 2 </param>
        /// <returns> Перемноженные дроби </returns>
        public static Rational Run(Rational A, Rational B)
        {
            Rational ret = new Rational(new Digit(new int[] { }), new Digit(new int[] { }));

            ret.Numerator   = Z_8.Run(A.Numerator, B.Numerator);
            ret.Denominator = N_8.Run(A.Denominator, B.Denominator);
            return(Q_1.Run(ret.Clear()));
        }
Esempio n. 2
0
        /// <summary>
        /// сокращение дроби
        /// </summary>
        /// <param name="A"> Дробь </param>
        /// <returns>Будет возвращенa сокращенная дробь </returns>
        public static Rational Run(Rational A)
        {
            if (A.Clear().Numerator[0] == 0 && A.Numerator.Length == 1)
            {
                return(new Rational("0"));
            }
            Natural HOD = N_13.Run(Z_5.Run(new Digit(A.Denominator)), Z_5.Run(A.Numerator)); // Находим НОД числителя и знаменателя

            A.Numerator   = Z_9.Run(A.Numerator, HOD);                                       //Сокращаем числитель на НОД числителя и знаменятеля
            A.Denominator = N_11.Run(A.Denominator, HOD);                                    // Сокращаем знаменатель на нод

            return(A);
        }