![如何通过脚本生成精确到小数点后位数的 Pi?](https://linux22.com/image/1273651/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E8%84%9A%E6%9C%AC%E7%94%9F%E6%88%90%E7%B2%BE%E7%A1%AE%E5%88%B0%E5%B0%8F%E6%95%B0%E7%82%B9%E5%90%8E%E4%BD%8D%E6%95%B0%E7%9A%84%20Pi%EF%BC%9F.png)
有人有一个我可以轻松运行的脚本吗:
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 移植版。