|
Major Member
|
面對一個很大的數字,無法第一眼看出期質因數,要如何能快速拆解或找出餘數呢?
第一個方式就是長除法,但是這個方法無法預測其結果,一定是執行完才去看暫存器,如果是浮點數,就會面臨有限小數與無限小數的可能,到底要投入多少處理器周期與資源才能計算完畢,早期的CPU是無法得知也無法處理的。
後期有了浮點數計算器之後,我們可以在計算一開始就限定一個精度與儲存空間,譬如單精度就是利用32bit的空間儲存這個數字,而倍精度則是64bit,以Pi為例,double pi = 3.1415926535897932384626433832795,這其實是一個近似值,而不是真正的Pi,但在計算機領域已經夠用。
如果樓主討論的是手工計算,國中畢業生應該有能力一眼看出是否擁有2,3,5,7,11,13,17,19的質因數,再大就需要計算機或其他預測方式,到了大學如果是數學相關科系,則可以利用質因數的頻率分析函數預測實係數中那些地方可能有質數出現,然後再針對妳的input加以驗證。
這個話題繼續延伸下去就會進入加密領域,本世紀最大話題就是,如何快速化解一個非常大的數字,求處其質因數,若該數字為兩個非常大的質因數乘積,如何一開始就預測其運算耗時與所需資源。
|