總時間限制:
1000ms
記憶體限制:
1000kb
描述
約瑟夫環是乙個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下乙個人又從1開始報數,數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。
輸入8 1 3 (n=8 k=1 m=3 )
輸出7 (剩下的那個)
樣例輸入
8 1 3
樣例輸出
7
題目大意:
如題。
思路:
鍊錶必講例題。。
感想:
第一次寫鍊錶,感覺還是挺好的。嘻嘻。
ac**:
#includeusing namespace std;
struct list
;int main()
s->next=head;
int beg,cou;
cin>>beg>>cou;
q=s;
p=head;
for(i=1;inext;
}int num=0;
while(666)
q->next=p->next;
//cout}
cout intarray 100 n 0,m 0,receive 100 receive 陣列用來接收每次交出去的人 n 是用來記錄輸入的總人數 m 是用來記錄中間割幾個人 intcountm 0 用來記錄圈子裡面剩餘的人數 printf 請輸入圈子裡面的總人數 m和迴圈報數出列條件的 m n scanf ... 題目 n個人圍成一圈,起始編號為0 n 1。從0開始依次報數,報到m則離開圓圈。問最後離開的人的編號多少?分析 以每個人離開作為乙個週期,下一次假設所有人編號變化 其實是對映到 新的編號0 n 2。這裡的對映關係可以通過取模獲得 每次離開乙個人,離開前總人數n,m 1的人離開,那麼下次編號和上次編號... n個猴子圍圈報數,報道m的猴子退出剩下的重新報數。include include include include include include pragma warning disable 4996 using namespace std include include include inclu...約瑟環的實現
約瑟環問題(丟手絹)
list的用法 約瑟王問題