标签:
2013年NOIP全国联赛提高组
var m,n,k,x:longint; function f(a,b,n:int64):int64; var t,y:int64; begin t:=1; y:=a; while b<>0 do begin if(b and 1)=1 then t:=t*y mod n; y:=y*y mod n;{这里用了一个很强大的技巧,y*y即求出了a^(2^(i-1))不知道这是什么的看原理} b:=b shr 1;{去掉已经处理过的一位} end; exit(t); end; begin readln(n,m,k,x); writeln((m*f(10,k,n)+x) mod n); end.
标签:
原文地址:http://www.cnblogs.com/yangqingli/p/4744169.html