首页 > 解决方案 > 如何用两个不同的变量编写循环

问题描述

想象一下,您想将 2 个骰子的总和相加,因此输出在 6 行中如下所示:

2 3 4 5 6 7 3 4 5 6 7 8 9 4 5 6 7 8 9 10 11 5 6 ... 7 8... 8 9...

通过只编程一个循环?

我试图用嵌套循环来做,但可以弄清楚它的逻辑。

标签: php

解决方案


您可以使用一个 while 循环和两个变量来处理两个骰子。

<?php
$x = 1;
$y = 1;

while ( $x <= 6 ) {
    echo $x + $y;

    $y++;

    if ( $y > 6 ) {
        $y = 1;
        $x++;
    }
}

它本质上是一个机械计数器。当第一个轮子完成旋转时,它会重置并推进第二个轮子。除了在这种情况下,它们是骰子。当 $y 大于 6 时,它重置并推进 $x。

在处理日期时,您将使用类似的代码,当日期结束时提前几个月等。

使用两个循环代码会更简单。

for ( $x = 1; $x <= 6; $x++ ) {    
    for ( $y = 1; $y <= 6; $y++ ) { 
        echo $x + $y;   
    }   
}

由于这是不允许的,while 循环是“第一个轮子”,if 语句确定何时重置和推进第二个轮子。

如果您想练习解决编码问题,https://www.hackerrank.com/很好


推荐阅读