Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program task2;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- type
- TSet = Set of Byte;
- procedure ShowSet(X: TSet; FIRST, LAST: Byte);
- var
- i: Byte;
- begin
- for i := FIRST to LAST do
- if (i in X) then
- Write(IntToStr(i) + ' ');
- Writeln;
- end;
- function MakeSet(SourceSet: TSet; FIRST, LAST: Byte): TSet;
- var
- i, j, DividersCount: Byte;
- ResultSet: TSet;
- begin
- ResultSet := [];
- for i := FIRST to LAST do
- begin
- DividersCount := 0;
- if ((i > 1) and (i in SourceSet)) then
- begin
- for j := 1 to i do
- if (i mod j = 0) then
- Inc(DividersCount);
- if (DividersCount < 3) then
- ResultSet := ResultSet + [i];
- end;
- end;
- MakeSet := ResultSet;
- end;
- procedure Main();
- Const FIRST = 1;
- Const LAST = 6;
- var
- X1, X2, Y, Y1: TSet;
- i: Byte;
- begin
- X1 := [FIRST..LAST];
- X2 := [FIRST, 3..LAST];
- Y := X1 + X2;
- Writeln('Результатом объеденения множеств X1 и X2 является множество Y:');
- ShowSet(Y, FIRST, LAST);
- Y1 := MakeSet(Y, FIRST, LAST);
- Writeln('Подмножество Y1, которое состоит из чисел множества Y, которые являются простыми:');
- ShowSet(Y1, FIRST, LAST);
- end;
- begin
- Main();
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement