zoukankan      html  css  js  c++  java
  • 面试题01

    <?php
    
       
        # 不适用PHP内置函数,实现字符串的翻转
       
       header('content-type:text/html;charset=utf-8');
       function str_rev($str){
           $len = strlen($str);
           $tmp = '';
           for($i=0;$i<($len/2);$i++){
              $tmp = $str[$i];
              $str[$i] = $str[$len-1-$i];
              $str[$len-1-$i] = $tmp;
           }
          return $str;
       }
       $str ='abcdefg';
       $new_str = str_rev($str);
       //echo '翻转前:',$str,',翻转后:',$new_str;
       #输出用户的ip地址,并且判断用户的ip地址是否在192.168.1.100---192.168.1.150
       function compare_ip($ip){
         $pt = strrpos($ip,'.');
         $rip = substr($ip,$pt+1);
         $lip = substr($ip,0,($pt));
         $lip = str_replace('.','',$lip);
         if($lip != 1921681){
            echo '不在这个范围';
            
         }else{
              if($rip >=100 && $rip <=150){
                   echo '在这个范围';
              }else{
                    echo '不在这个范围';
              }
         }
        
       }
       //$ip = $_SERVER['REMOTE_ADDR'];
       $ip = '192.168.1.122';
      // compare_ip($ip);
      #请将二维数组按照name的长度进行重新排序,按照顺序将id赋值(从1开始);
      $tarr = array(
                array('id'=>0,'name'=>'123833'), 
                array('id'=>0,'name'=>'aaa'),
                array('id'=>0,'name'=>'albabaababa'),
                array('id'=>0,'name'=>'12356'),
                array('id'=>0,'name'=>'123abcff')
      );
      function sort_arr($arr){
          $tmp = '';
          for($i=0;$i<count($arr);$i++){
             $k = $i;
             for($j=$i+1;$j<count($arr);$j++){
               if(strlen($arr[$k]['name']) > strlen($arr[$j]['name'])){
                    $k = $j;
               }
             }
             if($k != $i){
               $tmp = $arr[$k];
               $arr[$k] = $arr[$i];
               $arr[$i] = $tmp;
             }
          }
         
          for($i = 0 ;$i<count($arr);$i++){
             $arr[$i]['id'] = $i+1;
          }
          return $arr;
      }
      $newarr = sort_arr($tarr);
      /*foreach($newarr as $v){
      
         echo "
    ",$v['id'],'===>',$v['name'],'<br/>';
      }*/
      #有 1-5000 一组乱序数列 ,请使用   进行排序
      function arr_sort(&$arr3){
             $tmp = 0;
           for($i=0;$i<count($arr3)-1;$i++){
              $flag = false;
              for($j=0;$j<count($arr3)-1-$i;$j++){
                    if($arr3[$j] > $arr3[$j+1]){
                        $tmp = $arr3[$j];
                        $arr3[$j] = $arr3[$j+1];
                        $arr3[$j+1] = $tmp;
                        $flag = true;
                    }
              }
              if(!$flag){
                 break;
              }
           }
      }
      $arr = array(20,11,22,34,1,2,3,4,5,6,7,8,9,10);
      /*arr_sort($arr);
      echo '<pre>';
      print_r($arr);
      echo '</pre>';*/
     #百钱买白鸡问题:公鸡3元一只,母鸡5元一只,小鸡1元3只,一百元买一百只鸡,请使用伪代码写出求公鸡数,母鸡数,小鸡数
    /* x -公鸡数  y- 母鸡数  z--小鸡数
     3x+5y+z/3 = 100;   
     x+y+z = 100;
     公鸡数:18母鸡数:4小鸡数:78
    公鸡数:11母鸡数:8小鸡数:81
    公鸡数:4母鸡数:12小鸡数:84
    得出结论 从循环次数最少的情况开始
    */
      for($m=1;$m<(100/5);$m++){//母鸡最多买20
          for($g=1;$g<(100/3);$g++){//公鸡最多买33只
              $x = 100 - $g - $m;//取得小鸡的数目
              if((($g*3) + ($m*5) + ($x/3)) == 100){
                 //echo '公鸡数:',$g,'母鸡数:',$m,'小鸡数:',$x,'<br/>';
                 
              }
          }
      }
      #斐波拉契数列
      //11235迭代法
     /* function fbj($num){
          $fb1 = 1;
          $fb2= 1;
          $fb3= 0;
          for($i=1;$i<=$num;$i++){
              if($i <= 2){
                 $fb3 = 1;
              }else{
                  $fb3 = $fb1+$fb2;
                 $fb1 = $fb2;
                 $fb2 = $fb3;
              }
          }
          return $fb3;
      }*/
      //递归
      function fbj($n){
          $fb = 0;
         if($n <=2){
            $fb = 1;
         }else{
           $fb = fbj($n-1)+fbj($n-2);
         }
         return $fb;
      }
    echo(fbj(30));
    
    ?>
  • 相关阅读:
    Visio2019专业版激活方法
    I2C总线协议
    latch-up和Antenna-effect
    读--数字集成电路物理设计
    数字IC设计流程与工具
    读--FPGA设计指导原则
    读--数字集成电路设计与实现
    FIFO
    半导体存储器
    触发器
  • 原文地址:https://www.cnblogs.com/YangJieCheng/p/5695774.html
Copyright © 2011-2022 走看看