ПРОВЕРЬТЕ РЕШЕНИЕ Дан набор из N целых положительных чисел. Из них нужно выбрать и...

0 голосов
34 просмотров

ПРОВЕРЬТЕ РЕШЕНИЕ Дан набор из N целых положительных чисел. Из них нужно выбрать и вывести два числа так, чтобы их сумма была нечётна, а произведение делилось на 3 и при этом было максимально возможным. Выбранные числа можно выводить в любом порядке. Если есть несколько подходящих пар, можно выбрать любую из них. Если подходящих пар нет, нужно вывести 0. Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз. Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайта и не увеличивается с ростом N. Описание входных и выходных данных В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 100. Пример входных данных: 5 1 2 3 4 5 Пример выходных данных для приведённого выше примера входных данных: 3 4 Пояснение. Из 5 чисел можно составить 10 пар. В данном случае условиям удовлетворяют две пары: (2, 3) и (3, 4). Суммы чисел в этих парах (5 и 7) нечётны, а произведения (6 и 12) делятся на 3. У всех остальных пар как минимум одно из этих условий не выполняется. Из двух возможных пар выводим ту, в которой больше произведение элементов. Решение Находим максимальные чётные и нечётные числа среди всех и отдельно среди кратных 3, вычисляем подходящие произведения, выбираем из них максимальное. алг Задача нач цел x0, x1, y0, y1 ввод n x0 := 0; x1 := 0 y0 := 0; y1 := 0 нц n раз ввод a если mod(a,3)= 0 и mod(a,2) = 0 и a > x0: то x0 :=a все если mod(a,3)= 0 и mod(a,2) = 1 и a > x1: то x1 :=a все если mod(a,2) = 0 и a > y0: то y0 :=a все если mod(a,2) = 1 и a > y1: то y1 :=a все кц если x0*y1 = 0 и x1*y0 = 0 то вывод 0 иначе если x0*y1 > x1*y0 то вывод x0, ' ', y1 иначе вывод x1, ' ', y0 все все кон Укажите ошибки в программе, если такие есть. Спасибо


Информатика (12 баллов) | 34 просмотров
Дан 1 ответ
0 голосов

Ошибок нету вроде как я понимаю)

(96 баллов)