diff --git a/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Prime Numbers (Efficient).csproj b/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Prime Numbers (Efficient).csproj index 953fc07..1ab2686 100644 --- a/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Prime Numbers (Efficient).csproj +++ b/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Prime Numbers (Efficient).csproj @@ -43,6 +43,7 @@ + diff --git a/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Program.cs b/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Program.cs index c8422d4..d20b64d 100644 --- a/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Program.cs +++ b/Prime Numbers (Efficient)/Prime Numbers (Efficient)/Program.cs @@ -10,36 +10,9 @@ namespace Prime_Numbers__Efficient_ { static void Main(string[] args) { - int startNum = 2; - int maxNum = Convert.ToInt32(Console.ReadLine()); - bool isPrime = true; - List primeList = new List(); + prime primeFinder = new prime(); - for (int x = startNum; x <= maxNum; x++) - { - for (int y = 2; y < (x / 2) + 1; y++) - { - if ((x % y == 0)) - { - isPrime = false; - break; - } - } - if (isPrime == true) - { - primeList.Add(x); - } - else - { - isPrime = true; - } - - } - - foreach (var item in primeList) - { - Console.WriteLine(item); - } + Console.WriteLine(primeFinder.getPrimes(2, 2000000)); Console.ReadLine(); diff --git a/Prime Numbers (Efficient)/Prime Numbers (Efficient)/prime.cs b/Prime Numbers (Efficient)/Prime Numbers (Efficient)/prime.cs new file mode 100644 index 0000000..62eb5b1 --- /dev/null +++ b/Prime Numbers (Efficient)/Prime Numbers (Efficient)/prime.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Prime_Numbers__Efficient_ +{ + class prime + { + //Prime until proven not prime + private bool IsPrime { get; set; } = true; + private string Primes { get; set; } + + public string getPrimes(int startNum, int endNum) + { + for (int x = startNum; x <= endNum; x++) + { + for (int y = 2; y < (x / 2) + 1; y++) + { + if ((x % y == 0)) + { + IsPrime = false; + break; + } + } + if (IsPrime == true) + { + Primes += x + "\n"; + } + else + { + IsPrime = true; + } + + } + + return Primes; + + } + + } +}