pi (3.14159)를 어떻게 인쇄합니까? [닫은] 나를 위해 pi를 인쇄

나를 위해 pi를 인쇄 할 수있는 명령은 무엇입니까? 인쇄 할 자릿수를 지정하고 싶습니다. 온라인에서 아무것도 찾을 수 없습니다. 파이를 인쇄하고 싶습니다.



답변

이 명령을 사용할 수 있습니다 :

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

여기서 scale은 소수점 뒤의 자릿수입니다.

참조 : http://www.tux-planet.fr/calculer-le-chiffre-pi-en-ligne-de-commande-sous-linux/


답변

당신이 만약 tex(1)설치 :

tex --version | head -1 | cut -f2 -d' '


답변

임의의 정밀도로 인쇄하는 경우 bc다음 공식을 사용할 수 있습니다 pi = 4*atan(1).

# bc -l
scale=<your precision>
4*a(1)


답변

π 값을 계산할 수있는 것을 원한다면 몇 가지 접근 방식이 있습니다. 아마도 가장 확실한 해결책은 pi(데비안 패키지 링크) 와 같은 기성품 패키지를 사용하는 것입니다. 데비안의 패키지 설명을 신뢰할 수 있다면 메모리에 의해서만 제한되는 임의의 정밀도로 값을 계산할 수 있습니다.

pi실제로는 CLN 라이브러리 (Class Library for Numbers)에 포함 된 예제입니다 . 여기에는 Pi, Fibonacci 등과 같은 임의의 길이의 숫자를 생성하는 도구를 제공하는 예제 응용 프로그램이 포함되어 있습니다. CLN 패키지는 데비안 / 우분투에서 사전 패키지로 제공됩니다 (위의 데비안 링크가 가리키는 것).

$ ./pi 10
3.141592653

$ ./pi 20
3.1415926535897932384

참고 : 이 예제의 소스는 여기 CLN 코드베이스의 소스에 있습니다 .

다른 배포판

페도라

Fedora에서 소스 타르볼을 다운로드하여 직접 빌드해야했지만 약간의 소름이 끼었습니다. 어떤 이유로 든 clnFedora 의 패키지 에는 라이브러리 만 포함되어 있지만 데비안 / 우분투 버전 (위)에서 사용 가능한 예제는 무시합니다.

아치

아치에서 같은 프로그램 제공 패키지 (감사 Amphiteót을 ).cln


답변

백만 자리까지 다음을 사용할 수 있습니다 (여기서는 3000 자리).

curl --silent http://www.angio.net/pi/digits/pi1000000.txt | cut -c1-3000


답변

다른 답변 중 일부는 출력의 마지막 위치에 잘못된 숫자를 표시합니다. 다음은 올바르게 반올림 된 결과를 사용하여 답변bc 의 변형입니다 . 변수 s에는 유효 자릿수 ( 3소수점 포함)가 포함 됩니다.

반 반올림

$ bc -l <<< "s=5; scale=s+2; pi=4*a(1)+5*10^(-s); scale=s-1; pi/1"
3.1416

반올림 (자르기)

$ bc -l <<< "s=5; scale=s+2; pi=4*a(1); scale=s-1; pi/1"
3.1415

반올림 설명

반올림은에서 직접 수행됩니다 bc. 이것은 약 17 자리의 정밀도를 갖는 숫자에 대해 printfC 언어 double유형 표현을 사용 하는 명령의 제한이 없습니다 . 반올림 답변을printf 참조하십시오 .

scale=s-1자를 자릿수를 설정합니다. pi/1잘라내기를 적용하기 위해 결과를 1로 나눕니다. 단순 pi은 숫자를 자르지 않습니다.

반올림을 반올림하면 첫 번째 숫자에 5를 더해야합니다 (5 x 10 -s ). 5보다 큰 숫자의 경우 남은 마지막 숫자가 증가합니다.

홉스테스트 에서 반올림 / 잘라내는 3 개의 추가 숫자 ( scale=s+2)가 매우 긴 숫자에도 충분할 것으로 보입니다 .

여기에 문자열

위의 예를 사용 여기 문자열 , 예를 들어 지원 bash, kshzsh. 쉘이 여기 문자열을 지원하지 않으면 echo대신 파이프를 사용하십시오 :

$ echo "s=5; scale=s+2; pi=4*a(1); scale=s-1; pi/1" |  bc -l
3.1415


답변

펄 한 줄 ( bignum 사용 ) :

perl -Mbignum=bpi -wle 'print bpi(NUM)'

예 :

perl -Mbignum=bpi -wle 'print bpi(6)'
3.14159