zoukankan      html  css  js  c++  java
  • Java实现 100!的阶乘

    刚学Java循环,求阶乘问题的时候,发现求10!可以用int类型存值,

    那么100!呢?用Long? 发现用Long类型,运行输出的结果是0,这不对啊 ,

    到底是什么原因呢? 用DeBug调试发现,100!数据太大,Long的数据存储空间8字节不够用溢出了。
    那么到底用什么方法来实现100!呢?

    如下代码:

     1 public class Demo01 {
     2     public static void main(String[] args) {
     3         System.out.println(factorial(100));
     4     }
     5 
     6     public static String  factorial(int count) {
     7         BigInteger result = new BigInteger(String.valueOf(1));
     8        for (int i = 1; i <= count; i++) {
     9            BigInteger i_value = new BigInteger(String.valueOf(i));
    10            result = result.multiply(i_value);
    11        }
    12        return result.toString();
    13     }
    14 }

     解决了内存溢出的问题

  • 相关阅读:
    结构体的malloc与数组空间
    绘制K线图
    加载文件
    数据分析(绘图)
    GIT操作
    疑难杂症汇总
    Shell编程2
    shell编程1
    shell命令2
    Shell命令1
  • 原文地址:https://www.cnblogs.com/Joe-666/p/9452537.html
Copyright © 2011-2022 走看看