SDUT約瑟夫問題

2021-10-06 21:39:38 字數 637 閱讀 6122

注:約瑟夫問題的**實現需要鍊錶能夠迴圈,其次需要找準每次被殺物件,殺掉目標(將被殺物件的上乙個與其下乙個相連),輸出最後存活的物件。

**實現:

#include

using namespace std;

struct node

;struct node *

creat

(int n)

///建立雙向鍊錶。

tail->next=head;

///讓鍊錶得以迴圈。

head->front=tail;

return head;

}void

game

(struct node *head,

int n,

int x)

///遊戲開始。

p->next=p->next->next;

}printf

("%d"

,p->data);}

intmain()

約瑟夫問題 sdut 1197

約瑟夫問題 time limit 1000ms memory limit 65536k 題目描述 n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。請輸出最後乙個人的編號。輸入 輸入n和...

SDUT 1197 約瑟夫問題

約瑟夫問題 time limit 1000 ms memory limit 65536 kib problem description n個人想玩殘酷的死亡遊戲,遊戲規則如下 n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。...

約瑟夫問題 約瑟夫環

約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...