
大数
_black_
这个作者很懒,什么都没留下…
展开
-
java大数算法完成五则运算之类基础
之所以会做用算法做大数的四则运算是因为在参加蓝桥杯比赛的时候被两道大数题给坑惨了,因为训练的时候没做过大数的题,在这上面吃了大亏,回来后痛定思痛,在网上找了一些方法,才发现有BigDecimal和BigInteger这两个api类可以完美解决我的问题,我自然很好奇,于是在网上找到了这两个类的源码来看,结果越看越头痛,整个源码没法在我心中有一个完整的结构,后来突然内心一动,为什么不自己来写一个类似的原创 2017-08-27 13:11:10 · 620 阅读 · 0 评论 -
java大数算法完成五则运算之加减
接昨天的《java大数算法完成五则运算之类基础》这篇文章,今天就先说说加减,毕竟比较简单,就丢一起了。首先先说说算法思路,就是用最简单的最实用的,我们平时做加减的方法!数字右对齐,往左递推,依次运算,进位借位即可废话不多说,直接上代码:关于类中的其它方法和属性详看java大数算法完成五则运算之类基础,这里就不再讲了public BigNum ad原创 2017-08-27 13:19:38 · 765 阅读 · 0 评论 -
java大数算法完成五则运算之除及取余
这几天偷懒去了~~今天把大数系列的最后一篇文章更新了~~因为商和余其实是一个运算,只不过分属两个部分,所以放一起说了。老样子,先来讲思路,原谅我水平有限,想不出来更好的方法,(有的话可以在下方评论告诉我~~)也没遇见过类似的可以借鉴的算法,于是就用我们平时做除法的方法。如上图例子所示,商和余都是未知的,而且都是需要多次在尾部添加数据,原创 2017-09-02 23:50:48 · 1740 阅读 · 0 评论 -
java大数算法完成五则运算之乘
到了乘法部分了,乘法呢稍微麻烦点如图所示,下面的每一位乘以上面的乘数时都要将分积的位提前,最后根据分积的位来对应加起来即为最终结果。麻烦就来了,每一部分的积考虑到可能为大数,那么必须使用数组来存放,这么多的分积如果都使用单个数组来存放,不仅麻烦而且浪费资源,并且记录分积在总积中的位也是个问题,这种情况下我自然而然的想到了二维数组来存放,每一行就是一个分积,在计算总积时却有问题了,没法保原创 2017-08-27 15:21:42 · 528 阅读 · 0 评论