Не миф, а вопрос, после ответа на который трудоустраивают в Ричмонде:
Два списка, одинаковой размерности N, содержат элементы типа int, в оба списка в произвольном порядке записываютя значения от 0..N-1. Далее в один из списков в произвольную позицию вставляют еще один элемент. Как используя один цикл найти значение элемента, который был добавлен в список?
Задача детская, но тем не менее.
Ув. ГОСПОДА (-мы)...
хотя тут было уже несколько ответов... примите мой ответ...
ВНИМАНИЕ!!! Ответ был составлен ТОЛЬКО ЛИШЬ ИСХОДЯ ИЗ ЭТОЙ формулировки задачи!!!
Задача не такая простая, как Вам кажется... (не подумайте ничего плохого - лишь немногим сложнее) )))
Исходя из того, что размерность массива никто не давал права изменять, то процесс "вставления нового элемента" я понимаю как процесс ЗАМЕНЫ старого элемента НОВЫМ значением.
Тогда получается бред... Смотрим:
Вот Вам пример:
A=[0,4,3,1,2];
B=[4,1,0,2,3];
а потом сделали следующее: в 4-й элемент списка В вместо "2" поставили "4"
Получили:
В=[4,1,0,4,3]
простым суммированием (как это предложил Vlad7):
я бы посчитал сумму элементов списка с добавленным элементом и вычел из него сумму (N-1)N/2 вроде несложно
получили сумму элементов нового массива В: Sum=12
вычитаем из полученной суммы (5-1)*5/2=10 (т.к. массивы состоят именно из 5 элементов)
и получаем ответ "2" !!!
Простите, а ЧТО это за ответ ??? это ХЗ что !!!
Есть второй пример: в массив А на 4ю позицию вместо "1" поставили ту же "1" !!!!
тогда суммы элементов нового массива А' и старого массива А будут вообще СОВПАДАТЬ !!!!
Тогда Ваш ответ будет "0" ??? - БРЕД...
Так вот...
Не зная, в какой массив был введен новый элемент и при отсутствии условия, что НОВЫЙ элемент НЕ будет равен старому, задача решения НЕ ИМЕЕТ !!!
ПС: для особо одаренных (которые любят поматериться в теме и обозвать нехорошим словом автора коммента) поясняю: ЛЮБАЯ задача должна иметь ПРАВИЛЬНОЕ (с однозначным !!!! толкованием) условие!