java吧 关注:1,266,484贴子:12,769,467
  • 9回复贴,共1

急急急急急急……!!

只看楼主收藏回复

高手 给一个求 50 阶乘的代码 本人已经快疯啦


来自掌上百度1楼2012-05-15 13:34回复
    不是吧~~! 要沉??……


    来自掌上百度2楼2012-05-15 13:54
    回复
      2025-06-27 12:40:24
      广告
      就这么沉啦?……


      来自掌上百度3楼2012-05-15 13:59
      回复
        没试过,用BigDecimal.multiply(BigDecimal multiplicand) 应该可以吧


        IP属地:澳大利亚4楼2012-05-15 14:09
        回复
          如果不行的话
          可以试试这个思路:用byte[]存储数字,用位运算实现乘法


          IP属地:澳大利亚5楼2012-05-15 14:10
          回复
            double a=1,;for(i=1,i<=50,i++){a=a*1}System.out.printIn{"50的阶乘是“+a};因为50!的值很大只有double存的下所以a定义double的


            6楼2012-05-15 14:16
            回复
              试了一下 BigDecimal 可以
              50! : 30414093201713378043612608166064768844377641568960512000000000000


              IP属地:澳大利亚7楼2012-05-15 14:26
              回复
                其实我在写一个求组合数的代码 发现数字太大尽然出负数 困扰了我一天啦


                来自掌上百度8楼2012-05-15 17:14
                回复
                  2025-06-27 12:34:24
                  广告
                  //递归调用
                  public class five {
                  public double countNum(double num){
                  if(num<=1)
                  return 1;
                  else
                  return num*countNum(num-1);
                  }
                  public static void main(String[]args){
                  System.out.print(new five().countNum(100));
                  } }
                  


                  IP属地:安徽9楼2012-05-15 18:32
                  回复
                    我写过一个排列的,对元素个数做了限制,最多好像是20个
                    组合倒没写过


                    IP属地:澳大利亚10楼2012-05-15 18:53
                    回复