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 }

     解决了内存溢出的问题

  • 相关阅读:
    初始面向对象
    python之路——迭代器和生成器
    函数进阶
    python之路——初识函数
    实现css两端对齐
    http
    background-size
    call和apply的区别
    js兼容性
    面试题
  • 原文地址:https://www.cnblogs.com/Joe-666/p/9452537.html
Copyright © 2011-2022 走看看