php面試題猴子123報數(猴子選大王)

2021-07-22 13:21:58 字數 909 閱讀 3377

題目就是有n個猴子,123迴圈報數數到3的猴子被踢出下乙個接著報數,一遍一遍的迴圈直到剩餘乙個猴子,求這個猴子是最開始的第幾號猴子。

我想到了兩個方法

第乙個就是模擬報數的模式 每到3的時候unset乙個元素 最後剩餘的就是 要求的猴子。

**大概是這個樣子:

<?php

$num = 0;

$arr = array(1,2,3,4,5,6);

while(count($arr) != 1)else

}}var_dump($arr);

die;

第二種方式就是既然是數到三踢出 這樣的話我就直接每三個位置一刪除 刪除之後會剩下0 或者1 或者2個猴子

因為肯定要從剩下的猴子開始報數 剩下的猴子也就相當於是隊伍的開始

這個時候在把剩下的猴子移動到隊伍的頭部 再執行每三個位置一刪除  剩下的猴子移到隊伍頭部。。。。 是不是就是乙個遞迴那????

so:

<?php

//重排陣列

function randarray($arr,$num)

//刪除第三位

function unsetarray($arr)

}$arr = array_values($arr);

}function checkmonk($arr)

$num = count($arr) % 3;

$arr = unsetarray($arr);

$arr = randarray($arr,$num);

return checkmonk($arr);

}$arr = array(1,2,3,4,5,6);

echo checkmonk($arr);

大概就是這樣。。。

2011面試題目之猴子偷桃

五隻猴子摘了一堆桃子,可是怎麼也平分不了。於是一致同意先去睡覺,明天再分。夜裡,乙隻猴子偷偷起來,先吃掉乙個桃子,剩下的桃子正好平分成5份。它蕆起自己的1份,然後再去睡覺。過了一會,第二隻猴子起來,也吃掉1個桃子,剩下的桃子也正好平分成5份。它也藏起了自己的1份,然後再去睡覺。第三隻 第四只和第五只...

大公司面試題之猴子分桃問題

日期 2013.11.15 地點 湖南大學軟體大樓211 五隻猴子分桃。半夜,第一只猴子先起來,它把桃分成了相等的五堆,多出乙隻。於是,它吃掉了乙個,拿走了一堆 第二隻猴子起來一看,只有四堆桃。於是把四堆合在一起,分成相等的五堆,又多出乙個。於是,它也吃掉了乙個,拿走了一堆 其他幾隻猴子也都是 這樣...

面試題 PHP面試題

建議 比如是系統配置,缺少了無法執行,自然使用 require 如果某一段程式少了,只是少了統計 訪問的,不是必不可少的。可以使用 include 而加不加 once 就是效率上的區別,雖然系統會幫你考慮只包含一次,但系統的判斷會降低效率,因此,更應該在開發之初,把目錄結構調整高好,盡量不使用 on...