php基础算法集合
2015-12-04 14:42
507 查看
1,用算法画菱形(结果有两种)
<?php /** * Content: php基础算法 */ //画菱形固定长度 //上半部 /** * 只要下半部分与上班部分对称,但不输出下半部分最长的那个 */ for($i=0;$i<=3;$i++) {//3表示左右各三个星花,因为在输出星花处用的是小于等于2*$i for($j=0;$j<=3-$i;$j++) { echo " ";//每次循环输出两个空格,循环几次就会有2倍的输出 } for($k=0;$k<=2*$i;$k++) {//每次循环都输出奇数个星花 echo "*"; } echo "<br/>"; } //下半部 for($a=0;$a<=2;$a++) {//与上半部分倒数第二行开始一一对称 for($c=0;$c<=$a+1;$c++) { echo " "; } for($b=4-2*$a+1;$b> 0;$b--) { echo "*"; } echo "<br/>"; } echo "<hr/>"; /** *输出下半部分最长的那一行,并且以后的输出跟上半部分对应 */ for($i=0;$i<=3;$i++) {//3表示左右各三个星花,因为在输出星花处用的是小于等于2*$i for($j=0;$j<=3-$i;$j++) { echo " ";//每次循环输出两个空格,循环几次就会有2倍的输出 } for($k=0;$k<=2*$i;$k++) {//每次循环都输出奇数个星花 echo "*"; } echo "<br/>"; } //下半部 for($a=0;$a<=4;$a++) {//多输出一行,使得上半部分与下半部分除去最长一行一一对应 for($c=0;$c<$a;$c++) { echo " "; } for($b=8-2*$a+1;$b> 0;$b--) { echo "*"; } echo "<br/>"; } //画菱形传参数 function lingxing($x) { /** * 如果想输出自定义的长度,可以调用此函数 * $x代表最长那行输出星花的最大个数为(2*($x+1)+1) */ for($i=0;$i<=$x;$i++) {//左右个$x个星花 for($j=0;$j<=$x-$i;$j++) { echo " "; } for($k=0;$k<=2*$i;$k++) {//表示输出的行数 echo "*"; } echo "<br/>"; } for($a=0;$a<=$x+1;$a++) { for($c=0;$c<$a;$c++) { echo " "; } for($b=2*($x+1)-2*$a+1;$b>0;$b--) { echo "*"; } echo "<br/>"; } } echo "<hr/>"; lingxing(2); echo "<hr/>";2,用算法画三角形
//画三角形:如菱形的上半部分或者下半部分都可以当作三角形 /** * 普通算法 */ for($i=0;$i<=3;$i++) { for($j=0;$j<=3-$i;$j++){ echo " "; } for($k=0;$k<=2*$i;$k++){ echo "*"; } echo "<br/>"; } echo "<hr/>"; /** * 直角三角形 */ for($i=0;$i<=3;$i++ ){ for($a=0;$a<=3-$i;$a++){ echo " "; } for($b=0;$b<=$i;$b++) { echo "*"; } echo "<br/>"; }
相关文章推荐
- ThinkPHP框架--身份证号码的验证类
- 常用的php数组函数
- 关于yii2的一些知识的学习笔述
- cookie.setPath()的用法
- PHP中date函数月和日带0问题
- PHP正则表达式语法汇总
- php分类
- deepin安装php7
- PHP中HASH函数的优化技巧
- php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
- PHP页面跳转几种实现技巧
- php stream
- 关于ZendStudio 12.0.2的破解 包括mac
- php小知识总结
- php删除指定目录下的的文件/文件夹-用PHP怎么删除某目录下指定的一个文件/文件夹?
- PHP编程效率的20个要点
- Php字符串操作
- PHP基础--字符串操作和运算符
- str_split与explode
- 使用纯php建立MVC框架,仿照Thinkphp的目录结构