2009-06-23 60 views
2

我一直在與一些Project Euler問題玩弄周圍自然正在到需要大於long long類型編號的處理了很多。我致力於使用Cocoa和Objective-C(我需要保持銳利的工作),但無法找到一個優雅的方式(閱讀:庫)來處理這些真正的大數字。真正的大的數字和Objective-C

我很喜歡使用GMP,但聽起來像使用它與Xcode是一個完整的世界受到傷害。

有誰知道任何其他選項?

回答

3

如果我是你,我會在我的XCode項目中編譯gmp XCode外部並使用gmp.hlibgmp.a(或libgmp.dylib)

+0

嘿!我已經完成了GMP + Xcode。但不是事件分工works.Details在這裏:http://stackoverflow.com/questions/11037165/which-library-should-i-use-on-osx-for-arbitrary-precision-arithmetic – 2012-06-14 16:32:34

1

嘗試將數字存儲在數組中。

雖然你將不得不寫你的所有arithmatic問題的一些新的功能,但是這就是我們如何被告知要做到這一點在大學。

加計算的速度相當改善爲大的數字,並沒有真正的大畢竟和沒有真正的數字完全

看看是否有幫助

問候

0

如果你想使用MATLAB(或任何接近),你可以看看我的實現對文件交換一個大整數形式(vpi)的。

這很簡單。分開存儲每個數字。加減法很簡單,只是執行一個進位操作。乘法最好使用卷積,然後是進位。執行除法和mod運算符,然後執行powermod操作,對許多PE問題有用。權力很容易 - 只是重複平方和乘法,基於指數的二進制表示。

這將讓你解決許多PE問題。

1

vBigNumvecLib農具1024位整數(符號或無符號)。這夠大嗎?

+1

不適用於iOS :( – 2013-12-13 12:14:43

0

我也得到了好主意,嘗試一些歐拉項目問題可可/ Objective-C和發現它令人沮喪。我以前使用過Java,也許是一些PHP。我發佈my exact problem in this thread.

0

我總是考慮使用圖書館作弊這個項目。只需用你需要的東西寫一堂課。並且不要害怕使用malloc和uint64_t等等。 NSNumber是而不是在很多情況下是個好主意。

在另一方面,也存在很多問題,其中顯而易見的解決方案將需要極大的極大龐大的數字,而關鍵是要找到一種方法來解決問題,而無需使用這些龐大的數字。 (例如,1,000,000階乘的最後千位數的總和是多少)?