Advertisement
Fisyuk

some_task

Nov 27th, 2014
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.44 KB | None | 0 0
  1. uses crt;
  2.  
  3. type
  4.     Tarr = array [1..30] of word;
  5.    
  6. procedure getCert(var n : byte; var cert : Tarr);
  7. var i : byte;
  8. begin
  9.     write('Amount of certificate: ');
  10.     readln(n);
  11.     writeln('Insert the numbers of certificates (max 5)...');
  12.     writeln;
  13.    
  14.     for i:=1 to n do
  15.         readln(cert[i]);
  16.        
  17. end;
  18.  
  19. function notRepeat(n : word) : boolean; //проверяем число на неповторяемость в нем цифр
  20. var k : integer;
  21.     c : byte;
  22.     m : set of byte;
  23.     f : boolean;
  24. begin
  25.     k:=n;
  26.     f:=true;
  27.     m:=[];
  28.    
  29.     while (k > 0) and f do begin
  30.         c:=k mod 10;
  31.        
  32.         if c in m then f:=false
  33.         else begin
  34.             m:=m + [c];
  35.             k:=k div 10
  36.         end;
  37.     end;
  38.    
  39. notRepeat:=f
  40. end;
  41.  
  42. procedure whoGetGift(n : byte; cert : Tarr);
  43. var i, count : byte;
  44. begin
  45.     count:=0;
  46.     for i:=1 to n do begin
  47.         if (notRepeat(cert[i])) then inc(count);
  48.     end;
  49.  
  50. writeln('Peoples get gift: ', count);
  51. end;
  52.  
  53. function isSimple(t : word) : boolean;  //проверяем является ли число простым
  54. var i : word;
  55. begin
  56.     isSimple:=true;
  57.     for i:=2 to t div 2 do
  58.         if t mod i = 0 then isSimple:=false;
  59. end;
  60.  
  61. procedure whoGetMoney(n : byte; cert : Tarr);
  62. var i, count : byte;
  63. begin
  64.     count:=0;
  65.     for i:=1 to n do
  66.         if(isSimple(cert[i])) then inc(count);
  67.    
  68. writeln('Peoples get money: ', count);
  69. end;
  70.  
  71. { main code }
  72. var n : byte;
  73.     arr : Tarr;
  74.    
  75. begin
  76.     getCert(n, arr);
  77.     whoGetGift(n, arr);
  78.     whoGetMoney(n, arr);   
  79. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement