第56节(3 / 3)
位数或数十亿位数的乘数之间的相乘时,竖式计算方法就显得无能为力了,例如,计算圆周率或者寻找更大的质数。
后来出现了‘karatsuba算法’,将数字的乘数分解成更小的部分,并重新组合这些部分,这种方式可以用少量的加法和减法来代替大量的乘法。
这一算法完成两个n位数的乘法计算,只需要‘n的158次方’次个位数的相乘,而不是之前的‘n的平方’次。
后来又有两位科学家一起,利用‘引入快速傅立叶变换’的方式,来对大数相乘算法进行改进,只需要‘nxlog nxlog(log n)’次个位数的相乘,就可以完成大数相乘计算,其中log n是n的对数。
这一改进是跨越式的创新,后续大数相乘算法的持续改善,都是以这种方法为基础进行。
王浩的研究成果也同样是以‘引入快速傅立叶变换’的方式进行,才会用‘是改善、也是创新’来形容自己的成果,他的讲解也是从‘傅立叶变换算法’开始的。
↑返回顶部↑