예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
            }
        }