我想用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)
如果您不想自己进行计算,那么您可以查看数字.例如
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)
R使用底层系统的浮点数据类型,通常有大约16个有效小数.
如果你想要很多pi的数字,那么你需要将它们保存在一些这样的构造的字符数组中.您根本无法将一些数据放入R数值中.
如果您希望自己生成数字,那么网络搜索将揭示许多文章概述算法来完成这项工作.或者你可以找到很多网站,只列出数字到数字的数字.
| 归档时间: |
|
| 查看次数: |
8568 次 |
| 最近记录: |