long  f(long n)
 {
   if(n=1)
     return 1;
   else
     return  n*(f(n-1)); }
  在n较小的情况下. 否则会溢出.

解决方案 »

  1.   

                if (argu == 0 || argu == 1) return 1;
                else return argu * Multi(argu - 1);
      

  2.   

    int fun(int n)
    {
         return n == 1 ? n : n*(fun(n-1));
    }
      

  3.   

    long     f(long   n) 
      { 
          if(n=1) 
              return   1; 
          else 
              return     n*(f(n-1));   } 
        在n较小的情况下. 否则会溢出.