Advertisement
Alyks

Untitled

Feb 23rd, 2020
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.38 KB | None | 0 0
  1. program task2;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8.   System.SysUtils;
  9.  
  10. type
  11.     TSet = Set of Byte;
  12.  
  13. procedure ShowSet(X: TSet; FIRST, LAST: Byte);
  14. var
  15.     i: Byte;
  16. begin
  17.     for i := FIRST to LAST do
  18.         if (i in X) then
  19.             Write(IntToStr(i) + ' ');
  20.     Writeln;
  21. end;
  22.  
  23. function MakeSet(SourceSet: TSet; FIRST, LAST: Byte): TSet;
  24. var
  25.     i, j, DividersCount: Byte;
  26.     ResultSet: TSet;
  27. begin
  28.     ResultSet := [];
  29.     for i := FIRST to LAST do
  30.     begin
  31.         DividersCount := 0;
  32.         if ((i > 1) and (i in SourceSet)) then
  33.         begin
  34.             for j := 1 to i do
  35.                 if (i mod j = 0) then
  36.                     Inc(DividersCount);
  37.  
  38.             if (DividersCount < 3) then
  39.                 ResultSet := ResultSet + [i];
  40.         end;
  41.     end;
  42.  
  43.     MakeSet := ResultSet;
  44. end;
  45.  
  46. procedure Main();
  47. Const FIRST = 1;
  48. Const LAST = 6;
  49. var
  50.     X1, X2, Y, Y1: TSet;
  51.     i: Byte;
  52. begin
  53.     X1 := [FIRST..LAST];
  54.     X2 := [FIRST, 3..LAST];
  55.     Y := X1 + X2;
  56.     Writeln('Результатом объеденения множеств X1 и X2 является множество Y:');
  57.     ShowSet(Y, FIRST, LAST);
  58.     Y1 := MakeSet(Y, FIRST, LAST);
  59.     Writeln('Подмножество Y1, которое состоит из чисел множества Y, которые являются простыми:');
  60.     ShowSet(Y1, FIRST, LAST);
  61. end;
  62.  
  63. begin
  64.     Main();
  65.     Readln;
  66. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement