0
所以我在SPOJ [C language
]並解決了一些初始問題,因爲它說輸入的數字大到500-1000位。如何輸入整數的1000位
我所做的是將數據輸入到字符數組中並將每個數字存儲爲字符。但是現在,如果我必須對輸入進行一些數學計算,我必須將每個輸入視爲一個字符,然後從中減去48 [ASCII爲0],然後逐位計算出問題。
有沒有更好的方法來做到這一點?
所以我在SPOJ [C language
]並解決了一些初始問題,因爲它說輸入的數字大到500-1000位。如何輸入整數的1000位
我所做的是將數據輸入到字符數組中並將每個數字存儲爲字符。但是現在,如果我必須對輸入進行一些數學計算,我必須將每個輸入視爲一個字符,然後從中減去48 [ASCII爲0],然後逐位計算出問題。
有沒有更好的方法來做到這一點?
最大優化。將表示作爲字節數組的數目,使用基256,所以數量(使用^作爲求冪):
N = n[0]*256^0 + n[1]*256^1 + n[2]*256^2 + ...
使用至少存儲的方式。
在現實生活中,您可以使用GMP,這是一個開源的大數據庫。
你能解釋一點嗎?我們在這裏做什麼? – Kraken
而不是每個字節都是從0到9的數字,每個字節是從0-255的基本256'數字'。你知道數字系統嗎?像二進制,八進制,十六進制? – sashoalm
我的N和n是什麼? – Kraken