【算法详解-高精】(5)论乘法

今天要讲的是四则运算中较难的乘法。。。
————————————华丽的分割线————————————
同样也是从我们愉快的模拟开始~
乘法吗。。。就不能列横式了,所以竖式走起~~~
例:
… 1 2 3
x 1 2 3
————
然后先将个位相乘
… 1 2 3
x 1 2 3
————
. . . . . . .9
然后两个for把乘数a的各位数和乘数b的各位数相乘
可是乘完放哪呢?
根据有趣的竖式,我们发现要放在i+j那边。。。
于是:

for(int i=0;i<len;i++)
	for(int j=0;j<b.len;j++)c.s[i+j]+=s[i]*b.s[j];

然后呢?
进位你懂得。。。

for(int i=0;i<c.len-1;i++)
{
	c.s[i+1]+=c.s[i]/10;
	c.s[i]%=10;
}

愉快的没了
————————————华丽的分割线————————————
下一章讲四则运算的大boss:除法
话说为什么我第3章还没审核第4章就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值