1 Star 1 Fork 0

BaAGee/studyci

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
特殊矩阵.php 1.61 KB
一键复制 编辑 原始数据 按行查看 历史
BaAGee 提交于 2016-10-22 15:25 . 1,加入sql
<?php
/*
根据一个数输出这个图形,例如n=3:
3 4 5
10 11 6
9 8 7
函数:
思路:
1,初始化多维数组
$array[$i][$j]
$array=array(
array(0,0,0),
array(0,0,0),
array(0,0,0)
)
2,移动
向上移动$array[$i--][$j]
向下移动$array[$i++][$j]
向左移动$array[$i][$j--]
向右移动$array[$i][$j++]
*/
function test($n){
if($n<3){
die("数字必须大于三");
}
/*1,初始数组*/
for($x=0;$x<$n;$x++){
for($y=0;$y<$n;$y++){
$arr[$x][$y]=0;
}
}
/*2,初始化几个变量*/
$direction='R';//R(右),L(左),T(上),B(下)
$maxn=$n*$n+$n-1;//计算最后一个数字
$x=$y=0;
/*3,循环每个数字,放到数组*/
for($i=$n;$i<=$maxn;$i++){
if($arr[$x][$y]==0){
$arr[$x][$y]=$i;
}else{
if($direction == 'R'){
if(($y+1) < $n && $arr[$x][$y+1] == 0){
$y++;
}else {
$direction = 'B';
}
}
if($direction == 'B'){
if(($x+1) < $n && $arr[$x+1][$y] == 0){
$x++;
}else {
$direction = 'L';
}
}
if($direction == 'L'){
if(($y-1) >= 0 && $arr[$x][$y-1] == 0){
$y--;
}else {
$direction = 'T';
}
}
if($direction == 'T'){
if(($x-1) >= 0 && $arr[$x-1][$y] == 0){
$x--;
}else{
$direction = 'R';
if($direction == 'R'){
if(($y+1) < $n && $arr[$x][$y+1] == 0){
$y++;
}else {
$direction = 'B';
}
}
}
}
/*放入值*/
$arr[$x][$y]=$i;
}
}
$table="<table border='1'>";
foreach ($arr as $k1 => $v1) {
$table.="<tr>";
foreach ($v1 as $k2 => $v2) {
$table.="<td>$v2</td>";
}
$table.="</tr>";
}
$table.="</table>";
echo $table;
}
test(3);
?>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/baagee/studyci.git
[email protected]:baagee/studyci.git
baagee
studyci
studyci
master

搜索帮助