終於又到了大名鼎鼎的約瑟夫問題了。啊,啊,啊。約瑟夫問題也算是近代比較知名的乙個演算法問題了,有著成熟的演算法,其中有著強行模擬,還存在著一些神奇的數學方法,哈哈。今天我又來了強行模擬。
瞎。 下面是問題的描述:
題目描述 description
乙個旅行社要從n名旅客中選出一名幸運旅客,為他提供免費環球旅行服務。方法是,大家站成乙個圈,然後選定m,從第乙個人開始報數1,2,3………,報到m的人退出圈外,然後從下乙個人開始重新從1報數,重複這個過程,直到只剩下乙個人時,此人就是幸運之星。
輸入描述 input description
螢幕輸入n m
輸出描述 output description
螢幕輸出 列印退出圈外的人的序號
(幸運者號碼)
樣例輸入 sample input
6 4樣例輸出 sample output
4 2 1 3 6
下面附上完整**:
qaq。
#include
using
namespace
std;
int main()
love--;
if(love==0)
love=n;
cout
<" ";
a[love]=0;
}cout
if(a[i]==1)
}
約瑟夫問題的求解!
已知有n 只猴子 以編號1,2,3,n 分別表示 圍坐一圈。從第一只猴子開始,按順序從1開始報數,數到 m 的那只猴子出列 接著再從從1 開始報數,報數到 m的那只猴子又出列 依此規律重複下,直到只剩乙隻猴子為止。輸入n和m,輸出最後剩下的猴子?此問題,即報數問題,也是約瑟夫問題!很多人一開始想到是...
約瑟夫環問題求解
約瑟夫問題如下 n個人圍成圈,依次編號為1,2,n,現在從1號開始依次報數,當報到m時,報m的人退出,下乙個人重新從1報起,迴圈下去,問最後剩下那個人的編號是多少?input amount 佇列人數 m 數到m時退出乙個人 output 最後乙個退出的人的下標 思路 用布林陣列做 我們可以把這amo...
約瑟夫問題求解 C
設有n 個人站成一圈,每個人持有乙個密碼 正整數 現從第t 個人開始,按順時針方向 1,2,3,4,迴圈報數,數到m1 第t 個人所持密碼 的人出列,然後從出列者的下乙個人重新開始報數,數到m2 剛出列者所持密碼 的人又出列,如此重複進行,直到n 個人都出列為止。問題是 對於任意給定的n 個人的原始...