Алгоритм: for j := 1 to N do if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1
for j := 1 to N - перебор всех элементов массива (8 <= a[j]) and (a[j] <= 63) - восьмеричная запись чисел от 8₁₀ до 63₁₀ содержит ровно две цифры (a[j] div 8 < a[j] mod 8) - первая (старшая) цифра меньше второй (младшей) при восьмеричная запись чисел от 8₁₀ до 63₁₀ k:=k + 1 - счётчик количества элементов массива соответствующих условиям
Программа целиком: const N=40; var a: array [1..N] of integer; i, j, k: longint; begin for i:=1 to N do readln(a[i]); for j := 1 to N do if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1; writeln('Количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причем первая (старшая) цифра меньше второй (младшей), равно: ',k); end.
Так как конкретной программы не дано, напишу на Питоне
Программа, где массив вводится вручную и выполняются поставленные условия во вложении
Если имеется уже готовый массив, то во 2-ой строке заполнить все его элементы и удалить 4 и 5-ую строки.
Как это работает?a - сам массивminimum - контр значение с которым будем сравнивать эл-ты4 и 5 строкой заполняем массив 40 эл-ми вручную6 и 7 строками проверяем каждый эл-т по поставленному условию8 строка - присваиваем число минимуму9 - 12 выводим ответ, проверяя, изменился ли эл-т minimum с начала программы, если да - выводим его, нет - выводим 0
for j := 1 to N do
if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1
for j := 1 to N - перебор всех элементов массива
(8 <= a[j]) and (a[j] <= 63) - восьмеричная запись чисел от 8₁₀ до 63₁₀ содержит ровно две цифры
(a[j] div 8 < a[j] mod 8) - первая (старшая) цифра меньше второй (младшей) при восьмеричная запись чисел от 8₁₀ до 63₁₀
k:=k + 1 - счётчик количества элементов массива соответствующих условиям
Программа целиком:
const N=40;
var a: array [1..N] of integer;
i, j, k: longint;
begin
for i:=1 to N do
readln(a[i]);
for j := 1 to N do
if (8 <= a[j]) and (a[j] <= 63) and (a[j] div 8 < a[j] mod 8) then k:=k + 1;
writeln('Количество элементов массива, восьмеричная запись которого содержит ровно две цифры, причем первая (старшая) цифра меньше второй (младшей), равно: ',k);
end.
Так как конкретной программы не дано, напишу на Питоне
Программа, где массив вводится вручную и выполняются поставленные условия во вложении
Если имеется уже готовый массив, то во 2-ой строке заполнить все его элементы и удалить 4 и 5-ую строки.
Как это работает?a - сам массивminimum - контр значение с которым будем сравнивать эл-ты4 и 5 строкой заполняем массив 40 эл-ми вручную6 и 7 строками проверяем каждый эл-т по поставленному условию8 строка - присваиваем число минимуму9 - 12 выводим ответ, проверяя, изменился ли эл-т minimum с начала программы, если да - выводим его, нет - выводим 0