public CFrac(Rational a) { for (; ; a = a.FractionalPart().Reciprocal()) { nonP.Add((int)(ulong)a.Round().Abs()); if (a.IsInteger()) { break; } } }