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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д