Автор | Сообщение |
|
Отправлено: 10.10.22 18:01. Заголовок: Задача 9 №5397
Здравствуйте. Не могу разобраться с задачей 5397, проблема с первым условием. Мое решение: Находим всевозможные пары (для 4х элементов получается 6) и считаем их сумму, записывая в отдельную таблицу. Считаем количество повторов сумм с помощью функции СЧЕТЕСЛИ и записываем в новую таблицу. Выбираем строки, которые нам подходят. Если в таблице две 2 (или четыре 1, что выдает тоже самое), то выводим 1, иначе 0. Находим подходящие по 2-му условию строки и объединяем с первым. Например: Строка: 59 48 73 62 Все суммы пар: 59+48 = 107 59+73 = 132 59+62 = 121 48+73 = 121 48+62 = 110 73+62 = 135 Считаем повторы СЧЕТЕСЛИ: 1 1 2 2 1 1 В итоговом столбце проверяем: если количество двоек равно двум, то 1, иначе 0. Получаем истину Считаем второе условие и получаем истину. Следовательно, исходная строка подходит. У меня получается ответ 21, а не 15. Нашла решение в интернете, там рассматривают только 2 пары (мин+макс = сумме оставшихся), но почему? Разве мы не должны перебрать все 6 возможных пар?
|
|
|
Ответов - 2
[только новые]
|
|
|
Отправлено: 13.10.22 22:57. Заголовок: Здравствуйте. Даже е..
Здравствуйте. Даже если рассматривать все возможные варианты, результат равен 15 В своей программе вы не учитываете, что две одинаковые суммы можно получить, используя одно и то же число. В качестве примера можно рассмотреть первую строку таблицы: 90 71 71 39 90+71=161 90+71=161 90+39=129 71+71=142 71+39=110 71+39=110 Имеем две пары одинаковых сумм. НО! Эти суммы включают в себя один и тот же элемент, а значит, мы не используем в таких наборах четвёртого числа, что противоречит условию задания. Если вы хотите проверить все суммы, то стоит сразу прописывать условия. Их будет три: 1 число+2 число =3 число+4 число 1 число+3 число =2 число+4 число 1 число+4 число =2 число+3 число Тогда получается верный ответ. Теперь давайте разберёмся, почему достаточно написать одно условие: мин+макс=наибольший(2)+наибольший(3) ** Пусть после сортировки 1 число<=2 число<=3 число<=4 число 1 число+2 число =3 число+4 число - неверно, т.к. сумма двух "маленьких" чисел не может равняться сумме двух больших (если, конечно, они не равны, но этот случай будет учтён и в условии ** 1 число+3 число=2 число+4 число - неверно (при неравных числах, учитываемых в **), т.к. 1 число<=2 число, 3 число<=4 число, а значит, 1 число+2 число<= 3 число+4 число Таким образом, остаётся только 1 число+4 число =2 число+3 число, то есть мин+макс=наибольший(2)+наибольший(3)
|
|
|
|
Отправлено: 15.10.22 16:27. Заголовок: Калинин Александр, с..
Калинин Александр, спасибо большое! Теперь все понятно)
|
|
|
|