Archivos Programación: Agosto 2008

Bueno, no tuvo buena acogida mi desafío, probablemente el público que lee este blog no es tan técnico como yo creo.

De todas maneras acá va la solución, expresada en el lenguaje J:

($ [: /:@; [: <@|.`</. i.)@,~ 5

La salida de este programa es la esperada:

0 1 5 6 14
2 4 7 13 15
3 8 12 16 21
9 11 17 20 22
10 18 19 23 24

para que vean que no saben nada sobre lenguajes de programación ;)

 

Esta vez les voy a proponer un desafío, estoy pensado principalmente en los jóvenes programadores que les gustaría participar en eventos como la ONI (o la IOI), si la cosa tiene algún éxito, les propondré otro desafío.

El desafío es el siguiente:

Producir un arreglo zig-zag.

Un arreglo zig-zag es un arreglo cuadrado de los primeros N2 enteros, donde los números van ordenados de menor a mayor distribuidos en forma de zig zag a lo largo de las anti diagonales de la matriz (ver la figura).

Por ejemplo, si N es 5, el programa debe producir este arreglo:

  0   1   5   6  14
  2   4   7 13  15
  3   8 12 16  21
  9 11 17 20  22
10 18 19 23  24

* Aunque esto puede parecer un juego de ingenio, un tanto inútil, la verdad es que este tipo de arreglos es usado en el algoritmo de compresión de imágenes JPEG.

zigzag.png

La respuesta estará la próxima semana.

Sobre este archivo

Esta página es un archivo de las entradas en la categoría Programación de Agosto 2008.

Programación: Julio 2008 es el archivo anterior.

Encontrará los contenidos recientes en la página principal. Consulte los archivos para ver todos los contenidos.

Technorati

Technorati search

» Blogs que enlazan aquí

Creative Commons License
Este weblog está licenciado bajo una Licencia Creative Commons.

BloGalaxia website stats
Google