/// <summary> /// Divisores de um número /// </summary> /// <param name="value">Número</param> /// <returns>Lista de Divisores de um número</returns> public static PrimeDividers Dividers(int value) { List <long> b = Primes(100); PrimeDividers r = new PrimeDividers(); long n = value; int i = 0; while (n != 1) { int divider = Convert.ToInt32(b[i]); Console.WriteLine("divider {0}", i); if ((n % divider) == 0) { PrimeDivider pd = new PrimeDivider(divider, 1); r.Add(pd); n /= divider; } else { i++; } } return(r); }
/// <summary> /// Adiciona um divisor de uma número à lista /// </summary> /// <param name="item"></param> public void Add(PrimeDivider item) { int j = 0; for (int i = 0; i < Content.Count; i++) { if (Content[i].Divider == item.Divider) { Content[i].Exponent = Content[i].Exponent + 1; j = 1; break; } } if (j == 0) { Content.Add(item); } }