Está en la página 1de 10

1

Un algoritmo de la espita para los dígitos de pi

Stanley Rabinowitz y Stan carro

Es notable que el algoritmo ilustrado en la Tabla 1, que utiliza no aritmética flotante-punto, produce los dígitos de π. El
algoritmo comienza con algunos 2s, en las columnas encabezadas por las fracciones que se muestran. Cada entrada se
multiplica por 10. Luego, empezando por la derecha, las entradas se reducen módulo guarida, donde la cabeza de la
columna es num / den, producir un cociente q y el resto r. El resto se deja en su lugar y q × num se lleva a una izquierda
columna. Esto reducirá y acarreo se continúa todo el camino a la izquierda. El dígito de las decenas del resultado más a
la izquierda es el siguiente dígito de π. El proceso continúa con la multiplicación de los residuos por 10, las reducciones
módulo el denominadores, y la carga aumentada.

TABLA 1. El funcionamiento de un algoritmo que produce dígitos de π. La línea discontinua indica el paso clave: a partir
de la derecha, las entradas se reducen modulo el denominador de la cabeza de la columna (25, 23, 21, . . . , resp.), con los
cocientes, después de la multiplicación por el numerador (12, 11, 10, . . .), Llevado a izquierda. Por ejemplo, el 20 en el 9

19 'Columna s produce una


resto de 1 y un acarreo de 1 izquierda · 9 = 9. Después lleva el más a la izquierda, los dígitos de las decenas están
3, 1, 4, 1. Para obtener más dígitos de π uno debe comenzar con una cadena más larga de 2s.

Tomado de The American Mathematical Monthly, 102 (1995) 195-203


2

Este algoritmo es un algoritmo de “espiga”: se bombea dígitos uno a la vez y no utiliza los dígitos después de que se
calculan. Por otra parte, los dígitos se generan sin el empleo de operaciones con números reales flotante de punto de alta
precisión (o de baja precisión); todo el algoritmo utiliza solamente la aritmética de enteros ordinaria en relativamente pequeños
números enteros. Por ejemplo, para obtener el primer 5.000 dígitos de π sólo requiere operaciones aritméticas con números
enteros de menos de 600 millones. Aunque las rutinas flotante de punto de alta precisión fl se construyen a partir de operaciones
con enteros, los algoritmos en este documento son bastante simples y no simulan los cálculos de punto flotante fl.

Con el fin de motivar a la π- algoritmo, primero discutir el caso más simple de mi, para el que un algoritmo de
espiga fue descubierto por la venta [ Rebaja]. Su algoritmo es la base de la discusión en § 1.

1. Un sistema de numeración EN EL QUE mi 's dígitos son periódicas. la representación decimal de un número real
puede ser interpretado como una en fi expresión anidada infinitamente; por ejemplo:

( ( ( ( ) ) ) )
√ 2 = 1,41421356. . . = 1 + 1
4+1 1+1 4+1 2+1 .
10 10 10 10 10 ( 1 + · · ·)

Algunas representaciones interesantes y útiles se pueden obtener si cambiamos la secuencia de bases, que en el
caso anterior es ( 1
10, 1 10, 1 10, 1 10, . . .). Por ejemplo, utilizando la base
b = ( 1 2, 1 3, 1 4, 1 5, . . .) se obtiene la siguiente forma, llamada una mezclado-radix representación (véase
[ KNU, § 4.1]):

( ( ( ( ) ) ) )
una 0 + 1 una 1 + 1 una 2 + 1 una 3 + 1 una 4 + 1 ,
2 3 4 5 6 ( una 5 + · · ·)

donde el una yo ( el dígitos) son enteros no negativos. Si 0 ≤ una yo ≤ yo para yo ≥ 1, la representación se llama regular. representaciones
Mixed-radix se denotarán por ( una 0; una 1, una 2, una 3, una 4, . . .) si.
para la base si, cada número real positivo tiene una representación regular y representaciones son únicas proporcionadas
excluimos representaciones que terminan con dígitos máximas (de otro modo, por ejemplo, 1

2=( 0; 1, 0, 0, . . .) b = ( 0; 0, 2, 3, 4, 5, 6, . . .) si); de ahora en adelante y para todas las bases,


excluimos tales representaciones. La prueba de la siguiente lema es en el Apéndice 1.

lema 1
(una) Si yo ≥ 1, (0; 0, 0, . . . , 0, una yo, una i + 1, . . .) b < 1
¡yo! ; en particular, ( 0; una 1, una 2, una 3, una 4, . . .) b < 1.
(si) Representaciones utilizando la base mixta-radix si son únicos.
(C) La parte entera de ( una 0; una 1, una 2, una 3, una 4, . . .) si es una 0 y la parte fraccionaria es
(0; una 1, una 2, una 3, una 4, . . .) si.

En este sistema de números irracionales algunos se convierten periódica. Por ejemplo e = ( 2; 1, 1, 1, 1, . . .) si;
esto es sólo una reafirmación de la serie en finito Σ 1 ¡yo! como

( ( ( ( ) ) ) )
1+1 1+1 1+1 1+1 1+1 .
1 2 3 4 5 (1 + · · ·)
3

Los números racionales en este sistema corresponden a dígito-secuencias que terminan (Apéndice
1, Lema 2).
Los dígitos decimales de un número real X en [0, 10) se puede obtener tomando el número entero
parte de X, multiplicando su parte fraccionaria por 10, tomando la parte entera del resultado, multiplicar la parte fraccionaria resultante por 10,
y así sucesivamente. En algunas bases mixta-radix, esto es especial- mente sencilla. Si x = (a 0; una 1, una 2, . . . , una norte) si, a continuación 10 x = ( 10 una
0; 10 una 1, 10 una 2, 10 una 3, . . . , 10 una norte) si.
Este último puede que no sea una expresión regular: algunas cifras pueden ser demasiado grande. Pero podemos de- dígitos
pliegue reduciéndolas módulo yo, dónde yo es el denominador del elemento correspondiente de si. A partir de estas reducciones en
el extremo derecho, llevamos a los cocientes fueron, incluso- conseguir tualmente la representación ordinaria del 10 de X. Por lo
tanto multiplicando por 10 es algorítmicamente sencillo. Tomando las partes enteras y fraccionarias para si- representaciones
también es fácil, gracias a Lema 1 (c).

Ahora podemos dar el algoritmo para obtener la primera norte base 10 dígitos de mi. Una prueba de la corrección - la que muestra
el análisis de error que n + 2 dígitos mezclado-radix su ce FFI 1 Llegar norte
base 10 dígitos - se da como el Lema 3 en el Apéndice 1.

Algoritmo mi- espiga


1. Inicializar: Deje que el primer dígito sea 2 e inicializar un array UNA de longitud n + 1 a
(1, 1, 1, . . . , 1).
2. Repetir norte - 1 vez:
Multiplicar por 10: Multiplicar cada entrada de UNA por 10.
Tome la parte fraccionaria: Empezando por la derecha, reducir la yo ª entrada de UNA módulo
i + 1, que lleva el cociente de un lugar izquierda.
Salida de los siguientes dígitos: El cociente final es el siguiente dígito de mi.

La primera pocos pasos de este algoritmo, empezando con una matriz de 10 1s (esto corresponde a 11 dígitos mezclado-radix,
bueno para 9 dígitos de mi; solamente 5 se muestran), se muestran en la Tabla
2.

1 Cualquier algoritmo de dígitos productoras para un número presunta normal X ERS SU ff de un N ° de dibujo espalda que, aunque
poco probable, puede incidir en el resultado. Si X está entre 1 y 10 y el algoritmo dice que los primeros 100 dígitos de X son, por
ejemplo, 4, 6, 5, 0, 7, . . . , 3, 9, 9, 9, 9, 9 entonces uno no puede estar seguro de que los 6 últimos dígitos son correctos. Ellos serán los dígitos
de una cierta aproximación a X que está dentro de 5 · 10 - 100 del valor real. Uno no puede simplemente ir más lejos, hasta un 9 no se
alcanza, porque las asignaciones de memoria deben hacerse con anticipación. El usuario debe darse cuenta de que una cadena de
terminación de 9s es un banderín rojo en relación con esos dígitos e incluso sin 9s, el último dígito podría ser incorrecta. En la práctica,
uno puede pedir, por ejemplo, 6 dígitos adicionales, lo que reduce las probabilidades de este problema a uno en un millón.
4

