Pascal ,CE了

var temp,n,m,x,y,l,c,d,a,b:int64;
function gcd(a,b:int64;var x,y:int64):int64;
var x1,y1:int64;
begin
if a mod b=0 then begin gcd:=b;x:=0;y:=1;exit;end;
x1:=0;y1:=0;
gcd:=gcd(b,a mod b,x1,y1);
x:=y1;
y:=x1-y1*(a div b);
end;
begin
readln(x,y,m,n,l);
if(m=n)and((x-y)mod l0)then begin writeln('Impossible');halt;end;
if m>n then begin a:=m-n;b:=l;c:=((y-x)mod l+l)mod l;end;
if n>m then begin a:=n-m;b:=l;c:=((x-y)mod l+l)mod l;end;
d:=gcd(a,b,x,y);x:=x*c div d;
if c mod d0 then begin writeln('Impossible');halt;end;b:=b div d;
x:=(x mod b+b)mod b;
writeln(x);
end.

0 条评论

目前还没有评论...

信息

ID
1009
难度
8
分类
数论 点击显示
标签
递交数
7019
已通过
1067
通过率
15%
被复制
33
上传者