ac1076.pas

来自「同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料」· PAS 代码 · 共 28 行

PAS
28
字号
program tju1076;
const
  m=7;
var
  f:array[0..m*m+1]of byte;
  p:array[0..m-1,0..m-1]of longint;
  a,b,n,i,t:longint;
begin
  f[1]:=1;f[2]:=1;
  repeat
    read(a,b,n);
    if n=0 then halt else if n<3 then begin writeln(1);continue;end;
    i:=2;fillchar(p,sizeof(p),0);p[1,1]:=2;
    repeat
      inc(i);
      f[i]:=(a*f[i-1]+b*f[i-2]) mod m;
      if (i=n) or (p[f[i-1],f[i]]>0) then break;
      p[f[i-1],f[i]]:=i;
    until false;
    if i=n then
      writeln(f[i])
    else begin
      t:=p[f[i-1],f[i]];
      writeln(f[t+(n-t) mod (i-t)]);
    end;
  until false;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?