php猴子選大王問題解決方法
本文實(shí)例講述了php猴子選大王問題解決方法。分享給大家供大家參考。具體分析如下:
問題描述:
一群猴子排成一圈,按1,2,...,n依次編號(hào)。然后從第1只開始數(shù),數(shù)到第m只,把它踢出圈,從它后面再開始數(shù),再數(shù)到第m只,在把它踢出去...,如此不停的進(jìn)行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n,
輸出最后那個(gè)大王的編號(hào)。
解決方法:
<?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)前猴子是否為出局序號(hào),
//如果是則出局,否則放到數(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));
?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP入門教程之操作符與控制結(jié)構(gòu)流程詳解
這篇文章主要介紹了PHP入門教程之操作符與控制結(jié)構(gòu)流程,結(jié)合實(shí)例形式詳細(xì)分析了php基本的賦值、自增、比較、三目運(yùn)算符以及if語句、switch語句、for語句等流程控制語句的使用技巧,需要的朋友可以參考下2016-09-09
在windows服務(wù)器開啟php的gd庫phpinfo中未發(fā)現(xiàn)
在windows服務(wù)器開啟php的gd庫時(shí),使用cgi之后phpinfo()得到的結(jié)果中 Configure Command 中并沒有出現(xiàn)gd,很是疑惑,于是搜集了一些,希望對(duì)你們有幫助,感興趣的朋友可以了解下2013-01-01
PHP基于堆棧實(shí)現(xiàn)的高級(jí)計(jì)算器功能示例
這篇文章主要介紹了PHP基于堆棧實(shí)現(xiàn)的高級(jí)計(jì)算器功能,涉及php堆棧的定義及使用堆棧進(jìn)行數(shù)值運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
php如何調(diào)用webservice應(yīng)用介紹
Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統(tǒng)中傳遞過來的請(qǐng)求,輕量級(jí)通訊技術(shù),接下來將詳細(xì)介紹php如何調(diào)用webservice,需要的朋友可以了解下2012-11-11
PHP+APACHE實(shí)現(xiàn)網(wǎng)址偽靜態(tài)
這篇文章主要介紹了PHP+APACHE通過使用mod rewrite模塊實(shí)現(xiàn)網(wǎng)址偽靜態(tài)的相關(guān)資料,需要的朋友可以參考下2015-02-02

