?? 約瑟夫問題.pas
字號:
PROGRAM yuesefu;
VAR
a,b:ARRAY [1..10000] OF integer;
i,k,m,n:integer;
PROCEDURE p(k,m:integer);
VAR
i,j:integer;
BEGIN
FOR i:=k+1 TO m DO b[i-k]:=a[i];
FOR i:=1 TO k-1 DO b[i+m-k]:=a[i];
FOR i:=1 TO m DO a[i]:=0;
FOR j:=1 TO m-1 DO a[j]:=b[j];
FOR j:=1 TO 10000 DO b[j]:=0;
END;
BEGIN
writeln('input 2 number(1st is the number of fanren;2nd is the number of loop)');
readln(m,n);
writeln(m:2,n:2);
FOR i:=1 TO m DO a[i]:=i;
REPEAT
IF n MOD m=0 THEN k:= n DIV m * n ELSE k:=n MOD m;
write (a[k]:4);
p(k,m);
m:=m-1;
UNTIL m=1;
writeln;
writeln('the man alive is',a[1]:2);
readln;
END.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -