Дан массив, содержащий 2016 положительных целых чисел, не превышающих 1000. Необходимо...

0 голосов
44 просмотров

Дан массив, содержащий 2016 положительных целых чисел, не
превышающих 1000. Необходимо найти и вывести максимальный из тех
элементов этого массива, восьмеричная запись которых содержит ровно
3 цифры. Если таких чисел в массиве нет, ответ считается равным нулю.
Исходные данные объявлены так, как показано ниже. Запрещается
использовать переменные, не описанные ниже, но разрешается не
использовать часть из описанных.
const
N=2016;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);

end.
В качестве ответа Вам необходимо привести фрагмент программы, который
должен находиться на месте многоточия. Вы можете записать решение также
на другом языке программирования (укажите название и версию языка
программирования). В этом случае Вы должны использовать те же самые
исходные данные и переменные, какие были предложены в условии.


Информатика (32 баллов) | 44 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

3 знака имеют восьмеричные числа в диапазоне [8^2:8^3)
----------------------------
const N=2016; 
var 
  a: array [1..N] of integer; 
  i, m, k: integer; 
begin 
for i:=1 to N do 
  readln(a[i]); 
m:=0;
for i:=1 to n do 
  if (a[i]>=(8*8)) and (a[i]<(8*8*8)) and (a[i]>m) then m:=a[i];
writeln (m)
end. 

---------------------
PS: PascalABC.NET

Примеры работы программы на массиве из 16 чисел:

1)
48 56 2 512 63 5 910 852 674 1000 4 0 8 10 59 16
0

2)
133 644 897 400 421 272 682 222 289 165 525 178 313 224 650 980
421

(3.5k баллов)