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); }
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); } }
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); }