約瑟夫問題

2021-09-27 01:56:33 字數 1327 閱讀 4471

package com.sun.linkedlist;

public

class 約瑟夫問題

}class

circlesinglelinkedlist

boy curboy=null;

//輔助指標

//使用for建立環形鍊錶

for(

int i =

1; i <=nums; i++

)else}}

public

void

showboy()

boy curboy=first;

//輔助指標

while

(true

) curboy=curboy.

getnext()

;}}public

void

countboy

(int startno,

int countnum,

int nums)

boy helper=first;

//建立乙個輔助變數helper,事先應該指向環形鍊錶的最後這個節點

while

(true

) helper=helper.

getnext()

;}//小孩報數前,讓first和helper指標同時移動k-1次

for(

int j=

0; j1;j++

)//當小孩報數時,讓first和helper指標同時移動m-1次countnum

while

(true

)for

(int j=

1; j) system.out.

println

("小孩:"

+first.

getno()

+"出圈");

first = first.

getnext()

; helper.

setnext

(first);}

system.out.

println

("最後留在圈中的小孩編號:"

+first.

getno()

);}}

class

boypublic

intgetno()

public

void

setno

(int no)

public boy getnext()

public

void

setnext

(boy next)

}

約瑟夫問題 約瑟夫環

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

約瑟夫問題 約瑟夫環

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

約瑟夫問題

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