Написать программу на языке pascalabc.net
формулировка: даны натуральное число n и целые числа a1, a2, …, an. определить количество членов последовательности a1, a2, …, an, являющихся квадратами чётных чисел.

vika22888535 vika22888535    1   20.11.2019 20:25    0

Ответы
jelenazeile jelenazeile  10.10.2020 14:39

function IsFullSqr(n: integer): boolean;

begin

 var (i, m) := (1, 1);

 while m < n do

 begin

   i += 2;

   m += i

 end;

 Result := m = n;

end;

begin

 var n := ReadInteger('n=');

 Println('Вводите последовательность');

 ReadSeqInteger(n)

   .Where(p -> ((p mod 10) in [0, 4, 6]) and IsFullSqr(p))

   .Count.Println

end.

Использовано свойство квадрата числа быть суммой последовательности нечетных чисел: 1+3+5+ ...

Квадраты четных чисел оканчиваются на 0, 4 или 6.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика