Finished
This commit is contained in:
parent
e487452b18
commit
0e72a5eb05
9 changed files with 146 additions and 57 deletions
|
|
@ -6,5 +6,5 @@ namespace Numbers.NumberFactory.NumberImpls;
|
|||
/// <inheritdoc cref="AbstractNumbers" />
|
||||
public sealed class EvenNumbers(long lowerBound, long upperBound) : AbstractNumbers(lowerBound, upperBound)
|
||||
{
|
||||
protected override bool PickNumber(long number) => false; // TODO
|
||||
protected override bool PickNumber(long number) => number % 2 == 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ namespace Numbers.NumberFactory.NumberImpls;
|
|||
/// <inheritdoc cref="AbstractNumbers" />
|
||||
public sealed class OddNumbers(long lowerBound, long upperBound) : AbstractNumbers(lowerBound, upperBound)
|
||||
{
|
||||
protected override bool PickNumber(long number) => false; // TODO
|
||||
protected override bool PickNumber(long number) => number % 2 != 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,5 +6,30 @@ namespace Numbers.NumberFactory.NumberImpls;
|
|||
/// <inheritdoc cref="AbstractNumbers" />
|
||||
public sealed class PrimeNumbers(long lowerBound, long upperBound) : AbstractNumbers(lowerBound, upperBound)
|
||||
{
|
||||
protected override bool PickNumber(long number) => false; // TODO
|
||||
protected override bool PickNumber(long number)
|
||||
{
|
||||
if (number < 2)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (number == 2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (number % 2 == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
long sqrtNum = (long)Math.Sqrt(number);
|
||||
for (int i = 3; i <= sqrtNum; i += 2)
|
||||
{
|
||||
if (number % i == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ namespace Numbers.NumberFactory.NumberImpls;
|
|||
/// <inheritdoc cref="AbstractNumbers" />
|
||||
public sealed class SquareNumbers(long lowerBound, long upperBound) : AbstractNumbers(lowerBound, upperBound)
|
||||
{
|
||||
protected override bool PickNumber(long number) => false; // TODO
|
||||
protected override bool PickNumber(long number) => Math.Sqrt(number) % 1 == 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue