約瑟夫環陣列解決方案

2021-08-06 06:04:20 字數 1069 閱讀 9868

/**

* 約瑟夫閉環

* 本人用的是陣列迴圈移動取出最後剩的人

* 一圈共有n個人,開始報數,報到m的人自殺,然後重新開始報數,問最後自殺的人是誰?

*/$n=10

;$m=2

;

function ysf_huan(

$n,$m

)

$j=1

;//從1開始報數

while(

true)

else

//判斷當指標移動到當前值為空時證明指標以移動到陣列中最後一位的下一位

//reset($arr)的意思是無條件將指標移動到第一位

if(!

current

($arr

))//判斷當陣列的長度是1時證明以剩最後一人

//key($arr)的意思是返回當前指標的鍵名

if(

count

($arr

)==1)$j

++;}

//$b是按照自殺人的順序組成的自殺人的陣列

//$res_key是剩餘最後一人是在n個人中的第幾位

var_dump(

$b);var_dump(

$res_key

);die;

備註:此方法經過測試複製可用,想要熟練運算元組需要記住以下幾個函式
1.next($arr):將當前指標下移

2.current($arr):返回當前指標所指的值

3.key($arr);返回當前指標所指的鍵名

4.reset($arr);無條件將指標移動到第一位

5.end($arr);將指標移動到最後一位

}

約瑟夫環解決方案

1 include2 3 your own thougt is always best 4 5 6int couldkill int array return the array alive whitch is still alive sum 7void kill int array kill th...

陣列 約瑟夫環

題目描述 已知有n個人圍坐在一張圓桌上,編號依次為0,1,2,n 1,編號為n 1與編號為0的人坐在相鄰的位置。現在編號為k的人從1開始報數,數到m的那個人會退出圓桌。他的下乙個人又從1開始報數,數到m的那個人又出列。依此規律重複下去,請問最後出列的人的編號。輸入格式 輸入一行,包含三個整數n,k,...

陣列函式解決方案

陣列函式 arr array a b c shuffle arr var dump arr 這樣這個陣列就打亂了。shuffle arr array a b c var dump arr 這樣就不好使,沒打亂。兩者不是一樣的嗎?怎麼會效果不一樣呢?解決思路 從值 陣列函式 arr array a b...