電腦版
首頁

搜尋 繁體

第一百章 101號選手提前交卷?

熱門小說推薦

最近更新小說

<!--go-->

相比起詹永樞院士的驚訝,郝雲在考慮這個問題的時候倒是沒有想的特別複雜,純粹是撓頭的時候靈機一動想出來的這個方法。

程式首先猜測了一個接近1/sqrt(number)的值,然後運用牛頓迭代公式進行了迭代運算。

單從演算法邏輯上來講,其實他改寫之後的程式碼,和之前那個Q_Sqrt函式的程式碼並沒有太大的區別。冰川引擎在math.c檔案中定義的Q_Sqrt函式,事實上也是採用的這個思路。

而要說唯一哪裡不同,大概就是在那個神秘的數字——0x5f375a86上了。

根據牛頓迭代演算法的原理,猜測值距離最終結果越接近,迭代的次數越少。而神秘的數字0x5f375a86,便是用來計算猜測值的。

而郝雲在嘗試了幾次之後意外地發現,如果使用“0x5f375a86”這個數,得到的y將非常接近1/sqrt(n),以至於最終執行牛頓迭代演算法時,只需要2次代法就可以達到他所需要的精度!

至於這個數是怎麼得出來的?

郝雲也沒辦法解釋。

畢竟他只是遵循著自己的數學直覺,覺得原來那個程式中選取的數字不夠好用,然後試著換了個更好用的數字試試。

一開始他也試了好幾次,發現更改的數字都沒有原先那個數好用,直到後來靈機一動試到了這個0x5f375a86,發現居然只需要兩次迭代就能完成整個計算過程。

Loading...

未載入完,嘗試【重新整理網頁】or【關閉小說模式】or【關閉廣告遮蔽】。

使用【Firefox瀏覽器】or【Chrome谷歌瀏覽器】開啟並收藏!

移動流量偶爾打不開,可以切換電信、聯通網路。

收藏網址:www.ebook8.cc

(>人<;)