加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 打印图案以显示最多5行和5列的数字,如5 4 3 2 1和下一行4

发布时间:2020-12-13 22:11:07 所属栏目:PHP教程 来源:网络整理
导读:这是一个正方形图案,每行有5列,有5行,图案如下所示: 5 4 3 2 1 4 3 2 1 5 3 2 1 5 4 2 1 5 4 3 1 5 4 3 2 我的代码如下所示,以获得模式,但当计数器变为1并显示在相应的列值时,我无法重置每个模式中的值. 任何人都可以指导我缺乏逻辑吗? ?php $n=5; $count=
这是一个正方形图案,每行有5列,有5行,图案如下所示:

5 4 3 2 1
      4 3 2 1 5
      3 2 1 5 4
      2 1 5 4 3
      1 5 4 3 2

我的代码如下所示,以获得模式,但当计数器变为1并显示在相应的列值时,我无法重置每个模式中的值.

任何人都可以指导我缺乏逻辑吗?

<?php
  $n=5;
  $count=5;
  for($i=5;$i>=1;$i--){ 
     for($j=$count;$j>=1;$j--)
     {
        if($count>=1)
           echo $j."&nbsp;";        
     }
     $count--;
     echo "n";
  }
?>

解决方法

我认为这是一个学习练习,所以必须用for循环来完成.

<?php
$n=5;
for($i=$n; $i>=1; $i--) { 
    for($j=$n; $j>=1; $j--) {
        echo ($i + $j - 1) % $n + 1; 
        echo ' '; // cosmetics :)       
    }
    echo "n";
}
?>

%是模运算符. 6%5 =其余从6除以5 = 1.

例子:1%5 = 1; 5%5 = 0; 12%5 = 2.

这很容易超过模运算(http://en.wikipedia.org/wiki/Modular_arithmetic).每个新行都不是简单的加法操作,而是在5-mod数字集中(对于从较小数字开始的每一行).我认为这是解决这个问题的最佳和单线解决方案.此外,操作简单,并且不耗时.

最好的祝福!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读