加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

大数加减乘除,一文彻底通透

发布时间:2021-05-28 15:58:04 所属栏目:编程 来源:互联网
导读:列位有过度类刷题的小搭档,也许看到许多人分类 字符串、贪婪、动态筹划、bfs、dfs、大数、数论等,初听大数,你也许会差别:大数是个啥?听起来怪高峻上的。 大

列位有过度类刷题的小搭档,也许看到许多人分类 字符串、贪婪、动态筹划、bfs、dfs、大数、数论等,初听大数,你也许会差别:大数是个啥?听起来怪高峻上的。

大数,着实就是很大很大数字(也许远超32、64位,基本范例无法暗示)的加减法,在Java中我们可以行使一个大数类(BigInteger等)很轻易办理大数的各类运算,但假如碰着口试官他必定会让你手写的。

这个数字一样平常用字符串、链表等情势暗示、返回,大数运算的焦点就是:模仿,模仿我们一般用纸笔算数字的加减乘除流程,然后再按照计较机、编程说话等特征恰当存储计较即可,不外,大数除法运算轻微非凡一点,和我们直接模仿的思想方法稍有差异,它就是转换了一下成非凡的加减法运算,后头会细谈。

大数加法

大数加法是最简朴的,简朴模仿即可。起首,我们想一下两个数加法的流程:从右向左计较求和、进位,一向到最后。

在编程说话中同样也是模仿从右向左逐位相加的进程,不外在详细实现上必要留意一些细节。

1、列举字符串将其转换成char[]进步服从

2、从右往左举办计较,可以将功效放到一个数组中最后构成字符串,也可以行使StringBuider拼接,拼接的时辰最后要逆置一下次序。

3、余数每次叠加过必要清零,两数相加假如大于便是10即有余数,添加到功效中该位置的数也应该是该数%10的功效。

4、计较完最后还要看看余数是否为1,假如为1必要将其添加到功效,譬喻 "991"+"11"算三个位置为002但尚有一个余数必要添加,以是应该是1002。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读