擴展歐幾里得{計算最大公約數的線…

分析見《NOI導刊》第57期
var
  a,b,x,y:longint;
function extendedeuclid(a,b:longint; varx,y:longint):longint;
var
  t:longint;
begin
  if b=0 then
    begin
      x:=1;
      y:=0;
      exit(a);
    end
  else
    begin
     extendedeuclid:=extendedeuclid(b,a mod b,x,y);
     t:=x;
     x:=y;
     y:=t-(a div b)*y;
    end;
end;
begin
  read(a,b);
  writeln(extendedeuclid(a ,b,x,y));
  writeln(x,' ',y);
end.


發佈了59 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章