快速写出一个用递归的方法计算从1加到100的程序要求:1.使用php 
      2.使用递归的方法

解决方案 »

  1.   

    function add(&$i = 1){
    while ($i<=100){
    return ($i++)+add($i);
    }
    }
    echo add();
      

  2.   

    <?php
    function foo($i = 100) {
    return $i == 1 ? $i : $i + foo(--$i);  
    }
    echo foo();
      

  3.   


    2楼的结果不对function gettime_test()
    {
    $nowtime = explode(' ',microtime());
    return $nowtime[0]+$nowtime[1];
    }
    function sum(){
    for($i=1,$j=100;$j>=$i;$i++){
      $x+=$i;
    }
    echo $x;
    }
    $start=gettime_test();
    sum();
    $end=gettime_test();
    echo "<br/>";
    echo $end-$start;
      

  4.   

    二楼的应写作
    function foo($i = 100) {
        return $i == 1 ? $i : $i + foo($i-1);  
    }
      

  5.   


    手写的,未经测试。。不应该用 --$i, 会导致少(100 - 1) * 1<?php
    function foo($i = 100) {
        return $i == 1 ? $i : $i + foo($i - 1);  
    }
    echo foo();
      

  6.   


    function sum($j=100)
    {
    if($j!=0)
    {
    return $j--+sum($j);exit;
    }
    }$start=gettime_test();
    echo sum();
    $end=gettime_test();
    echo "<br/>";
    echo $end-$start;
      

  7.   

    $a = array_sum(range(1,100));
    echo $a;极讨厌简单问题复杂化,非要考递归用法就没办法……
      

  8.   

    这个算递归么?c:$b += ++$a;
    if ($a==100) echo $b,'<br>'; else goto c;
      

  9.   

    function sum(){
      for($i=0;$i<100;$i++)
      $i+=$i;
    }
      

  10.   


    function add($i)
    {
    if((int)$i<=0)
    return;
    if($i==1)
    return 1;
    else
    return $i+add($i-1);
    }add(100);