我想寫一個顯示PI號碼的10000位數的程序,很簡單,呵呵?那麼,有一個問題,該文件被限制爲5000字節。我試圖做一些事情,比如將「11」改爲a來縮短代碼,但是它大約是9000,這對我來說太過分了。任何想法或提示?而且我無法使用任何其他庫或函數在線或從文件下載PI編號。只是iostream。PI號碼到10000位
-4
A
回答
1
可以使用高4位和低4位將兩個數字打包到一個字節中。例如,對於3.141 ....將14包裝成一個字節00010100(0001 == 1,0100 == 4)。這樣你的10,000個數字將佔用5000個字節。
當您讀取文件時,只需打印3.
後跟解包數據即可。
+0
您可以將8編碼爲10和9編碼爲11,以節省一些額外的空間。 – Andrey 2014-09-23 16:56:45
0
這是pi的前10,000個數字:http://www.nerdparadise.com/math/reference/pi10000/
這些由數字下斷裂是:
0: 968
1: 1026
2: 1021
3: 974
4: 1012
5: 1046
6: 1021
7: 970
8: 948
9: 1014
這意味着該最小編碼是:
000: 5
001: 1
010: 2
011: 6
100: 9
101: 4
1100: 3
1101: 7
1110: 0
1111: 8
共有4232.5字節的打包數據。
我將離開實施解碼器作爲練習給讀者。
另見本的YouTube視頻,獲取有關如何創建最小編碼的解釋:
0
現在看來似乎會更容易只是爲了產生PI而不是通過壓縮PI本身的程序。這是通過諸如Gregory-Leibniz或Nilakantha系列等系列完成的。有關他們如何工作的文章可以在here找到。這些程序可以很容易地用幾乎任何語言書寫。
希望這會有所幫助。
相關問題
- 1. 生成pi到第n位數字java
- 2. 將pi打印到小數位數 - Python
- 3. 定義PI到36位小數
- 4. 查找位號碼位置
- 5. 10000×10000的矩陣乘法
- 6. 找到新號碼的位置
- 7. XSL XML到CSV位置號碼
- 8. Pi後的逗號按鈕
- 9. 用1位數號碼替換第4個位數號碼的
- 10. 如何在聰明的格式10000到10000 00
- 11. 轉換1到10000,轉換成00001到10000,十進制到字符串
- 12. 生成PI超過2315位
- 13. 水位指示器 - Rasp Pi
- 14. Arduino到Pi到PHP
- 15. 10000有16位元素的數組,找到位集(無限RAM) - 谷歌面試
- 16. 與PI破組數字輸出工作,刪除號碼
- 17. li的位置號碼
- 18. FATAL_ERROR:達到迭代限制10000達到
- 19. 電話號碼前三位掩碼
- 20. 找到號碼
- 21. Twilio號碼到另一個twilio號碼
- 22. 找到另一個號碼的號碼?
- 23. Titanium.Facebook errDomain error 10000
- 24. php load 10000 records
- 25. 10000因子C
- 26. Scilab Error 10000
- 27. 如何在Java中顯示PI符號?
- 28. 符號鏈接到覆盆子pi webroot休息
- 29. 遇到錯誤:找不到方法(類)getRange((類),號碼,號碼,號碼)
- 30. 迭代次數限制達到10000
你可以使用各種方法來壓縮數字,但是你不會真正在「顯示10000位數字的PI」。目前還不清楚你實際需要做什麼。 – interjay 2014-09-23 16:37:21
聞起來像功課,任務是我想弄清楚一些至少非常基本的壓縮。 4位足以編碼小數位1位。 – Andrey 2014-09-23 16:38:00
你有什麼代碼? – DavidT 2014-09-23 16:38:02