约瑟夫问题pascal程序
題意
n個(gè)人(n<=100)圍成一圈,從第一個(gè)人開(kāi)始報(bào)數(shù),數(shù)到m的人出列,再由下一個(gè)人重新從1開(kāi)始報(bào)數(shù),數(shù)到m的人再出圈,……依次類推,直到所有的人都出圈,請(qǐng)輸出依次出圈人的編號(hào).
var
n,m,i,j,tj:longint;
a:array[0..200]of longint;
begin
? ? read(n,m);
? ? fillchar(a,sizeof(a),0);
? ? i:=0;j:=0;tj:=0;
? ? repeat
? ? ? ? ?inc(i);
? ? ? ? ?if i>n then i:=1;
? ? ? ? ?if (a[i]=0) then
? ? ? ? ?begin
? ? ? ? ? ? ?inc(j);
? ? ? ? ? ? ?if j=m then
? ? ? ? ? ? ?begin
? ? ? ? ? ? ? ? ?a[i]:=1;
? ? ? ? ? ? ? ? ?j:=0;
? ? ? ? ? ? ? ? ?write(i,' ');
? ? ? ? ? ? ? ? ?inc(tj);
? ? ? ? ? ? ?end;
? ? ? ? ?end;
? ? until tj=n;
end.
轉(zhuǎn)載于:https://www.cnblogs.com/YYC-0304/p/9500217.html
總結(jié)
以上是生活随笔為你收集整理的约瑟夫问题pascal程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 约数研究pascal程序
- 下一篇: A*B Problem