Task 21_1. Поиск двух отсутствующих элементов в массиве

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;

Получить квадратное уравнение и формулу для нахождения корней, я думаю вы сможете и сами :)

Реализация:

реализация на JS

https://gist.github.com/unilecs/23b947deb50ca0e996a2fb48ab916843


Report Page