OVSolitario-io

导航

模拟&高精度(采用数组存数值的技术)

小端序存储好处是不需要对其,天然的就可以运算

通过len - i将字符串映射从1开始

字符串为[0, size-1), 最大为size-1, 利用这个性质可以len - i,i(0, size - 1)不断增加为(size, size - 1, ····· 2, 1)

两种方式

i=0~len-1,alen-i = Ai错位存
i=len-1~0,alen-i = Ai顺位逆序存

image

构造竖式+

image

涉及到进位,若len+1有值,则len++

构造竖式-

image

因为涉及到借位,所以最后len可能会减少,要找寻最大len(非0位置)

构造竖式*

image

不考虑进位,则ai*bj体现在i+j-1位上,呈现阶梯状
对于+=是因为阶梯会存在多次,可能是一个累加的值

做法 = 处理字符串 + 构造中间产物i*j-1 + 处理进位 + 排除前导零

其中,乘积位数不超过两数位之和,所以处理进位实际上处理到A+B长度之和即可,然后再对A+B长度和做去除前导零操作即可

对于数组空间(由于中间产物存在阶梯形,所以若x*y大概有x+y-1位),由此推得空间需要多大

对于时间: 由于存在nm,且C++1e8/1s,最多<10000 10000

构造/

为什么不用判断sum > 除数b?: 即当sum < b时,c[i] = sum / b一定为0,而余数sum%b一定为sum本身

posted on 2025-06-11 09:02  TBeauty  阅读(239)  评论(0)    收藏  举报