Advertisement
jkonefal

Untitled

Mar 31st, 2022
927
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.68 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Collections;
  4.  
  5. namespace lista4zad2
  6. {
  7.     public class PrimeCollection : IEnumerable
  8.     {
  9.         IEnumerator IEnumerable.GetEnumerator()
  10.         {
  11.             return (IEnumerator) GetEnumerator();
  12.         }
  13.  
  14.         public PrimeEnum GetEnumerator()
  15.         {
  16.             return new PrimeEnum();
  17.         }
  18.     }
  19.  
  20.     public class PrimeEnum : IEnumerator
  21.     {
  22.         int prime_num = 1;
  23.         public bool MoveNext()
  24.         {
  25.             for (prime_num = prime_num + 1; prime_num <= Int32.MaxValue; prime_num++)
  26.             {
  27.                 bool not_prime = false;
  28.                 for (int j = 2; j <= Math.Sqrt(prime_num); j++)
  29.                 {
  30.                     if (prime_num % j == 0)
  31.                     {
  32.                         not_prime = true;
  33.                         break;
  34.                     }
  35.                 }
  36.                 if (!not_prime)
  37.                 {
  38.                     break;
  39.                 }
  40.             }
  41.             if (prime_num >= Int32.MaxValue) return false;
  42.             return true;
  43.         }
  44.         public void Reset()
  45.         {
  46.             prime_num = 1;
  47.         }
  48.  
  49.         object IEnumerator.Current
  50.         {
  51.             get
  52.             {
  53.                 return Current;
  54.             }
  55.         }
  56.  
  57.         public int Current
  58.         {
  59.             get
  60.             {
  61.                 return prime_num;
  62.             }
  63.         }
  64.  
  65.  
  66.     }
  67.    
  68.     public class lista4zad2
  69.     {
  70.         static void Main()
  71.         {
  72.             PrimeCollection pc = new PrimeCollection();
  73.             foreach(int p in pc)
  74.                 Console.WriteLine(p);
  75.         }
  76.     }
  77.  
  78. }
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement