約瑟夫問題的實現
2000(ms)
65535(kb)
2816 / 8761
n個人圍成乙個圈,每個人分別標註為1、2、...、n,要求從1號從1開始報數,報到k的人出圈,接著下乙個人又從1開始報數,如此迴圈,直到只剩最後乙個人時,該人即為勝利者。例如當n=10,k=4時,依次出列的人分別為4、8、2、7、3、10,9、1、6、5,則5號位置的人為勝利者。給定n個人,請你程式設計計算出最後勝利者標號數。(要求用單迴圈鍊錶完成。)
#include#includeusing namespace std;輸出int main(){
int n,count;
scanf("%d%d",&n,&count);
//ret 報count的人 陣列一定要大
int a[1005],ret=1;
for(int i=1;i<=n;i++)
a[i]=i;
while(n){
ret=(ret+count-2)%n+1;
if(n==1)
cout《輸入第一行為人數n;
第二行為報數k。
輸出最後勝利者的標號數。
樣例輸入
10樣例輸出4
5
python實現約瑟夫 約瑟夫問題python實現
python語言之如何實現約瑟夫環問題 def josephus n,m if type n 60個人從1開始編號每人拿乙個號碼牌排成圈,從 1開始報數,第一次報數 totalnum 猴子總數 startnum 開始序號 intervalnum 間隔數def kingelect totalnum,s...
約瑟夫問題的實現 swustoj
約瑟夫問題的實現 2000 ms 65535 kb 2662 8037 n個人圍成乙個圈,每個人分別標註為1 2 n,要求從1號從1開始報數,報到k的人出圈,接著下乙個人又從1開始報數,如此迴圈,直到只剩最後乙個人時,該人即為勝利者。例如當n 10,k 4時,依次出列的人分別為4 8 2 7 3 1...
java實現約瑟夫問題
原始問題描述 據說著名猶太歷史學家josephus有過以下的故事 在羅馬人占領喬塔帕特後,39個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下乙個重新報...