你要计算√2的值,先随便猜个数比如说4,毫无疑问√2不可能等于4,但只要用牛顿迭代法一直迭代下去,经过n步迭代运算,总能算出1.414……。而如果你要是用2做猜测值,因为2和1.414足够接近,只需要两步迭代就能算出来。
李学松记得自己好像在和计算机专业的学生们上课时不止一次讲过这一块的知识点,只是他实在不知道这玩意儿有什么好深挖的。
刘寿丰教授:“我刚又给你发了个邮件过去,里面有一段已经翻译成数学语言的算法,你看过之后就知道我为什么会对这个数字这么惊讶了。”
听到这句话,李学松教授忍不住翻了个白眼,但实在是架不住心里的好奇,还是照着他说的点开了下一封邮件。
整个算法本身没什么难的,不过是求平方根倒数而已。李学松教授甚至感觉,就算是没有翻译成数学的语言,自己也完全能看得懂。
简单来说,那个0x5f375a86便是用来计算猜测值的一个常数。
因为使用牛顿迭代算法求平方根倒数首先需要一个猜测值,这个值通常是根据用户输入的值,经过一系列的计算来确定的。
李学松教授随便编了个数,试着用该算法来求平方根倒数。
然而就在这时候,神奇的事情发生了!
他发现自己无论输入什么值,系统求出的猜测值都无比的近似最终结果,以至于整个算法最多只需要执行两次就能结束循环。
而这一切的原因,便是因为那个0x5f375a86!
“不可思议……”渐渐发现了其中的奥秘,李学松教授喃喃自语地说道,“这个数到底是怎么被发现的?”
他现在满脑子都是一个问题。
为什么偏偏是0x5f375a86?
刘寿丰教授用开玩笑的语气说道:“这得问你,毕竟是你的学生弄出来的‘麻烦’。”
听到这句话,李学松教授顿时惊了。
“我的学生?你确定?”
啥玩意儿?!
我咋不知道我有这么牛逼的学生?
“那个叫郝云的选手不是你的学生?”忽然像是想起了什么似的,刘寿丰教授拍了下脑袋,“哦,我差点忘了,你挂名的那个是数学竞赛的主试委员会……希望杯是搞编程的,好像确实和你没关系。”
“等等,你说郝云?希望杯?到底什么意思?”李学松教授一头雾水地追问道。
刘寿丰教授耐心地解释说道:“简而言之,希望杯大赛上有一道题目,要求提升一款软件的运行效率。到目前为止就你的那个学生做出来了,而且解法让所有人大跌眼镜。通常码农的思路应该是从代码入手吧?结果他直接跑去修改了底层函数的代码,让原本需要多算几步才能算明白的函数,变成现在两步搞定了。”
李学松教授愣住
请收藏:https://m.yueruhuo.cc
(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)