Как я могу генерировать Pi к данному количеству десятичных разрядов из сценария?

Делает у кого-либо есть скрипт, как который я мог легко запустить:

sh generatepi.sh 10000

где 10000 количество сгенерированного π (Пи) десятичные разряды.

9
задан 11.07.2012, 10:27

1 ответ

Принятие Вас имеет bc Утилита (Basic Calculator) в Вашей системе, Вы могли использовать следующую команду и немного старой доброй математики для вычисления π к 10 000 десятичных разрядов:

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

Это, вероятно, займет долгое время для завершения для 10 000 десятичных разрядов.

Разрушение команды...

  • scale=10000 - это указывает количество десятичных разрядов для использования для результата
  • 4*a (1) - это возвращает арктангенс 1 [который равняется 45 °: 45 x (π/180) или ¼π] затем умножается на 4 для получения π.
  • до н.э-l - передайте полную функциональную строку по каналу в до н.э, утилита,-l указывает для загрузки стандартной математической библиотеки, это необходимо для функции арктангенса, ().

Для обертывания это в сценарии, поскольку Вы указываете в своем вопросе, используйте своего любимого редактора, чтобы записать следующее и сохранить его как generatepi.sh:

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

Затем от терминального использования chmod +x generatepi.sh от папки Вы сохранили файл к, который даст права выполнения сценария. Синтаксис затем generatepi.sh [number of places]. Обратите внимание, что это использует очень простой способ обработать параметры и не проверило бы вход, поэтому удостоверьтесь, что Вы только передаете его положительные целые числа в качестве параметра.

Большинство систем Linux должно иметь bc но Вы, возможно, должны установить его в некоторых случаях (например, склонный - входят в Ubuntu, появляются на хинду и т.д.). Существует также порт до н.э для Windows.

19
ответ дан 07.12.2019, 13:12

Теги

Похожие вопросы