大小和尚共有100人php,"国王要杀100个和尚" 的面试题 !

本文通过PHP编程解决了一个特定的杀人游戏问题,利用迭代的方法实现了游戏规则的模拟,并最终输出了幸存者的编号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我也来个代码,用了迭代,这PHP迭代返回值总是出错,直接在里面输出了

$n=100;//人数

$nj=5;//

function ar($m)//初始化数组。

{

for($i=0;$i

{

$ar[$i][0]=$i+1;

$ar[$i][1]=0;

$ar[$i][2]=0;//在哪次循环被杀掉。

}

return $ar;

}

$ar=ar($n); //

$ra[0]=0;

$ra[1]=$n;

$k=0;//第几次循环

function getid($a,$ra,$k,$n,$nj)

{

if($ra[1]>=$nj)

{

$h=$ra[0];

$j=0;

$k=$k+1;

for($i=0;$i

{

$tf=$a[$i][1];

if($tf==0)

{

$h=$h+1;

$j=$j+1;

}

if($h==$nj)

{

$h=0;

$a[$i][1]=1;

$a[$i][2]=$k;

} }

$ra[0]=$h;

$ra[1]=$j;

getid($a,$ra,$k,$n,$nj);

}

else

{

for($i=0;$i

{

if($a[$i][1]==0)

{

$show=$a[$i][0];

echo "**NO".$show."
";

} }

}

}

getid($ar,$ra,$k,$n,$nj);

?>

结果是:

**NO26

**NO47

**NO51

**NO79

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值