本篇文章是对PHP冒泡、PHP二分法、PHP求素数、PHP乘法表进行了详细的分析介绍,需要的朋友参考下
PHP几个算法整理 涉及到以下几个示例。 PHP冒泡 PHP二分法 PHP求素数 PHP乘法表
PHP冒泡法 示例 复制代码 代码如下: //PHP冒泡 从小到大 function maopao(&$arr) { if(!empty($arr)) { for($i=0;$i<count($arr);$i++) { if($arr[$i]>$arr[$j]) { //开始交换 $temp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $temp; } } } return $arr; } }
php二分法查找 代码示例 复制代码 代码如下: //二分法查找 function erfenfa($a,$arr) { print_r($arr); if(!empty($a) && !empty($arr)) { $start = 0; $end = count($arr)-1; $i = 0; while($start <= $end) { $i ++; $step = floor($end / 2); if($a == $arr[$step]) { print_r($arr[$step]); return $a; } if($a >$arr[$step]) { $start = $step; }
if($a < $arr[$step]) { $end = $step; } } } }
php求素数 – 计算 a 到 b 之间的素数。 代码示例 复制代码 代码如下: //php求素数 - 计算 a 到 b 之间的素数。 function sushu($a,$b) { if(!empty($a) && !empty($b)) { if($b<$a) return; $temp = array();
for($i=$a;$i <=$b;$i++) { $j = intval(sqrt($i)); $flag = true; if($i<=3) { $temp[$i] = $i; }else { for($x=2;$x<=$j;$x++) { if($i%$x==0) { $flag = false; break; } } if($flag) { $temp[$i] = $i; } } } return $temp; } }
PHP输出乘法表-递归 代码示例 复制代码 代码如下: //PHP输出乘法表-递归 function digui($a,$step) { if($a >$step) return; if( !empty($a) && !empty($step) ) { for($i=1;$i<=$a;$i++) { echo $i.'*'.$a.'='.$a*$i.”\t”; if($i == $a ) echo ‘ ‘; } $a = $a + 1; digui($a,$step); } }
PHP输出乘法表-循环 代码示例 复制代码 代码如下: //PHP输出乘法表-循环 function chengfa($a,$step) { if( !empty($a) && !empty($step) ) { for($i=$a;$i<=$step;$i++) { for($j=1;$j<=$i;$j++) { echo $j.'*'.$i.'='.$i*$j.”\t”; if($i==$j) echo ‘ ‘; } } } }
|