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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5
Похожие ответы