好贷网好贷款

一层循环实现回旋数列

发布时间:2016-12-5 16:41:20 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"一层循环实现回旋数列",主要涉及到一层循环实现回旋数列方面的内容,对于一层循环实现回旋数列感兴趣的同学可以参考一下。

所谓回旋数,就是下面这样3的回旋数1 2 38 9 47 6 55的回旋数1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 输入n得到相应的回旋数学完了 判断 循环 和函数恰好看到这道题思考了一下 算是用一层循环做了出来这应该比多层循环要效率吧调用方法 showHx(10); 10为任意的数字 <?php /*============================================================== # Program: Lamp learning # FileName: huixuan.php # Desc: # Author: pakey # Email: [email protected] # HomePage: http://www.pakey.net # Version: 0.0.1 # LastChange: 2012-04-29 11:21:52 # History: ===============================================================*/ //输出指定行的回旋数 showHx(10); /** * [getHxArr 输出回旋数方针] * @param [integer] $num [回旋数行数] * @return */ function showHx($num){ // 防止不同浏览器空格不兼容 echo '<style>*{font-family:"宋体"}</style>'; // echo '<pre>'; $arr=getHxArr($num); $lenth=strlen($num*$num); for ($i=1; $i <=$num; $i++) { for ($j=1; $j <= $num; $j++) { echo str_pad($arr[$i][$j], $lenth,' ',STR_PAD_LEFT),' '; } echo '<br /><br />'; } } /** * [getHxArr 产生回旋数数组] * 回旋方向都是 左→右 上↓下 右←左 下↑上 * 主要在控制在每个方向走多少个数 * 以4为例 每次回旋处理数据数为 $hxnum_s=floor($hxnum) * 4 3 3 2 2 1 * 每次4-0.5 然后向下取整 $hxnum * 4 3.5 3 2.5 2 1.5 * * @param [integer] $num [回旋数行数] * @return [array] $hxArr [回旋数数组] */ function getHxArr($num){ // 产生数组 $hxArr=array(); // 回旋方法 1 从做到右 2 从上到下 3 从右到左 4 从下到上 $hxmethod=1; // x坐标 $x=1; // y坐标 $y=0; // 生成hxnum_s的中间量 $hxnum=$num; // 当前行或者列处理数据数的指针 当和$hxnum_n==$hxnum_s时 切换旋转方向 $hxnum_n=0; // 当前行或者列需要处理数据的总数 $hxnum_s=floor($hxnum) $hxnum_s=$hxnum; // 循环总数 $sum=$num*$num; $i=1; while ($i <= $num*$num) { // 坐标处理 switch ($hxmethod) { case '1': ++$y; break; case '2'; ++$x; break; case '3'; --$y; break; case '4'; --$x; break; } // 为回旋数数组相应位置赋值 $hxArr[$x][$y]=$i; // 判断采用何种方向 ++$hxnum_n; if ($hxnum_n==$hxnum_s){ // 指针清零 $hxnum_n=0; $hxnum-=0.5; $hxnum_s=floor($hxnum); ++$hxmethod; if ($hxmethod>4){ $hxmethod-=4; } } ++$i; } return $hxArr; } ?> ps:写程序花了半个小时 写注释花了40分钟这写注释比写程序都累啊 原文地址:http://bbs.lampbrother.net/read-htm-tid-118284.html 管理员在2009年8月13日编辑了该文章文章。 --> --> 阅读(73) | 评论(0) | 转发(0) | 0 上一篇:在兄弟连学了两个月,只做出一个“破兮兮”的论坛 下一篇:一层循环实现回旋数列 相关热门文章 通讯录助手市场大战 触宝助手... C++ 将unsigned char数组 ... android实现多线程下载 8500WN12核顶配 极速稳定上网... 项目把控能力培养[持续整理]... IP Sec VPN与NAT破镜重圆 网站导航 GoAgent图文设置教程 UT2.0正式版下载 tomcat6.0配置(含配置视频下载... 大家都是用什么来管理hadoop集... 网站被人挂了吗,添加了些程序... Nginx如何保证不走宕机的那个... 大家谈谈MYSQL客户端和服务器... 以下代码运行后为何会输出5?... 热门推荐 --> 给主人留下些什么吧!~~ 评论热议

上一篇:QT工程文件介绍
下一篇:用js给selected添加options

相关文章

相关评论