TABLA 2. El funcionamiento de un algoritmo para la espita de los dígitos e ( en negrita). Las reducciones en la columna 1

yo se llevan a cabo en módulo yo. Las bases 10 son números reales más a la izquierda
los valores de las filas vistos como representaciones mezclado-radix. Dado que sólo 11 dígitos mezclado-radix comienzan el
algoritmo, el primer número de base-10 es sólo una aproximación a mi.

2. Un manguito para DÍGITOS DEL π. Las ideas de § 1 plomo a un algoritmo de espiga para π,
pero hay complejidades adicionales y preguntas interesantes adicionales que distinguen
π de mi. Nuestro punto de partida es la siguiente serie moderadamente bien conocida:

Σ∞ ( ¡yo!) 2 2 i + 1
π=
(2 i + 1)! .
i=0

Esta serie se puede derivar a partir del producto Wallis para π; Otro enfoque utiliza una técnica llamada ración acelera de
Euler de la transformada aplicado a la serie π = 4 - 4
3+4 5- 4 7+ · · ·.
Estas pruebas, junto con otras tres personas y las referencias a las fuentes anteriores, se pueden encontrar en [ Li]. Dejamos k !! denotar
el producto 1 · 3 · 5 · · · k para los enteros impares k; entonces la serie es equivalente a

π Σ∞ ¡yo!

2= (2 i + 1) !! = 1 + 1 3 + 1 ·32· 5 + 1 · 2 3· 3· 5 · 7 + · · ·,
i=0

que se expande para convertirse

( ( ( ) ) )
π
1+2 1+3 1+4 .
2=1+1 3 5 7 9 (1 + · · ·)

Esta última expresión conduce a la base mixta-radix c = ( 1 3, 2 5, 3 7, 4 9, . . .), con respecto a


cual π es simplemente (2; 2, 2, 2, 2, 2, . . .) C. Para una representación regular de la base de C, el dígito en
5

el yo º lugar debe estar en el intervalo [0, 2 yo]. Por desgracia, la base C es menos complaciente de si. Lemma 4 ( Prueba

en el Apéndice 1). La base- C número con dígitos máxima, ( 0; 2, 4, 6, 8, . . .),

representa 2; representaciones por lo tanto regulares de la forma ( 0; a B C, . . .) C esta entre 0 y 2. Lema 4 implica que C- representaciones
no son únicos. Por ejemplo, (0; 0, 4, 6, 8, . . .) C
=2-2 3=4 3, de donde (0; 0, 2, 3, 4, . . .) c = 2 3=( 0; 2, 0, 0, 0, . . .) C. algorithmi- más relevante
camente, enteros y fraccionarios piezas usando C No son sencillos, como lo son para si. La parte entera de ( una 0; una 1, una 2, . . .) C es
cualquiera una 0 o una 0+ 1 según como (0; una 1, una 2, . . .) está en [0, 1) o [1, 2). Este problema se supera dejando el dígito de las
unidades de una 0 en su lugar durante la siguiente iteración y llamar al código de las decenas una 0 una predigit. Los predigits
deben mantenerse temporalmente porque de vez en cuando (una vez cada 20 iteraciones, más o menos) la siguiente predigit es
un 10; Esto sucederá cuando el acarreo, que está entre 0 y 19, es mayor que 10 y, simultáneamente, las unidades de restos de
dígitos de una 0 es 9, que se convierte 90 en la etapa de multiplicar-por-10. Este evento requiere que el número celebrada se
incrementa en 1 antes de ser liberado. Caciones detalles fi c del seguimiento algoritmo; la presentación al inicio de este trabajo
hizo a un lado el problema de los ocasionales 10. La prueba de que 10 norte/ 3 dígitos mezclado-radix su fi ce para norte dígitos
de π es en el Apéndice 1 (Lemma 5). Apéndice 2 contiene una implementación de este algoritmo Pascal.

Algoritmo π- espiga
1. Inicializar: Dejar A = ( 2, 2, 2, 2, . . . , 2) ser una matriz de longitud 10 norte/ 3 .
2. Repetir norte veces:

Multiplicar por 10: Multiplicar cada entrada de UNA por 10.

