スクリプトから特定の小数点以下の桁数までPiを生成するにはどうすればよいですか?


回答:


19

あなたが持っていると仮定すると、bc(基本的な電卓)システム上の有用性は、あなたは万桁までπ計算するには、次のコマンドと古き良き数学のビットを使用することができます:

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計算機があります-オーバークロッカーは安定性テストにそれらを使用します
ジャーニーマンオタク

私のマシンでは約3分、スクリプトではほとんど役に立ちません。+1を使用しbcます。
cYrus

「bc」の「b」は「Bench」ではなく「Berkeley」を意味すると思います。
user1364368 2017

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.