www.pudn.com > TJU.rar > ac1026.pas


program tju1026; 
const 
  m=65; 
var 
  ans:array[0..m-1]of byte; 
  k,a,x,i,r1,r2:word; 
  ok:boolean; 
begin 
  for k:=0 to m-1 do 
    for a:=0 to m-1 do begin 
      ok:=true; 
      for x:=0 to m-1 do begin 
        r1:=5;for i:=1 to 13 do r1:=(r1*x) mod m; 
        r2:=13;for i:=1 to 5 do r2:=(r2*x) mod m; 
        if (r1+r2+k*a*x) mod m>0 then begin 
          ok:=false; 
          break; 
        end; 
      end; 
      if ok then begin 
        ans[k]:=a; 
        break; 
      end; 
    end; 
 
  repeat 
    read(k); 
    if ans[k mod m]=0 then writeln('no') else writeln(ans[k mod m]); 
  until seekeof; 
end.