【功能分析】
一群猴子排成一圈,按"1,2,..., n "依次编号。将需要踢出的猴子编号设为 m ,从第1只猴子开始数,当数到第 m 只时,把它踢出圈;其后的猴子再从1开始数,数到第 m 只时,再次把它踢出圈。按照此方式不停地进行下去,直到剩下最后一只猴子,这只猴子就是要找的猴王。具体需求如下所示。
.编写函数模拟找猴王的游戏。
.根据用户输入的 m 和 n ,指定被踢猴子的编号和猴子的总数。
.展示猴子的总数 n 、被踢的猴子编号 m 和猴王的编号。
【功能实现】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>寻找猴王——FindMonkeyKing.php</title>
</head>
<body>
编写找猴王游戏的函数
创建monkey.php文件,编写king()函数实现游戏功能代码如下。
<?php
// 使用function关键字定义一个函数
function king($n,$m){
$monkey=range(1, $n);
for ($i=1; count($monkey)>1 ; $i++) {
$head=array_shift($monkey);
if ($i%$m!=0) {
array_push($monkey, $head);
#
}
}
return['total'=>$n,'kick'=>$m,'king'=>$monkey[0]];
}
$aa=king(20,7);
?>
<table width="300px" align="center" bgcolor="#ccc">
展示游戏结束
在monkey.php中展示找到的猴王编号,具体如下所示。
<tr><td colspan="2" align="center">寻找猴王</td></tr>
<tr><td>猴子总数:</td><td><?php echo $aa['total']; ?></td></tr>
<tr><td>猴王是编号:</td><td><?php echo $aa['king']; ?> </td></tr>
<tr><td>被踢出的第m只猴子</td><td>
<?php echo $aa['kick']; ?>
</td></tr>
</table>
</body>
</html>