概述
都知道, 计算机中存储整数是存在着位数限制的, 所以如果需要计算100位的数字相乘, 因为编程本身是不支持存储这么大数字的, 所以就需要自己实现, 当然了, 各个编程语言都有大数的工具包, 何必重复造轮子...共: 次运算
三位数相乘: 3次短乘, 6位数加法(最差情况), 共: 次运算.
通过上面, 总结规律, n位数相乘(长乘)的运算次数是: 次运算....算一下:
计算u : 1次运算
计算w: 1次运算
计算 s: 3次运算
计算 u+w-s: 2位数运算, 2次运算
计算最外层加法: 3位数运算, 3次运算
共: 10次运算....不要小看这个一次乘法运算的减少, 从上面能够看出, 乘法运算的运算次数是随位数成指数增长的, 而加法运算则随位数成线性增长, 等看了下面的多位数相乘, 你就知道减少的这一次乘法运算有什么用了....算一下:
计算 u: 两位数乘法, 10次运算
计算w: 10次运算
计算s: 两位数减法两次, 一次乘法, 14次运算
计算整体: 8位数相加(), 8次运算
整体: 次运算.
32次运算, 之前长乘的方式需要几次呢