2012-03-01 3 views
3

저는 C에서 실제로 매우 새롭지만, 프로젝트에서 Pi의 가치를 1 백만에서 최소 32 백만 소수 자릿수까지 계산할 수 있기를 바랍니다. 기본적으로 CPU를 벤치마킹하기 위해 SuperPi/HyperPi가하는 것과 같습니다.C에서 Pi를 수백만 자리까지 계산하십시오.

하지만 분명히 표준 C 라이브러리는이 기능을 사용할 수 없습니다.

어떤 라이브러리를 사용할 수 있으며이 알고리즘에 어떤 알고리즘을 사용합니까?

정밀도 역시 누구나 rand()를 압축하여 "Pi의 궁극적 인 가치"라고 부를 수 있습니다.

제 컴파일러는 GCC이므로 가능한 경우 라이브러리를 컴파일 할 수있게하고 싶습니다. (BigNum 라이브러리가 있습니다).

+0

직접 계산 하시거나 준비된 솔루션을 사용 하시겠습니까 (예 :'printf ("% s \ n", expandpi (1000000));')? – pmg

+0

직접 계산하십시오. – farmdve

+1

아직 읽지 않았다면 [PI 관련 wikipedia 기사] (http://en.wikipedia.org/wiki/Pi#Computation_in_the_computer_age)를 좋아할 것입니다. – pmg

답변

2

there에서 2 차 알고리즘을 성공적으로 사용했습니다. 라이브러리 부분에 대해 MPFR을 제안합니다.

+0

+1, AGM 알고리즘을 시리즈 알고리즘보다 강력하게 추천합니다. 특히 시리즈 알고리즘은 다른 모호한 방법과 결합했을 때만 효율적입니다. – Mysticial

+0

@Mysticial : 이론은 엔트리 레벨 계산법으로 꽤 이해할 만합니다. –