Example #1
0
        static Result LargestPrimeFactor(Problem arguments)
        {
            //n=600851475143;143;8462696833;
            long        number  = arguments.LongNumber;
            Tree <long> factors = new Tree <long>();
            string      m;

            UtilityMath.GetPrimeFactors(number, factors);

            bool isPrime = factors.Size == 0;
            long max     = (long)factors.Max();

            if (isPrime)
            {
                m = string.Format("The prime factors of {0} are [{1}], maximum is {2}", number, factors.ToString(), max);
            }
            else
            {
                m = string.Format("{0} is not a prime, but its prime factors are [{1}] with maximum {2}", number, factors.ToString(), max);
            }

            var r = new Result(arguments.Id, m);

            return(r);
        }
Example #2
0
        static void Problem3(ProblemArguments arguments)
        {
            //n=600851475143;143;8462696833;
            long        number  = arguments.Number;
            Tree <long> factors = new Tree <long>();

            UtilityMath.GetPrimeFactors(arguments.Number, factors);

            bool isPrime = factors.Size == 0;
            long max     = (long)factors.Max();

            if (isPrime)
            {
                Console.WriteLine("The prime factors of {0} are [{1}], maximum is {2}", number, factors.ToString(), max);
            }
            else
            {
                Console.WriteLine("{0} is not a prime, but its prime factors are [{1}] with maximum {2}", number, factors.ToString(), max);
            }
        }
Example #3
0
        public static void Problem7b(ProblemArguments arguments)
        {
            long        index   = arguments.Number;
            long        number  = 2;
            Tree <long> factors = new Tree <long>();

            while (factors.Size < index)
            {
                UtilityMath.GetPrimeFactors(number, factors);
                number++;
            }

            string      prime = string.Empty;
            Node <long> node  = factors[index];

            if (node != null)
            {
                prime = node.Item.ToString();
            }

            Console.WriteLine("The {0}st/nd prime number is {1}.", index, prime);
        }