Множества используются для нахождения недостающих, общих, всех встречающихся элементов и для проверки вхождения элемента в множество.Операции над множествами:
1 . + - Объедение или нахождение всех встречающих элементов в множествах.
2 . * - Пересечение или нахождение общих элементов в множествах.
3 . - - Нахождение тех элементов которые находятся в первом множестве но не встречаются во втором.
4. 'элемент' in ['Множество'] - Проверяет принадлежность элемента к множеству.
Операции над цифрами двух чисел
Дано два числа. Определить (отсортированые по возврастанию!)
1. Общие цифры
2. Все использованные цифры
3. Цифры которые находятся в первом числе но их нет во втором.
4. Цифры которые находятся во втором числе но их нет в первом.
Ввод:
123
319
Вывод:
1 3
1 2 3 9
2
9
var a,b,i,d: longint;
mn1,mn2,mn : set of 0..9; //Заводим множества
begin
readln(a); //Считываем первое число
readln(B)/>; //Считываем второе число
mn1:=[]; mn2:=[]; //Очищаем множества
while a>0 do //Разбиваем число на цифры
begin
mn1:=mn1+[a mod 10]; //Добавляем новую цифру в множество
a:=a div 10; //Удаляем цифру из числа
end;
while b>0 do //Разбиваем число на цифры
begin
mn2:=mn2+[b mod 10]; //Добавляем новую цифру в множество
b:=b div 10; //Удаляем цифру из числа
end;
mn:=mn1*mn2; //Заполняем множество общих цифр
for i:=0 to 9 do if i in mn then write(i,' '); //Выводим цифры
mn:=mn1+mn2; //Заполняем множество использованных цифр
for i:=0 to 9 do if i in mn then write(i,' '); //Выводим числа
mn:=mn1-mn2; //Заполняем множество цифр которые присуствуют только в первом числе
for i:=0 to 9 do if i in mn then write(i,' '); //Выводим числа
mn:=mn2-mn1; //Заполняем множество цифр которые присуствуют только во втором числе.
for i:=0 to 9 do if i in mn then write(i,' '); //Выводим числа
end.