约瑟夫问题pascal程序
生活随笔
收集整理的這篇文章主要介紹了
约瑟夫问题pascal程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意
n個人(n<=100)圍成一圈,從第一個人開始報數,數到m的人出列,再由下一個人重新從1開始報數,數到m的人再出圈,……依次類推,直到所有的人都出圈,請輸出依次出圈人的編號.
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.
轉載于:https://www.cnblogs.com/YYC-0304/p/9500217.html
總結
以上是生活随笔為你收集整理的约瑟夫问题pascal程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 约数研究pascal程序
- 下一篇: A*B Problem