Присваиваем переменной max, которая должна содержать максимальное значение, минимальное значение -1 ( -1000 -1 = -1001).
for j := 1 to N doif (a[j] mod 10 <> 3) and (a[j]<0) thenif a[j]>max then max := a[j];Пробегаемся по элементам массива и смотрим: если остаток модуля элемента от деления на 10 неравен 3 (т.е. не оканчивается цифрой 3) и элемент меньше 0 (т.е. отрицательный), тогда, при условии, что элемент больше текущего максимального значения, переменную max перезаписываем -- присваиваем ей текущий элемент.
if max=-1001 then write('Не найдено') else write(max);Если переменная max содержит изначальное значение (-1001), то выводим на экран "Не найдено", иначе выводим на экран max.
Пример работы:
1080
Объяснение:
Разберём 2 варианта.
1) когда буквы Р и Г постоянны, буква Н не используется, а остальные 3 буквы используются произвольно.
Получаем, что у буквы Р есть 5 вариантов постановки, у буквы Г - 4 варианта, и есть 3 места по 3 буквы.
Перемножаем: 5*4*3*3*3=540 вариантов.
2) когда буквы Р и Г постоянны, буква Н используется, а остальные 3 буквы используются произвольно.
Получаем, что у буквы Р есть 5 вариантов постановки, у буквы Г - 4 варианта, у буквы Н - 3 варианта и есть 2 места по 3 буквы.
Перемножаем: 5*4*3*3*3=540 вариантов.
Чтобы получить ответ, складываем оба варианта, получаем 540+540=1080 кодов