Жауабы: Исправление программы поиска максимума
1) При вводе 2 9 4 3 программа выведет 2 и 3. 2) Например, последовательность 2 9 4 1: программа выведет 1 и 9, что является правильным ответом. 3) Ошибочная строка `if x < maximum:`; исправленная строка `if x > maximum:`.
У этого задания официального ключа нет, поэтому ответ получен в разборе және кілтпен салыстырылмаған. Нәтижені жаттамас бұрын, өтіңіз выкладки — там видно, откуда взялось каждое число.
На обработку поступает последовательность из четырёх неотрицательных целых чисел, некоторые числа могут быть одинаковыми. Требуется вывести количество чисел, делящихся нацело на 3, и максимальное из таких чисел. Если таких чисел нет, необходимо вывести «NO». Вводимые числа не превышают 1000. Программист написал программу неправильно. Последовательно выполните три пункта: определите результат работы программы при вводе последовательности 2 9 4 3; приведите пример последовательности, содержащей хотя бы одно число, делящееся нацело на 3, для которой программа, несмотря на ошибку, выдаёт правильный ответ; найдите ошибки и исправьте их, изменяя только строки, в которых они находятся. Достаточно указать ошибки и исправления для одного языка программирования. В программе нужно исправить не более двух строк. Число 0 делится на любое натуральное число.
1n = 4 2count = 0 3maximum = 999 4for i in range(1, n+1): 5 x = int(input()) 6 if x % 3 == 0: 7 count += 1 8 if x < maximum: 9 maximum = x 10if count > 0: 11 print(count) 12 print(maximum) 13else: 14 print("NO")
Где здесь ошибаются
Считать, что программа выводит максимальное число, не проследив изменение переменной maximum.
Назвать ошибкой начальное значение maximum = 999: оно корректно, поскольку максимальное число, делящееся на 3, среди чисел от 0 до 1000 равно 999.
Привести последовательность без чисел, делящихся на 3, хотя по условию такой пример должен содержать хотя бы одно такое число.
Изменить несколько строк или написать новую программу вместо исправления конкретной ошибочной строки.