Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für PHP-Joseph-Spielcode

Beispiel für PHP-Joseph-Spielcode

不言
不言nach vorne
2019-02-14 14:22:103756Durchsuche

Dieser Artikel enthält Codebeispiele zum PHP-Joseph-Spiel. Freunde in Not können darauf verweisen.

30 Personen auf einem Boot, überladen, 15 Personen mussten von Bord gehen. Die Leute stellen sich also in einer Reihe auf, und die Position in der Reihe ist ihre Nummer. Zählen Sie, beginnend bei 1, und diejenigen, die bis 9 zählen, steigen aus dem Boot. Dieser Zyklus wird fortgesetzt, bis nur noch 15 Personen auf dem Boot sind. Welche Personenzahl ist ausgestiegen?

$numberStart = 30; //开始的人数
$numberLive  = 15; //最终剩下的人数
$numKill     = 9;  //"中奖"号码
$peopleList  = [];
for($i=1; $i<=$numberStart; $i++){
	$peopleList[$i]=1; //1表示生 0表示死
}

$numSay=0;//报号
$i     =1;//索引(人员位置编号,相当于枪指向谁)
$maxIndex = $numberStart;

while (true){
	if($i > $maxIndex ){//循环一圈后,重新开始
		$i = 1;
	}
	if($numberStart==$numberLive){//游戏结束条件
		break;
	}
	if($peopleList[$i]==0){//如果这个人已经"离开"了,让下一个人报号
		$i++;
		continue;
	}
	$numSay++;
	if($numSay==$numKill){
		$peopleList[$i] = 0;
		$numSay         = 0;
		echo $i.&#39;号下船了&#39;.PHP_EOL;
		$numberStart--;
	}
	$i++;
}
print_r($peopleList);
/*
9号下船了
18号下船了
27号下船了
6号下船了
16号下船了
26号下船了
7号下船了
19号下船了
30号下船了
12号下船了
24号下船了
8号下船了
22号下船了
5号下船了
23号下船了
*/

Das obige ist der detaillierte Inhalt vonBeispiel für PHP-Joseph-Spielcode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen