首页 > 解决方案 > 我想打印数字模式程序,但它不会给我错误的输出

问题描述

我想得到这样的输出

1 5 9  13
2 6 10 14
3 7 11 15
4 8 12 16

我正在尝试这样:

<?php
for($a=1; $a<=16; $a++)
{
 for($b=$a; $b>=1; $b--)
   {
     echo "$b";
   }
echo "<br>";
}
?>

上面的代码给了我错误的输出。

标签: php

解决方案


让我们调试。

你从1你的外循环和你的内循环开始,你从$a直到1时间。

这不符合您的要求,因为我们必须在每一行中打印一个递增的序列。

您还可以注意到,一行中的每个数字相差4.

所以,逻辑如下:

伪代码:

rows = 4
starting_number = 1
loop from 1 to rows
   number = starting_number 
   loop from 1 to 4 // since each row has 4 numbers
     print number 
     number += 4
   print new_line
   starting_number++

演示: https ://3v4l.org/9YjIP


推荐阅读