fork download
  1. program giftcard;
  2. var N,C1,C2,N1,N2,MCD:int64;
  3. procedure Euclide_Bezout (a, b, c:int64;var MCD:int64; var h:int64; var k:int64);
  4. var x,app:int64;
  5. begin
  6. if a<b then begin app:=a; a:=b; b:=app; end;
  7. if b=0 then
  8. begin
  9. if c mod a=0 then
  10. begin
  11. MCD:=a;
  12. k:=c div a;
  13. h:=1;
  14. exit
  15. end;
  16. end;
  17. Euclide_Bezout(b,a mod b,c,MCD,h,k);
  18.  
  19. h:=h-k*(a div b);
  20. x:=(h-1) div (a div MCD);
  21. k:=k+x*(b div MCD);
  22. h:=h-x* (a div MCD);
  23.  
  24.  
  25. end;
  26.  
  27. begin
  28. readln(N,C1,C2);
  29. N1:=1; N2:=1;
  30. Euclide_Bezout(C1,C2,N,MCD,N1,N2);
  31. writeln(MCD);
  32. writeln(N1,' ',N2);
  33. end.
  34.  
Success #stdin #stdout 0.01s 5284KB
stdin
2051 35 2016 
stdout
7
1 0