Множества используются для нахождения недостающих, общих, всех встречающихся элементов и для проверки вхождения элемента в множество.Операции над множествами:
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.