您的位置:首页 > 其它

1200同余方程{扩展欧几里得}

2013-11-04 21:44 211 查看
var
a,b,x,y,d,e: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);
d:=extendedeuclid(a,b,x,y);
e:=x mod b;
if e<0 then write(b+e){因要输出正整数解}
else write(e);
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: