天才一秒记住【百书楼】地址:www.uyuan.net
八十年以前,已知的乘法运算方式只有一种,就是在课本上所学到的常规竖式计算方法。
当进行位数少的数字相乘时,竖式计算方法是非常快捷、方便的,但若是计算数百万位数或数十亿位数的乘数之间的相乘时,竖式计算方法就显得无能为力了,例如,计算圆周率或者寻找更大的质数。
后来出现了‘karatsuba算法’,将数字的乘数分解成更小的部分,并重新组合这些部分,这种方式可以用少量的加法和减法来代替大量的乘法。
这一算法完成计算,只需要需‘2的n次方’次个位数的相乘,而不是之前的‘n的平方’次。
后来又有两位科学家一起,利用‘引入快速傅立叶变换’的方式,来对大数相乘算法进行改进,只需要‘nxlognxlog(logn)’次个位数的相乘,就可以完成大数相乘计算,其中logn是n的对数。
这一改进是跨越式的创新,后续大数相乘算法的持续改善,都是以这种方法为基础进行。
王浩的研究成果也同样是以‘引入快速傅立叶变换’的方式进行,才会用‘是改善、也是创新’来形容自己的成果,他的讲解也是从‘傅立叶变换算法’开始的。
以‘傅里叶变换算法’展开,辅助其他的计算手段,构建出一个包含‘结果’数字区域。
这就是创新的地方。
他的研究并不是正常进行一步步的计算,而是划定了‘可能成为结果的数值集合’,比如,2525,就可以简单划定结果在400到900的区间,通过一些必要的筛选,比如‘尾数是5’,把集合里面的数字一个个划去,直到最后只剩下一个数字,就确定为最终结果。
当然,超大数相乘要复杂的多,引入‘快速傅里叶变换’并辅助其他计算方法,划定的范围会更加精准。
如果是计算‘25乘25’,可以直接圈定范围就是在‘725、62三个数字之间,而后可以迅速排除72最终得到结果625。
“在对比每一个位数的数字后,就可以把范围继续缩小……”
“每一个进位数相乘的结果,都可以帮助继续排除范围内的数字,越是高位数,排除的范围就越大,我们可以看到,当接近最高位数时……”
“涉及到更精准的筛选,就需要用到……”
随着讲解慢慢的展开,台下众人都变得非常认真,同时也非常的感兴趣,因为他们听到的
更多内容加载中...请稍候...
本站只支持手机浏览器访问,若您看到此段落,代表章节内容加载失败,请关闭浏览器的阅读模式、畅读模式、小说模式,以及关闭广告屏蔽功能,或复制网址到其他浏览器阅读!
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!