补充一下,M,N都是变量,用户只用输入M,N的值即可。
请高手指点!

解决方案 »

  1.   

    公式如下            M!
    result= ------
            (M-N)!
      

  2.   

    组合问题
    js数组正好可以实现堆栈
    <script>
    var n = C(3,2);
    alert(n);
    //组合
    function C(N,R)
    {
        return P(N,N)/P(R,R);
    }
    //排列
    function P(N,R)
    {
       
        if (R > N || R <= 0 || N <= 0 ) 
        {
            alert("arguments wrong!");
            return -1;
        }
        var s = [];
        var iRlt = 1;
        var t;
        s.push(N);
        while ((t = s[s.length-1]) != N - R)
        {
            try
            {
                    iRlt *= t;
            }
            catch(e)
            {
                alert("overflow!");
                return -1;
            }
            s.pop()
            s.push(t - 1);
        }
        return iRlt;
    }</script>
      

  3.   

    算法有一点问题,但是还是很感谢你CutBug!
    稍微修改了下。//组合
    function C(N,R)
    {
        return P(N,N)/[P(N-R,N-R)*P(R,R)];
    }
      

  4.   

    写错了 
    function C(N,R)
    {
        return P(N,R)/P(R,R);
    }
      

  5.   

    组合C(n,r)=P(n,r)/r!=n!/(r!*(nr)!)
    P(n,n)=n!