private static IEnumerable<Fraction> GenerateExpansions(int n) { var expansions = new List<Fraction> {new Fraction(1, 2)}; for (int i = 1; i < n; i++) { var fraction = new Fraction(expansions[i - 1].Denominator, 2*expansions[i - 1].Denominator + expansions[i - 1].Numerator); expansions.Add(fraction); } return expansions; }
private static bool CompareNumeratorWithDenominator(Fraction fraction) { Fraction newFraction = fraction.Add(1); return newFraction.Numerator.GetDigits().Count > newFraction.Denominator.GetDigits().Count; }
public bool Equals(Fraction other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return other.Numerator == Numerator && other.Denominator == Denominator; }
public Fraction Add(Fraction number) { return new Fraction(Numerator * number.Denominator + number.Numerator*Denominator,Denominator * number.Denominator); }
private static Fraction ConnectSeries(Fraction capacitance1, Fraction capacitance2) { return capacitance1.Add(capacitance2); }
private static Fraction ConnectParallel(Fraction capacitance1, Fraction capacitance2) { return capacitance1.Reciprocal().Add(capacitance2.Reciprocal()).Reciprocal(); }
public Fraction Add(Fraction number) { return(new Fraction(Numerator * number.Denominator + number.Numerator * Denominator, Denominator * number.Denominator)); }