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