public Numero maximoComunDivisorCon(Entero otroEntero) { Numero resto = this.restoCon(otroEntero); dynamic restoDinamico = Convert.ChangeType(resto, resto.GetType()); return(maximoComunDivisorAux(otroEntero, restoDinamico)); }
public static Numero dividir(Entero dividendo, Entero divisor) { Numero maximoComunDivisor = dividendo.maximoComunDivisorCon(divisor); Numero numerador = dividendo.divisionEntera(maximoComunDivisor); Numero denominador = divisor.divisionEntera(maximoComunDivisor); dynamic numeradorNoTipado = Convert.ChangeType(numerador, numerador.GetType()); dynamic denominadorNoTipado = Convert.ChangeType(denominador, denominador.GetType()); Assert.IsFalse(numerador is Entero && numerador.Equals(new Entero(1))); Assert.IsFalse(numerador is Entero && numerador.Equals(new Entero(0))); return(dividirCoprimos(numeradorNoTipado, denominadorNoTipado)); }
public override Numero dividido(Numero divisor) { dynamic a = Convert.ChangeType(divisor, divisor.GetType()); return(divididoNumero(a)); }
public override Numero mas(Numero sumando) { dynamic a = Convert.ChangeType(sumando, sumando.GetType()); return(sumarNumero(a)); }
public override Numero por(Numero multiplicador) { dynamic a = Convert.ChangeType(multiplicador, multiplicador.GetType()); return(sumarNumero(a)); }
public Numero divisionEntera(Numero otroEntero) { dynamic otroEnteroNoTipado = Convert.ChangeType(otroEntero, otroEntero.GetType()); return(divisionEnteraAux(otroEnteroNoTipado)); }
private Numero sumarNumero(Cero sumando) { dynamic numeradorNoTipado = Convert.ChangeType(numerador, numerador.GetType()); return(dividir(numeradorNoTipado, denominador)); }