Advertisement
cecepsuwanda

35_36_OSP2012

Mar 21st, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.91 KB | None | 0 0
  1. function campur(n : integer) : integer;
  2. begin
  3.  //writeln('campur n=',n);
  4.  campur := n * n;
  5.  writeln('campur =',campur);
  6. end;
  7.  
  8. function aduk(x,y,z : integer) : integer;
  9. begin
  10.     if (y = 0) then
  11.     begin
  12.         //writeln('y=0');
  13.         aduk := 1;
  14.         writeln('aduk=1');
  15.     end    
  16.         else if (y mod 2 = 0) then
  17.             begin
  18.               //writeln('else 1 x=',x,';y=',y,';z=',z);
  19.               aduk := campur(aduk(x,y div 2,z)) mod z;
  20.               writeln('else 1 aduk=',aduk,';x=',x,';y=',y div 2,';z=',z);
  21.             end
  22.             else
  23.                begin
  24.                 //writeln('else 2 x=',x,';y=',y,';z=',z);
  25.                 aduk := ( (x mod z) * aduk(x,y-1,z) ) mod z;
  26.                 writeln('else 2 aduk=',aduk,';x=',x,';y=',y-1,';z=',z);
  27.                end;
  28.     end;
  29.    
  30. var
  31.     a,b,c : integer;
  32.    
  33. begin
  34.     readln(a,b,c);
  35.     writeln(aduk(a,b,c));
  36. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement