Задание 17. (ДЕМО-2023)
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых только одно число оканчивается на 3, а сумма квадратов элементов пары не меньше квадрата максимального элемента последовательности, оканчивающегося на 3. В ответе запишите два числа: сначала количество найденных пар, затем максимальную из сумм квадратов элементов таких пар. В данной задаче под парой подразумевается два идущих подряд
элемента последовательности.
Решение
Обозначим переменными:
m - максимальный элемент последовательности, оканчивающегося на 3;
k - количество искомых пар последовательности;
s - максимальная сумма пары чисел последовательности.
var k,s,m:integer;
f:text;
a:array[1..5000] of integer;
begin
assign(f,'указать адрес файла\17.txt');
reset(f);
for var i:=1 to 5000 do readln(f,a[i]);
k:=0;s:=0;
// ищем максимальный элемент последовательности, оканчивающийся на 3;
m:=-10000;
for var i:=1 to 5000 do
if (abs(a[i]) mod 10=3) and(a[i]>m) then m:=a[i];
// считаем количество пар, удовлетворяющих условию
for var i:=1 to 4999 do
if ((((abs(a[i])) mod 10=3) and ((abs(a[i+1])) mod 10<>3)) or ((abs((a[i])) mod 10<>3) and ((abs(a[i+1])) mod 10=3))) and (a[i]*a[i]+a[i+1]*a[i+1]>=m*m) then begin
k:=k+1;
if a[i]*a[i]+a[i+1]*a[i+1]>s then s:=a[i]*a[i]+a[i+1]*a[i+1];
end;
println(k,s);
end.
Примечание: т.к. в последовательности есть отрицательные числа, то при нахождении остатка целесообразно брать модуль числа
Ответ: 180 190360573
Посмотреть примеры (скачать)
Авторизуйтесь, чтобы оставить свой комментарий: