p1537.pas
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 50 行
PAS
50 行
PROGRAM p1537;
VAR
k :Integer;
leave :array[1..9]of Integer;
whether :array[1..9,0..999]of Boolean;
stop :array[1..9]of Boolean;
PROCEDURE Main;
var
step :Integer;
i,j :Integer;
begin
fillchar(leave,sizeof(leave),0);
fillchar(whether,sizeof(whether),0);
fillchar(stop,sizeof(stop),0);
for i:=1 to 9 do whether[i,0]:=true;
for i:=1 to 9 do
begin
step:=0;
repeat
inc(step);
if not stop[i] then
begin
leave[i]:=(leave[i]*10+i) mod k;
//writeln(i,' ',leave[i]);readln;
if whether[i,leave[i]] then
begin
if leave[i]=0 then
begin
writeln(i,' ',step);
exit;
end else
stop[i]:=true;
end else whether[i,leave[i]]:=true;
end else break;
until step>1000;
end;
writeln(-1);
end;
BEGIN
while not eof do
begin
readln(k);
//if k=0 then writeln('0 1') else
Main;
end;
END.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?