Advertisement
Guest User

Untitled

a guest
Mar 30th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.35 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace ProjectEulerMyAnswers.Solves
  5. {
  6.     class Problem_5_alt
  7.     {
  8.         int number = 0;
  9.  
  10.         public Problem_5_alt(int num)
  11.         {
  12.             Console.WriteLine(GetAnswer(Factoring(num)));
  13.         }
  14.  
  15.         bool IsPrime(int num)
  16.         {
  17.             for (int i = 2; i <= num / 2; i++) {
  18.                 if (num % i == 0) {
  19.                     return false;
  20.                 }
  21.             }
  22.             return true;
  23.         }
  24.  
  25.         List<int> Factoring(int n)
  26.         {
  27.             List<int> FactorsOfNum = new List<int>();
  28.             int pow = 0;
  29.             for (int i = 2; i <= n; i++)
  30.             {
  31.                 if (IsPrime(i))
  32.                 {
  33.                     int num = i;
  34.                     while(num <= n)
  35.                     {
  36.                         num *= i;
  37.                         pow++;
  38.                     }
  39.                     number = num;
  40.                     FactorsOfNum.Add(pow);
  41.                 }
  42.             }
  43.             return FactorsOfNum;
  44.         }
  45.  
  46.         ulong GetAnswer(List<int> Factors)
  47.         {
  48.             ulong Answer = 1;
  49.             for(int i = 0; i < Factors.Count; i++)
  50.             {
  51.                 Answer *= Convert.ToUInt64(Math.Pow(number, Factors[i]));
  52.             }
  53.             return Answer;
  54.         }
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement