Desafío PET

Autor: Juanjo Conti

En cada número iremos sacando un desafío a resolver programando en Python y en el siguiente número se dará a conocer el ganador. En principio competimos por honor, gloria y diversión; pero en el futuro tal vez tengamos auspicios para premios :)

El desafío de esta entrega consiste en escribir un programa que reciba un número en la entrada estándar e imprima por pantalla la factorización del número en el siguiente formato. Los siguientes ejemplos muestran posibles entradas y cómo se espera que sean las salidas.

entrada: 11
salida: 11

entrada: 8
salida: 2^3

entrada: 24
salida: 2^3 x 3

entrada: 168
salida: 2^3 x 3 x 7

Notar que los factores se ordenan en orden creciente y si un factor aparece más de una vez, se debe expresar en forma de potencia.

Los participantes deben enviar su solución como un archivo .py y esta será ejecutado con python 2.7. El ganador del desafío será aquel que logre la solución con la menor cantidad de caracteres. Enviá tu solución a revistapyar@netmanagers.com.ar poniendo DESAFIO1 en el título del mail antes del 01/10/2010.

Suerte y happy golfing!

Aclaraciones y Feedback

Luego de lanzado el primer número, algunas personas manifestaron dudas sobre el enunciado. Aclaraciones:

  • No se pueden usar programas externos o librerías que no estén en la stdlib.
  • En la cuenta de los caracteres se tienen en cuenta espacios en blanco, tabulaciones y comentarios. Así que manden sus respuestas lo más cortas posibles!
  • El número recibido es un entero >= 0.
  • Las palabras 'entrada' y 'salida' no son parte de la entrada y salida esperada para el programa (oscureció más de lo que aclaró)
  • La salida esperada para 0 es 0 y para 1 es 1.

Luego algunos de los participantes manifestaron su deseo de tener algo de feedback sobre sus soluciones enviadas; para esto creamos este wiki: http://python.org.ar/pyar/Proyectos/RevistaPythonComunidad/PET1/Desafio

Versión en PDF.

Help PET: Donate

blog comments powered by Disqus

Último cambio: Thu Aug 12 18:35:44 2010.  -  Esta revista está bajo una licencia Creative Commons.