Определить количество членов последовательности, являющихся квадратами четных чисел - C#
Формулировка задачи:
Помогите решить задачу:
Даны натуральные числа n, a1, …, an. Определить количество членов ai последовательности a1, …, an , являющихся квадратами четных чисел.
Заранее спасибоРешение задачи: «Определить количество членов последовательности, являющихся квадратами четных чисел»
textual
Листинг программы
static void Main(string[] args)
{
var an = Enumerable.Range(24, 1000);
var result = GetSqr(an).AsParallel()/*.AsOrdered()*/;
Console.WriteLine(result.Count());
Console.ReadKey(false);
}
public static IEnumerable<int> GetSqr(IEnumerable<int> an)
{
var first = (int)Math.Ceiling(Math.Sqrt(an.First()));
var last = (int)(Math.Sqrt(an.Last())) & 0xFFFE;
for (int i = first; i <= last; i++)
if ((i & 1) != 1)
yield return i * i;
}