스크립트에서 주어진 소수점 이하 자릿수까지 Pi를 생성하려면 어떻게해야합니까?


답변:


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 에서 등장 ). Windows 용 bc 포트 도 있습니다 .


윈도우 용 네이티브 pi 계산기가 있습니다-오버 클럭
커가

내 컴퓨터에서 ~ 3 분, 스크립트에서 쓸모가 없습니다. 을 사용하지만 +1 bc입니다.
cYrus

"bc"의 "b"는 "Bench"가 아니라 "Berkeley"를 나타냅니다.
user1364368

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.