yxycondor 2015-08-10 03:17:26
点我顶贴
收藏
删除
楼上好评 快速幂确实可以解决
program circle;
var a,n,m,k,x,gc,ans,ans2:longint;
function gcd(x,y:longint):longint;
var nn:longint;
begin
while x mod y<>0 do
begin
nn:=x;
x:=y;
y:=nn mod y;
end;
gcd:=y;
end;
begin
readln(n,m,k,x);
gc:=n div gcd(n,m);
a:=10;
a:=a mod gc;
ans:=1;
while k>0 do
begin
if k mod 2=1 then ans:=ans*a mod gc;
k:=k div 2;
a:=(a*a) mod gc;
end;
ans2:=x+ans*m;
if ans2>=n then ans2:=ans2 mod n;
writeln(ans2);
end.