如何通过脚本生成精确到小数点后位数的 Pi?

如何通过脚本生成精确到小数点后位数的 Pi?

有人有一个我可以轻松运行的脚本吗:

sh generatepi.sh 10000

在哪里10000是生成的π(Pi)小数位数。

答案1

假设你有bc(基本计算器)实用程序,您可以使用以下命令和一些传统的数学知识来将 π 计算到小数点后 10,000 位:

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

这可能需要相当长一段时间才能完成 10,000 位小数。

分解命令...

  • 比例=10000- 指定结果使用的小数位数
  • 4*a(1)- 返回 1 的反正切 [等于 45°:45 x (π/180),或 ¼π] 然后乘以 4 得到 π。
  • bc-l- 将完整的函数字符串导入到公元前公用事业,-l指定加载反正切函数所需的标准数学库,A()

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

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

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

大多数 Linux 系统应该有bc,但在某些情况下你可能需要安装它(例如apt-get在 Ubuntu 上,出现在 Gentoo 等上)。还有bc 的 Windows 移植版

相关内容