`
cana_xu
  • 浏览: 2482 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

PHP打印环状数圈

PHP 
阅读更多

如题:
int i=[number];
打印如下的图形:

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

PHP代码如下

 

function sort_recursive(&$array){
    foreach($array as $key=>$edge){
        ksort($edge,true);
        $array[$key]=$edge;
    }
    ksort($array,true);
}

function generate(&$container,$start_value,$x,$grids_edge){
    $rec_times=ceil($grids_edge/2);
    $center=$grids_edge&1?false:$start_value+4*$rec_times*($rec_times+1);
    if($center){
        $index=$x+ceil($grids_edge/2);
        $container[$index][$index]=$center;
    }
	for($i=0;$i<$grids_edge;$i++){
	    $right=$x+$grids_edge;
	    $basevalue=$start_value+$i;
	    $container[$x][$x+$i]=$base_value;
	    $container[$x+$i][$right]=$grids_edge+$base_value;
	    $container[$right][$right-$i]=$grids_edge*2+$base_value;
	    $container[$right-$i][$x]=$grids_edge*3+$base_value;
	}
}


$container=array();
$data=array(
    1 =>array(1,6),
    25=>array(2,4),
    41=>array(3,2),
);
/*
$data=array(
    1 =>array(1,2),
);
$data=array(
    1 =>array(1,5),
    21=>array(2,3),
    33=>array(3,1),
);
$data=array(
	1 =>array(1,3),
	13=>array(2,1),
);
*/
foreach($data as $key=>$val){
    generate($container,$key,$val[0],$val[1]);
}
sort_recursive($container);
$table='<table border=1>';
foreach($container as $key=>$edge){
	$table.='<tr>';
	foreach($edge as $val){
        $table.='<td>'.$val.'</td>';
    }
    $table.='</tr>';
}
$table.='</table>';
echo $table;
分享到:
评论

相关推荐

    环状流边界及说明_环状流边界fluentudf_annular_

    环状流边界是流体力学领域中的一个重要概念,特别是在计算流体动力学(CFD)模拟中,如 Fluent 软件的应用。环状流边界条件通常用于描述两种不同流体在圆筒形管道内相互接触时的流动情况,比如气体和液体之间的混合...

    jquery环状轮播图插件

    **jQuery环状轮播图插件详解** 在Web开发中,动态展示信息是吸引用户注意力的有效方式,而轮播图正是实现这一目标的常用手段。本文将深入探讨一款基于jQuery的环状轮播图插件,它具备响应式设计,能在手机等移动...

    jquery环状图标菜单插件鼠标悬停环状排列图标菜单代码

    环状图标菜单是一种独特而吸引人的用户界面设计,它能够以一种创新的方式展示多项操作或功能,提升用户体验。在Web开发中,jQuery是一款非常流行的JavaScript库,它简化了DOM操作、事件处理、动画效果等任务。本文将...

    ios-JHChart更新版-环状图.zip

    其中,`ringChartNumberOfSections`方法返回环状图的段数,`ringChart:valueForSection:`方法为每个段提供数值。 ```swift extension ViewController: JHRingChartDataProtocol { func ringChartNumberOfSections...

    环状图

    环状图是一种数据可视化工具,常用于展示各项数据在整体中的占比关系,它是由一系列等宽的扇形区域构成,每个扇形代表一个类别或项目,且扇形的大小与对应的数值成比例。环状图在很多领域都有广泛应用,如数据分析、...

    往复式压缩机环状阀计算标准

    【往复式压缩机环状阀计算标准】是沈阳气体研究所内部制定的企业标准,主要用于指导往复式压缩机中环状气阀的设计和计算。这个标准涵盖了多个关键参数的选取和计算方法,如气阀直径、阀隙马赫数、阀片升程、气阀压力...

    jquery环状图标菜单插件鼠标悬停环状排列图标菜单代码1

    本教程将详细讲解如何利用jQuery创建一个“环状图标菜单”,当鼠标悬停时,图标会环状排列,提供一种独特的用户交互体验。 首先,我们需要在HTML文件中设置基础结构。创建一个`&lt;div&gt;`元素作为菜单容器,并在其中...

    CT环状伪影去除工具包,非常强大,实用,自己编写,适用场景广泛!

    CT环状伪影去除工具包是一款专为解决CT(计算机断层扫描)图像中的环状伪影问题而设计的专业软件。环状伪影是CT成像中常见的问题,尤其是在低剂量或硬件性能有限的情况下,这种伪影会显著降低图像质量,影响医生对...

    Qt环状圆形菜单动态源码

    总之,实现"Qt环状圆形菜单动态源码"涉及到了Qt图形视图框架的运用、自定义QGraphicsItem、动画效果的创建、颜色设置以及信号与槽的交互等多个方面。通过对这些知识点的深入理解和实践,开发者可以创建出富有创新性...

    基于Qt5圆形环状菜单

    针对“基于Qt5圆形环状菜单”的主题,我们将介绍以下关键知识点: 1. **Qt5基础**: - Qt5是Qt库的第五个主要版本,提供了许多改进和新特性,包括更好的性能、新的模块化结构、QML(Qt Meta Object Language)和Qt...

    jQuery右下角旋转环状菜单代码.zip

    2. 动画性能:减少不必要的动画帧数,优化动画性能,尤其在低性能设备上。 3. 可访问性:考虑到非视觉用户,提供键盘导航和屏幕阅读器支持。 4. 错误处理:处理可能出现的异常情况,如JavaScript未加载或用户禁用了...

    论文研究-一种手写环状化学结构式的识别方法 .pdf

    根据给定文件内容,本文研究了一种手写环状化学结构式识别方法,杨巨峰副教授在此领域取得了一定的研究成果。以下将详细阐述文章中提及的关键知识点和研究内容。 首先,化学式识别是化学信息学中一个非常重要的研究...

    邻二醇和二氧化碳反应合成环状碳酸酯的研究进展

    邻二醇与二氧化碳反应合成环状碳酸酯的研究主要集中在化学领域内的有机合成与绿色化学应用,这一领域旨在探索如何利用二氧化碳这一可再生资源来生产重要的有机化学品。通过这一途径,不仅可以减少二氧化碳的排放,...

    Echarts 自动切换选中状态, 环状饼图内饼和外环同步切换,示例代码

    在本案例中,我们关注的是环状饼图(Ring Pie Chart)以及如何实现自动切换选中状态和内外环同步切换的功能。以下将详细讲解相关知识点: 1. **ECharts 饼图**: ECharts 中的饼图是一种用于展示数据比例关系的...

    环状进度条 javascript 插件

    饼状进度条,可以对饼图的尺寸大小、进度条颜色、环形背景颜色及文字颜色进行设置。 示例:document.body.appendChild(percentpie(300, 160, 3, 2, "#fff", "#ddd", "#f00"));

    jQuery和CSS3超炫旋转环状菜单特效.zip

    这是一款非常炫酷的jQuery和CSS3旋转环状菜单特效。该环状菜单固定在页面的右下角位置,当用户点击了主菜单按钮后,子菜单项会以环状旋转进入页面,并使用animate.css来制作动画效果。菜单隐藏时也是以旋转的方式...

Global site tag (gtag.js) - Google Analytics