Por @Alvy — 16 de Agosto de 2009

Este programa en C de Daniel Vik genera los dígitos de π, y tiene un aspecto deliciosamente autorreferente:

Pi-314

Lo encontré buscando por ahí los programas más cortos que generan los dígitos decimales de π con precisión arbitraria. Cualquier lenguaje de programación valdría. Este en concreto, eliminando los espacios innecesarios, ocupa unos 900 caracteres/bytes. Se le pueden pedir cualquier número de dígitos de π y está sólo limitado por la capacidad de cálculo y memoria del equipo que se use, aunque el autor dice que habría que modificarlo para que pasara de los 25.000 decimales y que aun esa cantidad que no es demasiado grande requiere demasiado tiempo de procesamiento.

Este otro programa es tinypi.com, que debe ser bastante antiguo y no se sabe bien quién lo escribió pero con 125 bytes (en este caso, uuencodificados para generar el ejecutable ya compilado) genera hasta 9.304 dígitos de Pi. No es un muy buen ejemplo porque no puede generar el número de dígitos de π que le pidas, sino una cantidad limitada, pero me pareció extremadamente corto:

Pi2-Gen

Tampoco servirían para el récord al programa más corto «trucos» como usar N[π,9999] en el lenguaje de Mathematica, porque como Mathematica incorpora el generador de π como una de sus funciones digamos que aunque sea muy corto esa función no es precisamente el programa se busca (sería el que está «dentro» de Mathematica).

El programa de ejemplo de software para calcular los dígitos de π de la Wikipedia (en PHP) ocupa unos 1.900 bytes.

En SourceForge encontré también Calculating Pi, donde se pueden ver algunos programas para calcular π usando diversos métodos, generamente programados en C. En general todos los programas rondan 1 y 2 KB, seguramente optimizándolos se pueden quedar entre 500-750 bytes.

En general lo que me encontré es que la gente parece más interesada en crear los programas más rápidos para generar π que los programas más cortos para generar π, lo cual también tiene su intríngulis. Aunque no conseguí encontrar el programa definitivamente más corto que genere un número cualquiera de dígitos de π diría que estará en torno a los 500 bytes, tal vez incluso menos.

Actualización: Jorge nos envió dos programas en Python para calcular π: el primero ocupa 311 bytes, el segundo tan solo 272 bytes. Además dice que recuerda haber escrito un generador de dígitos de π en Prolog que ocupaba unos 50 ó 60 bytes.

Relacionado:

Compartir en Flipboard Publicar / Tuitear