№№ заданий Пояснения Ответы Ключ Добавить инструкцию Критерии
Источник Раздел кодификатора ФИПИ Справка
PDF-версия PDF-версия (вертикальная) PDF-версия (крупный шрифт) PDF-версия (с большим полем) Версия для копирования в MS Word
Задания
Задание 25 № 13474

Дан массив, содержащий 2017 положительных целых чисел, не превышающих 1000. Необходимо найти и вывести максимальный из тех элементов этого массива, шестнадцатеричная запись которых содержит не менее трёх цифр и оканчивается цифрой 3. Если таких чисел в массиве нет, ответ считается равным нулю. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

БейсикPython

CONST N = 2017

DIM A (N) AS INTEGER

DIM I, M, K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные m и k

a = []

n = 2017

for i in range(0, n):

    a.append(int(input()))

ПаскальАлгоритмический язык

const

    N = 2017;

var

    a: array [1..N] of integer;

    i, m, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 2017

    целтаб a[1:N]

    цел i, m, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

кон

Си++

#include <iostream>

using namespace std;

#define N 2017

int main() {

    int a[N];

    int i, m, k;

    for (i = 0; i < N; i++)

        cin >> a[i];

    ... return 0;

}

 

 

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

Решение.

Паскаль

m := 0;

for i := 1 to N do begin

    if (a[i] >= 256) and (a[i] mod 16 = 3) and (a[i] > m) then

       m := a[i];

end;

writeln(m);

Алгоритмический язык

m := 0;

нц для i от 1 до N

    если (a[i] >= 256) и (a[i] mod 16 = 3) и (a[i] > m)

    то

         m := a[i];

    все

кц

вывод m

Бейсик

M = 0

FOR I = 1 TO N

     IF (A[I] >= 256) AND (A[I] MOD 16 = 3) AND (A[I] > M) THEN

         M := A[I]

    END IF

NEXT I

PRINT M

Python

m = 0

for i in range(0, n):

    if (a[i] >= 256) and (a[i] % 16 == 3) and (a[i] > m):

         m = a[i]

print(m)

Си

m = 0;

for (i = 0; i < N; i++)

    if (a[i] >= 256) && (a[i] % 16 == 3) && (a[i] > m)

         m = a[i];

cout « m « endl;

 

Примечание.

В числе 1A3 записанном в шестнадцаттеричной системе счисления 3 цифр, то есть A также считается цифрой.

· ·