.NET 4.x Класс, который генерирует простые числа - C#
Формулировка задачи:
Ув.Гуру,влейте немного мозгов.
Класс, который генерирует простые числа.
SimpleNumbers num = new SimpleNumbers(10, 200);
Console.WriteLine(num.Length);
for (int i = 0; i < num.Length; i++)
{
Console.WriteLine(num[i]);
}Решение задачи: «.NET 4.x Класс, который генерирует простые числа»
textual
Листинг программы
class SimpleNumbers
{
private List<int> _nums;
public SimpleNumbers(int start, int end)
{
_nums = new List<int>();
for (int i = start; i <= end; ++i)
if (IsSimple(i))
_nums.Add(i);
}
private static bool IsSimple(int n)
{
if (n <= 1) return false;
for (int i = 2; i < n; ++i)
if (n % i == 0)
return false;
return true;
}
public int Length
{
get { return _nums.Count; }
}
public int this[int i]
{
get { return _nums[i]; }
}
}