約瑟夫潛入到乙個組織中做臥底,但是最近組織對一批人起了疑心於是讓他們站成乙個環,每報到7的人將被處死只留下最後乙個,為了繼續臥底,約瑟夫要如何才能活下去呢?
//提示,開始前先看原理解析食用效果更好
#include
using
namespace std;
struct joseph
}n[1001];
//用結構體建立節點,next和front分別指向前後節點。
void
cut(joseph *num)
//自定義cut函式,用於刪除節點。
intmain()
n[0]
.front = n + tot -1;
n[0].next = n +1;
n[tot -1]
.front = n + tot -2;
n[tot -1]
.next = n;
n[0]
.number =1;
n[tot -1]
.number = tot;
//初始化整個約瑟夫環。
while
(tot >=1)
else
}return0;
}
這是乙個典型的約瑟夫環問題,在乙個環中不停迴圈7,刪除節點直到最後乙個。
原理如圖所示(畫的有點醜)
報數遊戲(約瑟夫環問題)
題目描述 有n個小朋友做遊戲,他們的編號分別是1,2,3 n。他們按照編號從小到大依次順時針圍成乙個圓圈,第乙個小朋友從1開始報數,依次按照順時針方向報數 報數的值加一 每個報m的人會離開隊伍,然後下乙個小朋友會繼續從1開始報數,直到只剩下乙個小朋友為止。求最後一位小朋友的編號。input 輸入兩個...
約瑟夫環 自殺環問題 簡單明瞭的迴圈鍊錶版
這是一道經典的鍊錶題 josephus有過的故事 39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓。於是決定了自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺。然後下乙個重新報數,直到所有人都自殺身亡為止。然而josephu...
約瑟夫環的實現《報數遊戲》
面試中經常會被問到報數遊戲。遂實現一下。問題描述 設有n個人圍坐一圈並按順時針方向從1到n編號,從第s個人開始進行1到m報數,報數到第m個人時,此人出圈,再從他的下乙個人重新開始1到m的報數,如此進行下去直到所有的人都出圈為止。現要列印出出圈次序。輸入 n 遊戲總人數 s 報數的起始編號 m 報數的...