約瑟夫問題

2021-08-25 09:02:40 字數 566 閱讀 9486

// 約瑟夫問題.cpp : 定義控制台應用程式的入口點。

/*分析:

(1)由於對於每個人只有死和活兩種狀態,因此可以用布朗型陣列標記每個人的狀態,可用true表示死,false表示活。

(2)開始時每個人都是活的,所以陣列初值全部賦為false。

(3)模擬殺人過程,直到所有人都被殺死為止。

*/#include "stdafx.h"

#include

using

namespace

std;

int _tmain(int argc, _tchar* argv)

; //標記所有人未死亡

int n,m;

cin>>n>>m;

int f=0; //死亡人數

int t=0; //每個人的位置

int s=0; //用來報數的累加置零器

do

if(!a[t])

if(s==m)

}while(f!=n);

cout

0;}

約瑟夫問題 約瑟夫環

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

約瑟夫問題 約瑟夫環

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

約瑟夫問題

這是17世紀的法國數學家加斯帕在 數目的遊戲問題 中講的乙個故事 15個教徒和15 個非教徒在深海上遇險,必須將一半的人投入海中,其餘的人才能倖免於難,於是想了乙個辦法 30個人圍成一圓圈,從第乙個人開始依次報數,每數到第九個人就將他扔入大海,如此迴圈進行直到僅餘15個人為止。問怎樣排法,才能使每次...