Prime Number Improvements, Moved the methods into a unique class. The list has been exchanged for a single string with line breaks. This is much more efficient and doesnt require the foreach loop to output the data. Can just output the single string.
This commit is contained in:
parent
95c5fe0e23
commit
1168d0b934
@ -43,6 +43,7 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="prime.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -10,36 +10,9 @@ namespace Prime_Numbers__Efficient_
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
int startNum = 2;
|
prime primeFinder = new prime();
|
||||||
int maxNum = Convert.ToInt32(Console.ReadLine());
|
|
||||||
bool isPrime = true;
|
|
||||||
List<int> primeList = new List<int>();
|
|
||||||
|
|
||||||
for (int x = startNum; x <= maxNum; x++)
|
Console.WriteLine(primeFinder.getPrimes(2, 2000000));
|
||||||
{
|
|
||||||
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.ReadLine();
|
Console.ReadLine();
|
||||||
|
|
||||||
|
43
Prime Numbers (Efficient)/Prime Numbers (Efficient)/prime.cs
Normal file
43
Prime Numbers (Efficient)/Prime Numbers (Efficient)/prime.cs
Normal file
@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user