約瑟夫問題的實現 swustoj

2021-08-18 23:14:57 字數 685 閱讀 8064

約瑟夫問題的實現

2000(ms)

65535(kb)

2662 / 8037

n個人圍成乙個圈,每個人分別標註為1、2、...、n,要求從1號從1開始報數,報到k的人出圈,接著下乙個人又從1開始報數,如此迴圈,直到只剩最後乙個人時,該人即為勝利者。例如當n=10,k=4時,依次出列的人分別為4、8、2、7、3、10,9、1、6、5,則5號位置的人為勝利者。給定n個人,請你程式設計計算出最後勝利者標號數。(要求用單迴圈鍊錶完成。)

輸入

第一行為人數n;

第二行為報數k。

輸出
輸出最後勝利者的標號數。

樣例輸入

10 

4

樣例輸出
5
#include#includeusing namespace std;

typedef struct node

sqlist;

int main()

r->next=l->next;//讓尾端的下乙個指標指向頭指標的下乙個指標

cin>>m;

s=l->next;

while(s->next!=s)

s->next=s->next->next;//跳過要刪除的數

s=s->next;//讓s指標指向下乙個開始的數

}coutreturn 0;

}

約瑟夫問題 swust oj 0956

n個人圍成乙個圈,每個人分別標註為1 2 n,要求從1號從1開始報數,報到k的人出圈,接著下乙個人又從1開始報數,如此迴圈,直到只剩最後乙個人時,該人即為勝利者。例如當n 10,k 4時,依次出列的人分別為4 8 2 7 3 10,9 1 6 5,則5號位置的人為勝利者。給定n個人,請你程式設計計算...

約瑟夫問題的實現

約瑟夫問題的實現 2000 ms 65535 kb 2816 8761 n個人圍成乙個圈,每個人分別標註為1 2 n,要求從1號從1開始報數,報到k的人出圈,接著下乙個人又從1開始報數,如此迴圈,直到只剩最後乙個人時,該人即為勝利者。例如當n 10,k 4時,依次出列的人分別為4 8 2 7 3 1...

python實現約瑟夫 約瑟夫問題python實現

python語言之如何實現約瑟夫環問題 def josephus n,m if type n 60個人從1開始編號每人拿乙個號碼牌排成圈,從 1開始報數,第一次報數 totalnum 猴子總數 startnum 開始序號 intervalnum 間隔數def kingelect totalnum,s...