帮我做一下吧, n! 方法好做,就是 BigInteger 不大明白

解决方案 »

  1.   

    先把Integer n  转为int 类型用 n.intValue() 计算n!后。 return  new BigInteger(String.valueOf(n!))
      

  2.   

    BigInteger factorial (Integer n){
        int k=n.intValue();
        if(k<0){
          throw new IllegalArgumentException();
        }
        BigInteger rs=new BigInteger(Integer.toString(k));
        while(k>1){
          rs.multiply(new BigInteger(Integer.toString(--k)));
        }
        return rs;
      }
      

  3.   

    看这个行不:
    public BigInteger factorial (Integer n){         //子类的函数参数为Integer实现重载;
    BigInteger x1=new BigInteger("1");
    BigInteger x2=new BigInteger("1");
    BigInteger x3=new BigInteger(n.toString());
    String s;
            if(n.longValue()!=1){            
                s=(n.longValue()-1)+"";             
                x2=x3.multiply(factorial(new Integer(s)));
                x3=x3.subtract(x1);
                return x2;
            }
            else return x1;
    }