如何从脚本生成Pi到给定的小数位数?


Answers:


19

假设您的系统上具有bc(基本计算器)实用程序,则可以使用以下命令和一些好的旧数学来计算π到10,000个小数位:

echo "scale=10000; 4*a(1)" | bc -l

完成10,000个小数位可能需要一段时间。

分解命令...

  • scale = 10000-这指定要用于结果的小数位数
  • 4 * a(1) -返回1的反正切值[等于45°:45 x(π/ 180)或¼π],然后乘以4得到π。
  • bc -l-将完整的函数字符串传送到bc实用程序中,-l指定加载反正切函数a()所需的标准数学库。

要将其包装在问题中指定的脚本中,请使用您喜欢的编辑器编写以下内容并将其另存为generatepi.sh

#!/bin/bash
echo "scale=$1; 4*a(1)" | bc -l

然后从终端使用chmod +x generatepi.sh您将文件保存到的文件夹,这将赋予脚本执行权限。语法为generatepi.sh [number of places]。请注意,这使用了一种非常基本的参数处理方式,并且不会验证输入,因此请确保仅将正整数作为参数传递。

大多数Linux系统都应该具有,bc但在某些情况下可能需要安装(例如,在Ubuntu 上使用apt-get,在Gentoo 上使用emerge等)。Windows有一个bc端口


有用于Windows的本地pi计算器-超频者使用它们进行稳定性测试
Journeyman Geek

在我的机器上大约3分钟,在脚本中几乎没有用。尽管使用+1 bc
cYrus

我认为“ bc”中的“ b”代表“伯克利”而不是“长凳”。
user1364368

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.