我来个抛砖引玉function sheepSum($n) {
  $ar = array(1, 0, 0, 0,0, 0);
  for($i=0; $i<$n; $i++) {
    $ar[0] += $ar[2] + $ar[4];
    array_pop($ar);
    array_unshift($ar, 0);
    //echo join(',',$ar),PHP_EOL; //可在这里验证逐次的结果
  }
  return array_sum($ar);
}

解决方案 »

  1.   


    function sheepSum($n) {
        if($n==1){
            return 1;
         }
    $Sum=1;
     for($i=1; $i<=$n; $i++) {
       if( $i%2==0){
           $Sum+=1;      
      }
     if($i>5){
          $Sum-=1;
    }   
     }
    return $sum;
        
    }
      

  2.   


    function sheepSum($n){
        $sum=1;
        for($i=0;$i<$n;$i++){
            if($i==2 || $i==4){
                $sum++;   
                $sum+=sheepSum($n-$i)-1;               
            } 
            if($i==5) $sum--;      
        }
        return $sum;
    }