存档

文章标签 ‘PHP求素数’

PHP几个算法整理-PHP冒泡-PHP二分法-PHP求素数-PHP乘法表

2010年4月23日 2 条评论

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二分法查找 代码示例

//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 '
 ';
			}
		}
	}
}