- 同余方程
- 2016-11-19 22:58:57 @
纯数学手段
var
a,b,x: Int64;
function jie(c,d,h: Int64): Int64;
var l1,l2,l3,l4,l5: Int64;
begin
l1:=c div d;
l2:=h div d;
l3:=c mod d;
l4:=-(h mod d);
if l3=0 then exit(l2);
l5:=jie(d,l3,l4);
exit(((l5*l3-l4) div d)+l5*l1+l2);
end;
begin
read(a,b);
if a<b then x:=jie(b,a,1) else x:=(1-jie(a,b,1)*b) div a;
if x<=0 then x:=b+x;
x:=x mod b;
write(x);
end.
0 条评论
目前还没有评论...