57 lines
1.7 KiB
C#

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<int> ep = GetPrimes();
IEnumerator<int> enump = ep.GetEnumerator();
while (true)
{
enump.MoveNext();
Console.WriteLine(enump.Current);
}
}
else{
Console.WriteLine("Not a valid number!");
}
}
}
static IEnumerable<int> 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);
}
}
}