亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

PHP約瑟夫小游戲的代碼示例

來源:不言 發(fā)布時間:2019-03-23 16:13:26 閱讀量:1328

本篇文章給大家?guī)淼膬?nèi)容是關(guān)于PHP約瑟夫小游戲的代碼示例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

30 個人在一條船上,超載,需要 15 人下船。于是人們排成一隊,排隊的位置即為他們的編號。報數(shù),從 1 開始,數(shù)到 9 的人下船。如此循環(huán),直到船上僅剩 15 人為止,問都有哪些編號的人下船了呢?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

$numberStart = 30; //開始的人數(shù)

$numberLive  = 15; //最終剩下的人數(shù)

$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 ){//循環(huán)一圈后,重新開始

        $i = 1;

    }

    if($numberStart==$numberLive){//游戲結(jié)束條件

        break;

    }

    if($peopleList[$i]==0){//如果這個人已經(jīng)"離開"了,讓下一個人報號

        $i++;

        continue;

    }

    $numSay++;

    if($numSay==$numKill){

        $peopleList[$i] = 0;

        $numSay         = 0;

        echo $i.'號下船了'.PHP_EOL;

        $numberStart--;

    }

    $i++;

}

print_r($peopleList);

/*

9號下船了

18號下船了

27號下船了

6號下船了

16號下船了

26號下船了

7號下船了

19號下船了

30號下船了

12號下船了

24號下船了

8號下船了

22號下船了

5號下船了

23號下船了

*/


分享:
評論:
你還沒有登錄,請先