广永元这个时候出言问道:“阿鸿,我看得不是很懂,求平方根不是使用二分查找法么?”
广永元最擅长的并不是这个方面,他毕竟是野路子出身,基础部分还不是很扎实,林鸿的这十行代码,他竟然看得满头雾水。
他口中所说的二分查找,其实就是牛队迭代法的实现方式之一。
林鸿点点头:“算法的确是这个,不过在这里,我使用二进制的移位代替了乘除。你看……”
林鸿见他听得不是很懂,于是便重新调出编译器,下断点,跟踪变量的内存赋值,一边操作一边解释:“在二进制层面上,从前向后决定每一个二进制位上是0还是1,因此,我们可以从最高位向最低位,依次上1,看乘积结果是否大于目标数,如果大于目标数了,那一位就保留0这样的情况下,我们上1就不用真的去计算乘法,而是将之前的结果,加上上1以前的数左移1所在位置那么多位的两倍,再加上上1的位置左移上1的位置……”
经过林鸿演示加解说,广永元这才恍然大悟,后面的青年也释然的点点头,他虽然知道大致原理,可是在细节方面还是有些地方没有理解,听了林鸿完整的解释这才了然。
也就是说,整个算法林鸿使用的都是二进制层面的运算,想不快都难,或者说,没有哪个程序可以比他的这个算法实现更快了。
仅仅花了二十来秒的时间就搞定第一关,并且答案如此优秀,这可是之前从来没有碰到过的。
林鸿本来还想着见识一下后面到底出什么题目,不过黄越在看到林鸿的这个程序之后,便直接宣布林鸿过关了,没有必要再继续闯关。
这个题目,实际上是黄越亲自出的,他当初给了一个标准答案,也是二进制层面的实现,可是两者相比之下,还是有着相当大的差距。
这虽然是最基础的东西,但正是这些东西最是能看清楚一个人的水平。
很显然,林鸿在这方面要比黄越更强,更别说,广永元之前对他说,林鸿还是一个破解大师。
最终,林鸿顺利地进入了他们的大本营,也就是一个相当大的大厅,不过在那里,摆了上十台各种品牌的电脑和服务器,看上去反而觉得有些拥挤。
大厅之中,有不少人,都是年轻人,他们见来了新成员,有的鼓掌,有的吹口哨,表示欢迎,不过,也仅此而已,例行欢迎仪式过后,他们便再次将注意力放在了自己的电脑显示器上。
黄越给林鸿重点介绍了两个人,一个叫袁乐邦,一个胖得连腰都弯不下的胖子,有着弥勒佛一样的笑脸,擅长的领域正是游戏破解,广永元最想挖的人便是他。
另外一个是阮飞舟,带着厚厚的黑框眼镜,他擅长的是硬件破解,在他的桌子上,摆满了各种电子元器件和最新的游戏机,包括sony的ps游戏机和任天堂的gba和nds系列游戏机。-
在阮飞舟的身上,林鸿看到了顾伟的影子。
他们这个地方,并不是公司,甚至连一个团队都称不上,只是基于兴趣聚集在一起,黄越为他们免费提供场所,而这里是鸭寮街,任何电器和元器件都能很方便地在这里找到。
他们是一群为技术而癫狂的技术宅。