递归算法十的介乘 怎么做啊  在线等 
大大们帮帮忙?!!!!!!!!11

解决方案 »

  1.   

    static int multiple(ref int n,ref int result)
    {
       result = n*result;n++; 
       if(n>10) return;
       multiple(n,result);
    }
    static void main()
    {
       int n=1; int result = 1;
       result = multiple(n,result);
    }
      

  2.   

            private static int myFunction(int i)
            {
                if (i == 0)
                {
                    return 1;
                }
                else
                {
                    return i * myFunction(i - 1);
                }
            }
      

  3.   

     private static void f(int i)
            {
                if (i == 0) return 1;
                else return f(i - 1) * i;
            }令i=10,就是你的结果。
      

  4.   

    写错了啊,返回值是int ,private static int f(int i)
      

  5.   

    算法很简单,要考虑溢出:
    如果int类型是2个字节,那么int的最大值为:2^15-1=32767;
    如果int类型是4个自己,那么int的最大值为:2^31-1=2.1475e+009;
    理论上10!=3628800,如果是2个字节的int类型就会溢出;
      

  6.   

    算法很简单,要考虑溢出: 
    如果int类型是2个字节,那么int的最大值为:2^15-1=32767; 
    如果int类型是4个字节,那么int的最大值为:2^31-1=2.1475e+009; 
    理论上10!=3628800,如果是2个字节的int类型就会溢出;
    所以要考虑系统int类型,或者用long类型等