System.OutOfMemoryException при генерации простых чисел - C#
Формулировка задачи:
убейте не понимаю...
using System;
using System.Collections;
using System.Collections.Generic;
namespace Iterator
{
class Program
{
static void Main(string[] args)
{
Program program = new Program();
program.Start();
}
public void Start()
{
long number = 9699690;//609840;
foreach (long j in GetPrimes(number))
{
while (number % j == 0)
{
Console.WriteLine(j);
number /= j;
}
}
Console.ReadKey();
}
IEnumerable GetPrimes(long primeMax)
{
List<long> primes = new List<long>();
long next = 2;
primes.Add(next);
yield return next;
for (next = 3; next <= primeMax; next = +2)
{
long sqrt = (long)Math.Sqrt(next);
foreach (long j in primes)
{
if (j > sqrt)
{
primes.Add(next);
yield return next;
break;
}
if (next % j == 0)
break;
}
}
yield break;
}
}
}Решение задачи: «System.OutOfMemoryException при генерации простых чисел»
textual
Листинг программы
next = +2