Task 21_1. Поиск двух отсутствующих элементов в массиве
UniLecsЗадача: дан массив arr, в ктр в случайном порядке находятся натуральные числа от 1 до N. Каждое число встречается в массиве не более одного раза. Но два числа заменили на 0. Найти эти числа.
Идея: для нахождения двух отсутствующих чисел суммы всех элементов нам будет недостаточно, поэтому найдем также произведение всех элементов. После этого мы получим систему уравнений и придем к квадратному уравнению.
x + y = Total Sum - Sum in Array
x * y = TotalP / P in Array
где x, y - искомые два числа, Total Sum - сумма всех элементов от 1 до N;
TotalP - произведение всех чисел от 1 до N;
Получить квадратное уравнение и формулу для нахождения корней, я думаю вы сможете и сами :)
Реализация:
https://gist.github.com/unilecs/23b947deb50ca0e996a2fb48ab916843