Un puesto en forma periódica: Empezando por la derecha, reducir la yo ésimo elemento de UNA
(correspondiente a C- entrada ( yo - 1) / (2 yo - 1)) módulo 2 yo - 1, para obtener un cociente q y un resto r. Salir r en su lugar
y acarreo q (i - 1) un lugar a la izquierda. El último número entero realiza (desde la posición donde yo - 1 = 2) puede ser
tan grande como 19.
Obtiene el siguiente predigit: Reducir la entrada de más a la izquierda UNA ( que es como máximo 109 [=
9 · 10 + 19]) módulo 10. El cociente, q, es el nuevo predigit de π, el resto permanecer en el lugar.

Ajuste los predigits: Si q no es ni 9 ni 10, liberar los predigits mantenidos como verdaderos dedos
de π y espera q. Si q es 9, añadir q a la cola de predigits celebradas. Si q es 10 entonces:

• establecer el predigit actual en 0 y mantenerla;


• aumentar todos los demás predigits en poder de 1 (9 se convierte en 0);

• liberar como verdaderos dígitos de π todos excepto el predigit retenida actual. Este algoritmo utiliza sólo la
aritmética de enteros y es fácil de programar. La tabla al comienzo del trabajo se muestra en acción, a partir de 13 dígitos
mezclado-radix de π ( buena para 4 de base 10 dígitos). Para aclarar el funcionamiento del algoritmo, en cuenta que el
(infinito) primera fila de la Tabla 1 es una representación mixta-radix de 3,1414796. . ., La segunda fila representa

31,414796. . ., La fila quinta representa 1,414796. . ., La sexta fila es 14.14796. . ., La novena fila es 4,14796. . ., y así. La
Tabla 3 muestra el resultado de un cálculo utilizando una matriz inicial más grande; el aspecto de retención no se
convierte en relevante hasta que el dígito 32a.
6

TABLA 3. Las cifras reales de π ( parte inferior) en comparación con la secuencia de más a la izquierda base- C
dígitos para 35 iteraciones con una matriz a partir de 116 2s (bueno para 35 dígitos). En la iteración 32a un 102 muestra arriba,
produciendo una predigit de 10.

Repetimos que el algoritmo utiliza sólo operaciones con enteros. Para obtener 5.000 dígitos de π
sólo requiere la aritmética de enteros en números menores que 600 millones. El algoritmo lleva naturalmente a la cuestión
de mejorar a uno que es esencialmente tan simple como mi- espiga. Pregunta. ¿Hay una base re de los racionales tal que π tiene
un re- representación que es periódica, o de una progresión aritmética, y tal que una 0 siempre es la parte entera de ( una 0; una 1,
una 2, . . .) ¿re?

Gosper [ gos, pags. 32] ha descubierto una serie de π Esto nos lleva tentadoramente cerca de la espita-perfección:

2 · 3 7 · 8 · 313+ 1 2·37·8· 3 · 5 10 · 11 · 318+ 1 2·37·8· 3 · 5 10 · 11 4 · 7 13 · 14 · 323+ · · ·.


π = 3+ 1
608+ 1 60 60 3 60 3 ·3

Obtuvo esta serie usando un re fi namiento de la transformada de Euler, el 4 - 4 3+4 5- 4 7+ · · ·.


La serie de Gosper conduce a la base d = ( 1 con respecto al cual π es
60, 6 168, 15 330, 28 546, . . .),
(3; 8, 13, 18, . . .). Un cálculo muestra que (0; 59, 167, 329, 545, . . .) d = 1.092. . ., Una mejora sustancial sobre los 2 que surgió de C. Bajo
el supuesto de aleatoriedad habitual para π 's cifras, las probabilidades de una mala predigit en la base C son de 1 en 20,
mientras que en la base de re disminuyen a menos de 1 en 110; esto se debe a una re- predigit de 10 se produce sólo
cuando el resto es un 9 (que se convierte 90) y el arrastre es un 10. La ex sucede 10% del tiempo, mientras que el último
pasa no más de una vez en 11 iteraciones porque el acarreo es la parte entera de un real entre 0 y 10,93. Así que la base re está
dentro de 1% de espita-perfección. Debido a la serie de Gosper converge más rápidamente que la que utilizamos, que tiene
menos requisitos de memoria: norte

