Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наибольший из элементов массива, восьмеричная запись которого содержит ровно три цифры. Если таких чисел нет, нужно вывести ответ 0.
Решение:
минимальное трехзначное число в 8-й системе: 1008=64
максимальное трехзначное число в 8-й системе: 7778=511
Паскаль
|
k := 0; for i := 1 to N do if (64 <= a[i]) and (a[i] < 512) and (a[i] > k) then k := a[i]; writeln(k); |
C++
|
k = 0; for (i = 0; i<N; i++) if (64 <= a[i] && a[i] < 512 && a[i] > k) k = a[i]; cout<<k; |
Python
|
k = 0 for i in range(0, N): if a[i] >= 64 and a[i] < 512 and a[i] > k: k = a[i] print(k) |