Решение: Максимум среди некратных семи
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от $-10\,000$ до $10\,000$ включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальный элемент массива, который не делится на 7. Наличие хотя бы одного такого элемента гарантируется.
Исходные данные объявлены так, как показано в условии. Запрещается использовать переменные, не описанные в условии, но разрешается не использовать некоторые из описанных переменных. В качестве ответа приведите фрагмент программы, который должен находиться на месте многоточия после ввода массива, либо описание алгоритма на естественном языке. Можно использовать любой язык программирования, указав его название и версию, или блок-схему. При этом необходимо использовать те же исходные данные и переменные, которые предложены в условии.
Решение по шагам
4 шагаПоследовательно просматриваем все элементы массива.
$$i = 1,2,\ldots,20$$Если очередной элемент не делится на 7, проверяем, больше ли он текущего максимума. Для первого подходящего элемента удобно отдельно установить начальное значение максимума.
После завершения перебора выводим найденное значение. Например, на языке Python решение может использовать только переменные a, n, i, j и k, данные в условии:
$$j = a[0] \text{ при } a[0] \bmod 7 \ne 0$$Фрагмент на Python:
$$j = a[0] if a[0] \% 7 != 0 else 0\nfor i in range(1, n):\n if a[i] \% 7 != 0 and (a[0] \% 7 == 0 or a[i] > j):\n j = a[i]\nprint(j)$$Перебрать все элементы массива, выбрать элементы, не делящиеся на 7, сохранить среди них наибольший и вывести его.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют делимость на 7 вместо неделимости.
Ищут максимум среди всех элементов, не исключая кратные 7.
Используют переменную, которая не была объявлена в условии.
Инициализируют максимум нулём и получают неверный результат, если все подходящие элементы отрицательны.