1532: 高精度练习之乘法
A和B的位数不超过500位!!天哪,这该怎么办,即使用
写题要看标题啊,兄dei!高精度乘法
高精度乘法又可称为大数乘法,此时我们就不能抱着惯性思维去用整型存储这两个数。
我们只能抱string的大腿了(抱紧)
我们先声明两个字符串变量//为什么长度是1000?很简单,一个m位数乘一个n位数,结果只可能是m+n或m+n-1或m+n-2位数。
然后把两个字符串一位一位拆解,然后逆序存储在相应的数组中。 //逆序的原因是为了计算方便。
//注意字符型到整型的转化!!
开始计算啦
我们应用乘法原理,用一个乘数的//合适的位置在哪呢?你自己找吧嘿嘿嘿
每一次相乘时,得到的是未进位的结果。满十进位,所以
此时我们得到了最终的结果,但数字的顺序是倒着的,所以我们要逆序输出即可。
且慢
最终倒过来的结果开头的数可能会有
是不是很简单呢,hhhhh
学会了这个,你就可以编写一个异常生猛的计算器了,再大的数字也不用担心啦!