如何打印pi值的1000位小数?

jra*_*ara 14 math pi r

我想用R打印例如1000或2000或15000小数的pi值?

现在我只有六个

> pi
[1] 3.141593
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?

G. *_*eck 11

使用R包bc(可在上述链接中获得,而不是在CRAN上):

> library(bc)
> bc("4 * a(1)", scale = 1000)
[1] "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201988"
Run Code Online (Sandbox Code Playgroud)

  • +1但是将数字复制/粘贴到字符串变量中可能更容易!;-) (2认同)

Hen*_*nry 9

如果您不想自己进行计算,那么您可以查看数字.例如

pie <- read.csv("http://oeis.org/A000796/b000796.txt", header=FALSE, sep=" ")
dig <- 75 # up to 20000 digits 
pistring <- paste(c(pie[1,]$V2, ".", head(pie[-1,], dig-1)$V2), collapse="")
Run Code Online (Sandbox Code Playgroud)

会产生

> pistring
[1] "3.14159265358979323846264338327950288419716939937510582097494459230781640628"
Run Code Online (Sandbox Code Playgroud)


Dav*_*nan 5

R使用底层系统的浮点数据类型,通常有大约16个有效小数.

如果你想要很多pi的数字,那么你需要将它们保存在一些这样的构造的字符数组中.您根本无法将一些数据放入R数值中.

如果您希望自己生成数字,那么网络搜索将揭示许多文章概述算法来完成这项工作.或者你可以找到很多网站,只列出数字到数字的数字.


小智 5

您无法打印您不知道的数字.如果R只携带16个十进制数字(典型的IEEE双数),那么打印1000个数字将产生984个无意义的数字.

您可以使用此处看到的系列或其他方法之一(例如,Brent-Salamin算法)生成所需的数字,如果您使用工具进行长精度算术.作为测试,我最近在几次迭代中使用该方法计算了超过250,000个pi的数字.

3. ...