也许计算阶乘,大家都会想到用递归算法,
但是用递归算法的话,当数值在大于20时,就有很慢,同样内存也可能爆掉
现在我这个不是用递归来实现,而是采用了计算高位的方法。用数组来保存阶乘后的每一位。
如:
还有一种方法:
不过这种方法可能得不到正确的答案
还有另外一种方法:
第三种方法其实采用了Java里面的BigDecimal类来实现。
本文介绍了三种不同的大数阶乘计算方法,包括使用数组保存每一位的计算高位法、传统累乘法及利用Java的BigDecimal类实现高精度计算。这些方法克服了传统递归算法在计算大数阶乘时效率低下和内存溢出的问题。
也许计算阶乘,大家都会想到用递归算法,
但是用递归算法的话,当数值在大于20时,就有很慢,同样内存也可能爆掉
现在我这个不是用递归来实现,而是采用了计算高位的方法。用数组来保存阶乘后的每一位。
如:
还有一种方法:
不过这种方法可能得不到正确的答案
还有另外一种方法:
第三种方法其实采用了Java里面的BigDecimal类来实现。
1521

被折叠的 条评论
为什么被折叠?