Сначала спрашивайте у пользователя число n, потом заполняйте массив (с проверкой на [-100..100]), потом в цикле проверяйте каждый элемент массива на кратность 5. Параллельно с проверкой на кратность (в том же цикле) кидайте первое кратное число в переменную max, и сравнивайте с это переменной другие числа, кратные 5. Если больше - перезаписываете значение max
Цикл: (counter - счетчик, n - колво чисел в массиве)
max := 0; for counter = 1 To n Do if (Massive[counter] mod 5) = 0 then if Massive[counter] > max then max := Massive[counter];
Удобнее всего решать с использованием промежуточной двоичной системы, поскольку 16=2⁴, в 8=2³. В силу этого каждая шестнадцатиричная цифра изображается четырьмя битами (тетрадой), а каждая восьмеричная - тремя (триадой). Заменим неизвестные биты символом Х. 1010₁₆ = ХХХ ХХ1 010₈ Запишем изображения битов друг под другом с учетом известной нам информации. Х Х Х Х 1 0 1 0 Х Х Х Х Х 1 0 1 0 Теперь известные биты в конце чисел можно отбросить Х Х Х Х Х Х Х Х Х Очевидно, во втором (восьмеричном числе первый бит нулевой, поскольку оба числа в двоичной записи одинаковы и остается только ₂. Эти четыре бита (обозначим их IJKL) могут дать 16 комбинаций. Но требование, чтобы восьмеричное число имело три цифры, старшая из которых не может быть нулем, запрещает комбинацию IJ=00, поэтому 4 комбинации из 16 надо вычеркнуть. Останется 12.
б)X = 3*9(16)= 1**(8) тут или ошибка или нужно доказать что такого числа нет Минимальное 16ричное число при таких данных 309(16) = 777(10) Максимальное 8ричное число при таких данных 177(8) = 127(10) Так что такого числа нет
если переписать условие иначе б)X = 3*9(16)= 1***(8)
тогда
# код на руби for i in 0..2000 p [i, i.to_s(16), i.to_s(8)] if i%16==9 and (i/16/16)==3 and i/8/8/8==1 end
Цикл: (counter - счетчик, n - колво чисел в массиве)
max := 0;
for counter = 1 To n Do
if (Massive[counter] mod 5) = 0 then
if Massive[counter] > max then max := Massive[counter];
В конце выводите max