pidigits description
Background
MathWorld: Pi Digits.
Variance
Some language implementations have arbitrary precision arithmetic built-in; some provide an arbitrary precision arithmetic library; some use a third-party library (GMP); some provide built-in arbitrary precision arithmetic by wrapping a third-party library.
The work
The work is to use aribitrary precision arithmetic and the same step-by-step single-threaded algorithm to generate digits of Pi. Do both extract(3) and extract(4). Don't optimize away the work.
We ask that contributed programs not only give the correct result, but also use the sequential algorithm to calculate that result.
Each program should:
calculate the first N digits of Pi
print the digits 10-to-a-line, with the running total of digits calculated
diff program output N = 30 with this output file to check your program output has the correct format, before you contribute your program.
Use a larger command line argument (10000) to check program performance.
Adapt the step-by-step algorithm given on pages 4,6 & 7 of [pdf 156KB] Unbounded Spigot Algorithms for the Digits of Pi. (Not the deliberately obscure version given on page 2. Not the Rabinowitz-Wagon algorithm.)
How to implement