Como calcular \(\pi\) com um bilião de algarismos

Introdução

Para se obter uma determinada precisão, todos os cálculos deverão ser feitos com uma precisão pelo menos igual à do resultado final.

Ou seja, para se obter \(\pi\) com um bilião de algarismos significativos, todas as operações, multiplicações, divisões, somas e subtracções, terão de ser efectuadas com argumentos com pelo menos um bilião de algarismos, de modo que o resultado dessas operações tenha essa precisão.

Deste modo, a escolha do algoritmo é muito importante: deverá convergir o mais rapidamente possível para o resultado, com o menor número de operações possível.

Vamos agora considerar uma calculadora que somente é capaz de manipular números até \(99\). No entanto, para fazer multiplicações, esta calculadora consegue usar dois registos e assim, representar resultados até \(9999\).

Com estas limitações, como conseguir então fazer o cálculo \(12345678\times87654321\)?

Utilizando as características da nossa calculadora podemos organizar as operações do modo seguinte:

\[ \begin{array}{rrrrrrrr} &&&& 12 & 34 & 56 & 78\\ &&&\times& 87 & 65 & 43 & 21\\ \hline &&&& 21 \times 12 & 21 \times 34 & 21 \times 56 & 21 \times 78\\ &&& 43 \times 12 & 43 \times 34 & 43 \times 56 & 43 \times 78\\ && 65 \times 12 & 65 \times 34 & 65 \times 56 & 65 \times 78\\ & 87 \times 12 & 87 \times 34 & 87 \times 56 & 87 \times 78\\ \hline &&&& 252 &714 &1176 &1638\\ &&&516 & 1462 & 2408 & 3354\\ && 780 & 2210 & 3640 & 5070\\ & 1044 & 2958 & 4872 & 6786\\ \hline & 1044 & 3738 & \raise 1.6ex {{\small 100} \atop 7598} & 2140 & 8192 & 4530 & 1638\\ \hline \raise 1.6ex {{\small 10} \atop 0} & \raise 1.6ex {{\small 38} \atop 1044} & \raise 1.6ex {{\small 77} \atop 3738} & \raise 1.6ex {{\small 22} \atop 7698} & \raise 1.6ex {{\small 82} \atop 2140} & \raise 1.6ex {{\small 45} \atop 8192} & \raise 1.6ex {{\small 16} \atop 4530} & 1638\\ \hline 10 & 82 & 15 & 20 & 22 & 37 & 46 & 38 \end{array} \]

Conseguimos obter \(12345678\times87654321= 1082152022374638\), ultrapassando assim as limitações impostas pela calculadora.