dígitos de π requeriría un conjunto inicial de longitud norte; sin embargo, la aritmética en la matriz implicará números enteros mayores
que las de una matriz del mismo tamaño usando la base C.
Una forma de mejorar el enfoque Gosper de la serie es la reducción de las fracciones en re a su mínima expresión. Entonces
el número regular con dígitos máxima es (0; 59, 27, 21, 38, . . .) re, lo que equivale
1,0000476468. . . . No es difícil ver que la representación regular de π no ha cambiado en esta nueva base. Sin embargo, el trabajo
gastado en la reducción a su mínima expresión es mayor que el beneficio obtenido en la reducción del número de veces que un
10 aparece como un predigit. Por lo tanto, es probable que una respuesta afirmativa una FFI a la pregunta anterior es de más
teórica que interés práctico.
El algoritmo para la espita π de ninguna manera es competitivo con los algoritmos rápidos recientemente
descubiertos (debido a los hermanos Borwein, los hermanos Chudnovsky y otros) que se han utilizado para calcular
cientos de millones de dígitos de π ( ver [ Acreditación]). Sin embargo, el algoritmo de espiga tiene la ventaja de evitar
todos los cálculos de punto flotante fl; por lo que es fácil de implementar en un ordenador personal donde puede producir
miles de dígitos en pocos minutos. Además, se da el resultado directamente en la base 10 (más otra π- algoritmos
7

producir el resultado en pase binario o algún formato interno y un segundo se debe hacer para obtener dígitos decimales).

El algoritmo dado aquí puede ser obligado a correr más rápido mediante la salida de varios dígitos a la vez. Por ejemplo, para
obtener cinco dígitos decimales en un momento, sólo tiene que calcular los dígitos de π
usando la base 100.000. Esto se puede hacer mediante la multiplicación por 100 000 en lugar de 10 en el paso principal. La parte entera es
entonces el siguiente “dígito” en la base de 100.000.
Si uno está trabajando en la base de 100.000 y sabe de antemano que la porción de dígitos que se calcula no
contiene la cadena 00000, entonces se puede omitir la parte larga del algoritmo que ajusta los predigits. Esto puede
conducir a un programa de ordenador muy corto. Por ejemplo, Rabinowitz [ Rab] utilizado esta idea para exhibir un
programa de Fortran 14 de línea que da salida a 1.000 dígitos decimales de π.

Por último, cabe mencionar que el algoritmo se puede paralelizar, en cuyo caso se vuelve tan rápidos hasta cerca
de 10.000 dígitos.
Para ejemplos de algoritmos de espiga para otras funciones, véase [ Abd]. ANEXO 1.

CINCO lemas lema 1

(una). Si yo ≥ 1, (0; 0, 0, . . . , 0, una yo, una i + 1, . . .) b < 1


yo ; en particular, ( 0; una 1, una 2, una 3, una 4, . . .) b < 1.
(si). Representaciones utilizando base mixta-radix si son únicos.
(C). La parte entera de ( una 0; una 1, una 2, una 3, una 4, . . .) si es una 0 y la parte fraccionaria es
(0; una 1, una 2, una 3, una 4, . . .) si.

Prueba: ( una). Es su fi cinas para demostrar que Σ ∞ k=i+1( k - 1) / k! = 1 / ¡yo!, que sigue del hecho
que los telescopios de la serie a:

(1 ) ( 1 ( i + 1)! - 1 ) ( 1 ( i + 2)! - 1 )
+ + + ··· .
¡yo! - 1 ( i + 1)! ( i + 2)! ( i + 3)!

(si). Supongamos ( una 0; una 1, una 2, una 3, una 4, . . .) si y ( C 0; C 1, C 2, C 3, C 4, . . .) si representan el mismo número real. Entonces, por
alguna yo, 0 = Σ ∞
k = i re k / k !, donde | re k | < k y re i = 0. Pero entonces
| re i | / ¡yo! ≤ Σ ∞k = i + 1 | re k | / k !, contradictoria (a). (C). Esto
se deduce de (a).

Lema 2. Un número positivo es racional i FF sus dígitos utilizando la base mixta-radix si son finalmente 0.

