Meine persönliche Zusammenfassung des Codes für den Affen, der den König wählt, mit angehängten Kommentaren wird für Anfänger sehr hilfreich sein, denn als ich das gelernt habe, habe ich zwei oder drei Stunden gebraucht, um es zu verstehen, und dann Ich habe es geschafft. Natürlich ändert sich der Code ständig! Ich habe schon einmal eine prägnantere Version gesehen, die in 5-6 Zeilen geschrieben ist. Das ist von Person zu Person unterschiedlich, daher sollten Anfänger es Schritt für Schritt angehen!
2015 8.24 0:46
<code><span>1</span><span><span>function</span><span>getKing</span><span>(<span>$m</span>,<span>$n</span>)</span>{</span><span>2</span><span>$arr</span> = <span>array</span>(); <span>//定义一个存放猴子的数组;</span><span>3</span><span>$a</span> = <span>"a"</span>; <span>//定义猴子编号;</span><span>4</span><span>for</span>(<span>$i</span>=<span>0</span>;<span>$i</span><<span>$m</span>;<span>$i</span>++){ <span>//开始循环给每个猴子附上编号;</span><span>5</span><span>$arr</span>[] = <span>$a</span>++; <span>//循环a到M(给出猴子的数量);</span><span>6</span> } <span>7</span><span>8</span><span>$i</span> = <span>0</span>; <span>//定义一个报数的变量;</span><span>9</span><span>while</span>(count(<span>$arr</span>)><span>1</span>){ <span>//获取猴子个数,只要猴子不小于1就一直循环</span><span>10</span><span>if</span>(<span>$i</span>%<span>$n</span> == <span>0</span>){ <span>//报的数对N取余(设定的数,报道几就对几取余,余数为0,则那只猴子被提出游戏)</span><span>11</span><span>unset</span>(<span>$arr</span>[<span>$i</span>]); <span>//删除余数为零的数组元素</span><span>12</span> }<span>else</span>{ <span>13</span><span>$arr</span>[] = <span>$arr</span>[<span>$i</span>]; <span>//如果为0则删除数组元素,否则没被删除的,则增加至队尾,下一轮继续报数,</span><span>14</span><span>unset</span>(<span>$arr</span>[<span>$i</span>]); <span>//删除数组刚才添加的那个数组元素,抽象理解为 : 需要的数例如为5,1 2 3 4 号位的猴子没有报道,则添加 </span><span>16</span> } <span>//1 2 3 4为队尾,下轮继续,而5号位的猴子正好报道5,被提出游戏,6号位的猴子从1开始报,反复如此,</span><span>17</span><span>$i</span>++; <span>18</span> } <span>19</span><span>return</span><span>$arr</span>; <span>20</span> } <span>21</span> print_r(getKing(<span>20</span>,<span>5</span>)); </code>
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt das allgemeine Verständnis von PHP Monkey King vor, einschließlich inhaltlicher Aspekte. Ich hoffe, es wird Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein.