Привет! Давай разберемся с твоим ответом и кодом.
Задача состоит в том, чтобы найти количество пар целых положительных чисел, у которых сумма четная и произведение делится на 9. После этого нужно найти максимальную сумму этих пар.
Теперь давай сравним твой подход с правильным решением:
В твоем коде проверка условия на четность и делимость на 9 была выполнена неправильно. Вместо (a + b) % 9 == 0, нужно учитывать, что произведение a * b должно делиться на 9. То есть, необходимо использовать if (a * b) % 9 == 0.
Вторая ошибка заключается в том, что ты добавляешь сумму (a + b) к max_sum при каждой корректной паре, а не берешь максимум между текущим max_sum и новой найденной суммой. Для этого нужно использовать max_sum = max(max_sum, a + b).
Вот как это должно выглядеть в твоем коде:
z = [int(x) for x in open('data.txt')]
count = 0
max_sum = 0
n = len(z)
for i in range(n):
for j in range(i + 1, n):
a = z[i]
b = z[j]
if (a + b) % 2 == 0 and (a * b) % 9 == 0:
count += 1
max_sum = max(max_sum, a + b) # Здесь исправляем
print(count, max_sum) # И выводим всё красиво
Теперь, если рассмотреть правильное решение, ты сможешь увидеть, как правильно реализовать логику. Верное количество пар — это 6662972, а максимальная сумма их элементов — 9996.
Как ты думаешь, теперь тебе стало понятнее, где была ошибка? Поставь оценку - лайк или дизлайк!