Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- var
- a, b, nod, x, y, c: integer;
- function Gdc(a1, b1: integer): integer;
- var
- nod, r: integer;
- begin
- r := a1 mod b1;
- a1 := b1;
- b1 := r;
- if (b1 = 0) then
- begin
- nod := a1;
- end
- else
- begin
- nod := Gdc(a1, b1);
- end;
- end;
- procedure ExEuclid(a, b, x, y, c: integer);
- var
- x1, y1, x2, y2, q, r: integer;
- begin
- if (b = 0) then
- begin
- x := 1;
- y := 0;
- end
- else
- begin
- x1 := 0;
- x2 := 1;
- y1 := 1;
- y2 := 0;
- while (b > 0) do
- begin
- q := a div b;
- r := a mod b;
- x := x2 - q * x1;
- y := y2 - q * y1;
- a := b;
- b := r;
- x2 := x1;
- x1 := x;
- y2 := y1;
- y1 := y;
- end;
- x := x2;
- y := y2;
- end;
- Write(x * c div nod, ' ', y * c div nod, ' ');
- end;
- begin
- Read(a, b, c);
- x := 0;
- y := 0;
- nod := Gdc(a, b);
- if (c mod nod = 0) then
- begin
- //if (a>b) then ExEuclid(a, b, x, y, c)
- //else ExEuclid(b, a, x, y, c);
- ExEuclid(a, b, x, y, c) ;
- writeln(-(b div nod), ' ', a div nod);
- readln;
- readln();
- end
- else
- begin
- write('incorrect');
- readln();
- readln;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment