Даны два массива из n целых чисел.Найти наименьший среди тех чисел первого...

0 голосов
39 просмотров

Даны два массива из n целых чисел.Найти наименьший среди тех чисел первого массива,который не содержится во втором. напишите программу в Паскале


Информатика (17 баллов) | 39 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.0, сборка 1128
begin
  var n:=ReadInteger('n=');
  Writeln('Первый массив:');
  var a:=ArrRandom(n,1,50).Println(',');
  Writeln('Второй массив:');
  var b:=ArrRandom(n,1,50).Println(',');
  Writeln('Минимальное значение, отсутствующее во втором массиве: ',
       a.OrderBy(x->x).Except(b.OrderBy(x->x)).Take(1))
end.

Тестовое решение:
n= 20
Первый массив:
18,1,4,1,22,14,34,18,50,9,27,41,26,11,8,34,7,35,34,33
Второй массив:
7,19,3,8,26,30,50,46,33,20,1,3,9,4,34,42,1,7,46,34
Минимальное значение, отсутствующее во втором массиве: [11]

(142k баллов)
0

красивое решение

0

Исключение первого множества из второго с последующей сортировкой...

0

А что же, за 5 баллов напрягаться программой на целый лист? ))

0

зачем, если можно сделать коротко красиво и понятно

0

Сейчас вот подумал: а зачем сортировать массивы на входе каждый, если можно отсортировать на выходе? a.Except(b).OrderBy(x->x).Take(1)) - и запись короче.