PI数字为10000位

  • 本文关键字:10000位 数字 PI pi
  • 更新时间 :
  • 英文 :


我正试图写一个显示10000位PI数字的程序,很简单,是吗?好吧,有一个问题,文件被限制为5000字节。我试着把"11"改成a以缩短代码,但大约是9000,这对我来说太多了。有什么想法或技巧吗?我不能使用任何其他库或函数在线或从文件中下载PI编号。只是iostream。

您可以使用高位和低位4位将两位数字打包为一个字节。例如,对于3.141……,将14打包为00010100(0001==1,0100==4)的字节。这样,您的10000个数字将占用5000个字节。

当您读取文件时,只需打印3.,然后是未打包的数据。

这是圆周率的前10000位数字: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视频,了解如何创建最小编码:

https://www.youtube.com/watch?v=M5c_RFKVkko

似乎制作一个生成pi的程序比压缩pi本身更容易。这是通过格雷戈里·莱布尼茨或尼拉坎塔系列等系列来完成的。关于他们如何工作的文章可以在这里找到。这些程序几乎可以很容易地用任何语言编写。

希望这能有所帮助。

最新更新