1 ile 100 arasıda ki asal sayıların LINQ ile nasıl buluruz hep birlikte yapalım
normalde aşağıdaki kod ile asal sayıları çok kolay bir şekilde bulabiliriz
bool Asal(int sayi)
{
for (int i = 2; i < sayi; i++)
{
if (sayi % i == 0) return false;
}
return true;
}
1-100 arası asal sayıları bulmamız için döngülerden for döngüsünü kullanabiliriz.
public static IEnumerable AsalSayilarGetir(int sayi)
{
var ints = Enumerable.Range(2, sayi - 1);
return ints.Where(x => !ints
.TakeWhile(y => y < x)
.Any(y => x % y == 0));
}
static void Main(string[] args)
{
var asalsayilar = AsalSayilarGetir(100);
asalsayilar.ToList().ForEach(Console.WriteLine);
}
yazdığımız programın çıktısı aşağıdaki gibi olacaktır