在我們phper去面試時都會碰到一些小算法題,下面我來總結一下可能碰到的一些PHP面試常出現的小算法總結,代碼如下:
- <?php
- //打印一個三角形
- for($i=0;$i<=3;$i++)
- {
- for($j=0;$j<=3-$i;$j++){
- echo ‘ ’;
- }
- for($k=0;$k<=2*$i;$k++)
- {
- echo “*”;
- }
- echo ‘<br>’;
- }
- ?>
- <?php
- //楊輝三角
- for($i=0;$i<6;$i++)
- {
- //第一個和最后一個都為1
- $a[$i][0]=1;
- $a[$i][$i]=1;
- }
- for($i=2;$i<6;$i++){
- for($j=1;$j<$i;$j++)
- {
- $a[$i][$j]=$a[$i-1][$i-1]+$a[$i-1][$j];
- }
- }
- for($i=0;$i<6;$i++)
- {
- for($j=0;$j<=$i;$j++){
- echo $a[$i][$j].’ ’;
- }
- echo ‘<br/>’;
- }
- ?>
- <?php
- //合并多個數組
- function t(){
- $c=func_num_args()-1;//返回傳遞給函數的參數個數
- $a=func_get_args();//返回一個數組,包括函數的參數列表
- for($i=0;$i<=$c;$i++){
- if(is_array($a[$i])){
- for($j=0;$j<count($a[$i]);$j++){
- $r[]=$a[$i][$j];
- }
- }else{
- die(‘Not a array’);
- }
- }
- return $r;
- }
- print_r(t(range(1,4),range(1,4),range(1,4)));
- ?>
- <?php
- //求牛
- function cow($num,$y)
- {
- for($j=1;$j<$y;$j++)
- {
- if($j>=4 && $j<15)
- {
- $num++;
- cow($num,$y-$j);
- }
- if($j==20)
- $num–;
- }
- return $num;
- }
- echo cow(2,2);
- ?>
- <?php
- //順序查找(數組里查找某個元素)
- function seq_sch($array,$n,$k)//在某個位置之前查找某元素(不包括指定位置)
- {
- $array[$n]=$k;
- for($i=0;$i<$n;$i++)
- {
- if($array[$i]==$k)
- break;
- }
- if($i<$n)
- return $i;
- else
- return -1;
- }
- $array=array(‘a’,'b’,'c’);
- echo seq_sch($array,2,’b');
- ?>
- <?php
- function show($i)
- {
- if($i==1)
- return 1;
- else
- return $i*show($i-1);
- }
- echo “<br>”;
- echo show(3);
- ?>
- <?php
- function b($n)
- {
- if($n<2)
- return $n;
- else
- return b($n-1)+show($n-2);
- }
- echo b(2);
- ?>
新聞熱點
疑難解答