一个游戏的解答
游戏:span style=color:#000000;font-family:lucida Grande, Verdana;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:23px;orphans:2;text-align:-webkit-auto;text-indent:0px;text-transf
游戏:
一场作战中,64个人被捉住了,敌方决定按一种方式处理他们,最后剩下的那个人可以活命。该方式为:给所有人编数字号,然后围成一个圈,先杀一号,每隔一个杀一人,直至只剩下一人。杰克果断站在了一个位置上,并最终成功活了下来,请问,他是几号?
<?php $arr = array(); // 初始化 for ($i = 1; $i <= 64; $i ++) { $j = ($i == 1) ? 64 : ($i - 1); $k = ($i == 64) ? 1 : ($i + 1); $arr['p' . $i] = array($j, $k); } // 开始Kill $i = 1; while (count($arr) > 1) { $p = $arr['p' . $i]; unset($arr['p' . $i]); $j = $p[0]; $k = $p[1]; $arr['p' . $j][1] = $k; $arr['p' . $k][0] = $j; $i = $arr['p' . $k][1]; } // 看看还剩谁 print_r($arr); // 结果:64 ?>
- 上一篇:转义 javascript 代码标记 函数
- 下一篇:用Pear Mail发邮件
精彩图集
精彩文章