Здравствуйте! Пожалуйста, помогите написать программу на языке PascalABC.NET
Формулировка: Даны натуральное число N и целые числа A1, A2, …, AN. Определить количество членов последовательности A1, A2, …, AN, являющихся квадратами чётных чисел.
Ответы на вопрос
Ответил BobbyFresnel
2
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.
Новые вопросы