Prueba: La dirección inversa es obvia. Para la dirección de avance se utiliza un sublemma.

Sublemma. Para cualquier número entero t y norte, con 0 ≤ n <t !, existen números enteros re yo en [ 0, yo] de tal manera que n = d 1 t (t - 1) ( t - 2)
· · · 4 · 3+ re 2 t (t - 1) ( t - 2) · · · 5 · 4+ · · · + re t - 3 t (t - 1) + re t - 2 t + d t - 1.

Prueba: Por inducción sobre t. Si n <t! escribir norte como qt + r con 0 ≤ r <t y 0 ≤ q <(t - 1) !. Por inducción hay una secuencia ( re 1,
re 2, . . . re t - 3, re t - 2) que es una solución para q con respecto a las condiciones ( t - 1) ( t - 2) · · · 4 · 3, y similares, de donde ( re 1, re 2, . . . re t
- 3, re t - 2, r) es una solución para norte WRT los términos t (t - 1) ( t - 2) · · · 4 · 3, y similares. Volviendo a la prueba del Lema 2,
supongamos que un racional positivo S t es dado. Usar la sublemma para expresar S t - 1)! en la forma re 1 t (t - 1) ( t - 2) · · · 4 · 3
+ re 2 t (t - 1) ( t - 2) · · · 5 ·
8

4+ · · · + re t - 3 t (t - 1) + re t - 2 t + d t - 1. dividiendo por t! Se obtiene así una representación de S t como una suma de los recíprocos de los

factoriales con apropiadamente pequeños coe fi cientes, que es el mismo como una representación de terminación en la base

mixta-radix si. Lema 3. El algoritmo para los dígitos de mi es correcto. Prueba: Se debe demostrar que n + 2 dígitos mezclado-radix de mi

su fi cina de conseguir norte base 10 dígitos de

mi. Primero se demostramos que si norte ≥ 28 (= 10 mi ), entonces norte dígitos mezclado-radix su fi ce para norte base 10 dígitos. Utilizando norte los
dígitos mixta-radix significa en realidad estamos recibiendo las bases de 10 dígitos

mi n = ( 2; 1, 1, 1, . . . , 1) = Σ norte i=01 / ¡yo!. Por lo tanto tenemos que demostrar que mi - mi norte ≤ 5 · 10 - n ( véase la nota
al inicio del papel). Una estimación de serie geométrica de la cola de la serie muestra que
mi - mi n < 2 / ( n + 1) !, y produce entonces la fórmula de Stirling

( mi ) (1 ) norte
2 ( n + 1)! < 1 n<
.
¡norte! < norte 10

Si n < 28 a continuación, un cálculo directo de los dígitos muestra que n + 2 dígitos mezclado-radix su fi ce.

Lemma 4. La base- C número con dígitos máxima, ( 0; 2, 4, 6, 8, . . .), representa 2; representaciones por lo tanto regulares de
la forma ( 0; a B C, . . .) C esta entre 0 y 2.

Prueba: En lugar de dar una prueba formal, mostramos cómo algunos Mathematica cálculos condujeron al resultado (y una
prueba). En cuanto a la serie, el lema establece que

Σ∞ (2 i) i!
(2 i + 1) !! = 2.
i=0

Un cálculo aproximado mostró que la suma es cerca de 2. A continuación, un cálculo racional de los residuos - la di ff
erences entre las sumas parciales y 2 - dio la siguiente secuencia.

4
3, 45, dieciséis 63, 32231,
35, dieciséis 231, 32429, 256
6435, 256
12155, 512
46189, 512
88179.

El patrón en estos restos se encontró dividiendo cada por la anterior, lo que produjo:

3
5, 47,
47, 59,
59, 611,
611, 713,
7 13, 8 15 , 917, 1019,
19, 1121.

Inducción demuestra el patrón de ser válida en general; se sigue que los restos tienen la forma cerrada 2 n + 1 / (2 n + 1
)
norte
, que converge a 0, como se reivindica.

Lema 5. El algoritmo para los dígitos de π es correcto. Prueba: Como para mi, nosotros miramos a π - π metro, dónde π m = ( 2; 2, 2, . . . , 2) C. Este
error es la cola de nuestra serie principal de π: Σ ∞

