using System; using System.Collections.Generic; using System.Linq; using System.Runtime; namespace IsPrimeFP{ class Program{ static void Main(string[] args){ string readLine = ""; while (readLine != "exit"){ Console.WriteLine("Enter a number: "); readLine = Console.ReadLine(); if (int.TryParse(readLine, out int enteredNumber)) { if (!IsPrime(enteredNumber)){ Console.WriteLine("Number {0} is a prime number", enteredNumber); } else{ Console.WriteLine("Number {0} is not a prime number", enteredNumber); } } else if (readLine == "prime") { Console.WriteLine("Entering Infinite loop:"); IEnumerable ep = GetPrimes(); IEnumerator enump = ep.GetEnumerator(); while (true) { enump.MoveNext(); Console.WriteLine(enump.Current); } } else{ Console.WriteLine("Not a valid number!"); } } } static IEnumerable GetPrimes() { int i = 2; while (true) { if (!IsPrime(i)) { yield return i; } i++; } } public static bool IsPrime(int n){ return !Enumerable.Range(2, n-2).All(num => n % num != 0); } } }