Форум » Электронные таблицы » Задача 9 №5397 » Ответить

Задача 9 №5397

abszerro: Здравствуйте. Не могу разобраться с задачей 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

Калинин Александр: Здравствуйте. Даже если рассматривать все возможные варианты, результат равен 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)

abszerro: Калинин Александр, спасибо большое! Теперь все понятно)



полная версия страницы