i=m( ¡yo!) 2 2 i + 1 / ( 2 i + 1) !. Esta cola es menor que el doble de su primer término, ya


cada término subsiguiente es menos de la mitad de su predecesor, que nos lleva a estudiar ¡metro! 2 2 m + 2 / ( 2 m +
1) !. Dividiendo el denominador en iguala y las probabilidades convierte esto en: ¡metro! 2 2 / ( 3 · 5 · · · ( 2 m + 1)),
9

que es menor que 2 3 ¡metro! 2 2 / ( 2 · 4 · · · ( 2 metro)), o 1 / (3 · 2 metro - 1). Es fácil ver (con el hecho
ese 3 10 < Iniciar sesión 10 2) que este último es inferior al 5 · 10 - norte cuando m = 10 norte/ 3 , Como se reivindica.

ANEXO 2. CÓDIGO DE PASCAL


El siguiente programa, por lo que estamos agradecidos a los estudiantes Macalester Simeón Simeonov, implementa el algoritmo π-
espiga. Este código hace uso del hecho de que la cola de predigits siempre tiene un montón de 9s a la derecha de su miembro
más a la izquierda, por lo que sólo esta predigit más a la izquierda y el número de 9s tiene por qué ser recordado. El programa
calcula 1000 dígitos de π y requiere una versión de Pascal con un tipo de datos entero largo (de 32 bits número entero).

Programa Espita Pi; const n


= 1000;
len = 10 * n div 3;
var i, j, k, q, x, nueves, predigit: número entero;
a: array [1..len] de longint; empezar

para j: = 1 a len hacer un [j]: = 2; { Comience con 2s}


nueves: = 0; predigit: = 0 { En primer lugar es un predigit 0}
para j: = 1 a n hacer
comenzar q: = 0;
para i: = len downto 1 hacer { Trabajar hacia atrás}
empezar

x: = 10 * a [i] + q * i; a [i]: = x mod (2


* i-1); q: = x div (2 * i-1); fin;

a [1]: = q mod 10; q: = q div 10; si Q = 9 entonces


nueves: = nueves + 1 más si q = 10 entonces

comenzar a escribir (predigit + 1);


para k: = 1 a nueves escribo (0); { ceros}
predigit: = 0; nueves: = 0 final

else begin
escribir (predigit); predigit: = q; Si nueves <> 0,
entonces comienzan

para k: = 1 a nueves escribo (9); nueves: extremo a


extremo = 0 final;

writeln (predigit); fin.


10

Añadido en la prueba. La última versión de Mathematica ( 2.3) se puede resumir muchas de las
series que se presentan en este documento. Se tarda sólo un segundo o más para llegar π / 2 como la suma de la serie fundamental

en el inicio de la sección 2, para obtener 1 / ¡yo! para la serie de la prueba del Lema 1 y 2 para obtener como la suma de la serie en la

prueba del Lema 4. Referencias

[Abd] S. Kamal Abdali, el algoritmo 393 - Especial sumatoria serie con preci- arbitraria
sión, Comm. ACM 13 ( 1970) 570.
[acreditación] JM Borwein, PB Borwein, y DH Bailey, Ramanujan, ecuaciones modulares,
y aproximaciones a pi, o cómo calcular los mil millones de dígitos de pi, este Mensual
96 ( 1989) 201-219
[Gos] RW Gosper, aceleración de la serie, Memo no. 304, MIT Arti fi cial de Inteligencia
Laboratory, Cambridge, Mass., 1974. [Knu] DE Knuth, The Art of Computer Programming, volumen 2,
Reading, Mass.,
Addison-Wesley, 1981. [Li] JCR Li, Problema E854, esta Mensual 56 ( 1949) 633-635. [Rab] S. Rabinowitz,
Abstract 863-11-482: Un algoritmo de espiga para pi, Los resúmenes Amer.

Matemáticas. Sociedad 12 ( 1991) 30.


[Venta] AHJ venta, el cálculo de mi a muchos dígitos significativos, Comput. J. 11 ( 1968) 229-230.

MathPro Press
PO Box 713 Westford, MA
01886
72717.3515@compuserve.com

Departamento de Matemáticas
Macalester College St. Paul, MN
55105 wagon@macalstr.edu

También podría gustarte