php猴子選大王問題解決方法
本文實例講述了php猴子選大王問題解決方法。分享給大家供大家參考。具體分析如下:
問題描述:
一群猴子排成一圈,按1,2,...,n依次編號。然后從第1只開始數(shù),數(shù)到第m只,把它踢出圈,從它后面再開始數(shù),再數(shù)到第m只,在把它踢出去...,如此不停的進行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n,
輸出最后那個大王的編號。
解決方法:
<?php
function king($m, $n) {
for($i = 1;$i < $m + 1;$i++) {
//構(gòu)建數(shù)組
$arr[] = $i;
}
$i = 0;//設(shè)置數(shù)組指針
while (count($arr) > 1) {
//遍歷數(shù)組,判斷當(dāng)前猴子是否為出局序號,
//如果是則出局,否則放到數(shù)組最后
if (($i + 1) % $n == 0) {
unset($arr[$i]);
} else {
array_push($arr, $arr[$i]);
//本輪非出局猴子放數(shù)組尾部
unset($arr[$i]);
//刪除
}
$i++;
}
return $arr;
}
var_dump(king(100,5));
?>
希望本文所述對大家的php程序設(shè)計有所幫助。
相關(guān)文章
PHP Undefined index報錯的修復(fù)方法
用$_GET["xx"]這種形式取得數(shù)據(jù)時,如果之前不加判斷,$_GET["xx"]不存在時會出現(xiàn)這樣的警告:PHP Notice: undefined index xxx。2011-07-07
深思 PHP 數(shù)組遍歷的差異(array_diff 的實現(xiàn))
深思 PHP 數(shù)組遍歷的差異(array_diff 的實現(xiàn))...2006-06-06
php文章內(nèi)容分頁并生成相應(yīng)的htm靜態(tài)頁面代碼
php 文章內(nèi)容分頁并生成對應(yīng)的htm靜態(tài)文件實例代碼,一般主要用戶長文件分頁。2010-06-06

