題目描述
n個(gè)人圍成一圈,從第一個(gè)人開(kāi)始報(bào)數(shù),數(shù)到m的人出列,再由下一個(gè)人重新從1開(kāi)始報(bào)數(shù),數(shù)到m的人再出圈,依次類推,直到所有的人都出圈,請(qǐng)輸出依次出圈人的編號(hào)。樣例輸入
10 3樣例輸出
3 6 9 2 7 1 8 5 10 4思路
O(nm)還在冥思苦想要模擬的小伙伴們要哭了,這道題早已有公式啦~~~但是這道題不能直接輸出最后那個(gè)人,要輸出順序=_=。var a:array[1..100] of longint; n,m,p,i,j:longint;begin readln(n,m); for i:=1 to n-1 do a[i]:=i+1; a[n]:=1; p:=n; for i:=1 to n do begin for j:=1 to m-1 do p:=a[p]; write(a[p],' '); a[p]:=a[a[p]]; end;end.