zoukankan      html  css  js  c++  java
  • 算法题

    1.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个   第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下   的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。    1.程序分析:采取逆向思维的方法,从后往前推断。 

    public function actionMonkeyeat(){
    static $num=0;
    function dayNum($day){
    $one=1;
    for($i=0;$i<$day;$i++){
    if($num==0){
    $num=($one+1)*2;
    }else{
    $num=($num+1)*2;
    }
    }
    return $num;
    }
    echo dayNum(10);
    }

    2.冒泡排序:

    冒泡排序是一种入门的排序方法,网上说很简单,但一开始我还真没明白hao to it works!简单的说冒泡就是通过循环使较小的数像气泡一样一点点往上飘。 

    public function actionPaixu(){
    $array=array(11,3,16,8,10,7);
    for($i=0;$i<count($array);$i++){
    for($j=$i+1;$j<count($array);$j++){
    if($array[$i]<$array[$j]){
    $temp=$array[$j];
    $array[$j]=$array[$i];
    $array[$i]=$temp;
    }
    print_r($array);
    echo '<br>';
    }
    }
    for($i=count($array);$i>=0;$i--){
    for($j=$i-1;$j>=0;$j--){
    if($array[$i]>$array[$j]){
    $temp=$array[$i];
    $array[$i]=$array[$j];
    $array[$j]=$temp;
    }
    }
    print_r($array);
    echo '<br>';
    }
    print_r($array);
    die();
    }

    3.php组合

    function zh($array,$num){
    $array=array(1,2,3,4,5);
    global $st;
    $st=isset($st)?$st:0;
    for($i=$st;$i<$num+$st-1;$i++){
    $stv=$stv.','.$array[$i];
    }
    for($i=$st+2;$i<count($array);$i++){
    $s[]=$stv.','.$array[$i];
    }
    echo $stv.'<br>';
    global $result;
    $result[]=$s;
    print_r($stv);
    $st++;
    if($st<count($array)-1){
    zh($array,$num);
    }
    return $result;
    }
    $aaa=zh($array,3);
    print_r($aaa);
    die;
    }
  • 相关阅读:
    取石子(五)(FIB博弈)
    NYOJ-161-取石子 (四)(Wythoff 博弈)
    memcached简介
    RSA---应用最广泛的非对称加密算法
    分区
    按子组收集数据
    多级分组
    归约和汇总
    收集器Collectors
    由函数生成流---创建无限流:Stream.iterate和Stream.generate
  • 原文地址:https://www.cnblogs.com/php321/p/3358468.html
Copyright © 2011-2022 走看看