Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/01/2014, 17:24
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Desafíos 2014 - Semana 1

Problema:
Un numero primo, es un numero entero mayor o igual a 2, el cual no tiene mas divisores mas que 1 y el mismo. Por ejemplo 5 es numero primo porque 2, 3 ni 4 dividen exactamente ese numero. En cambio 9 es un numero compuesto porque existen números entre 2 y 9 que los dividen perfectamente como 3.

Los primeros números primos son 2, 3, 5, 7, 11, ...

Tu misión si decides aceptarla es dado un numero entre 1 y 1000 que sera la posición del numero primo en la lista de números primos. Por ejemplo, si doy 1 el resultado debe ser 2, ya que 2 es el primer numero primo. Si doy 5 el resultado debe de ser 11.

Entrada:
Cada linea tendrá un numero entero valido en el rango de 1 a 1000 inclusive (1 <= N <= 1000), la linea no entra espacios antes ni después.

Salida:
Por cada numero de entrada, la salida debe debe se ser una sola linea sin espacio, indicando el numero primo que corresponda.

Ejemplo de Entrada:
Código:
1
2
3
4
5

Ejemplo de Salida:
Código:
2
3
5
7
11
Puntaje:
Cada respuesta sera evaluada con respecto a 2 puntos:

1. Numero de lineas
2. Tiempo de ejecución

Notas:
1. No deben de usar librerías de terceros.
2. La versión en el que sera ejecutados las pruebas sera 2.7 o 3.3
3. La solución debe de estar en un solo archivo .py
4. Para evaluar el script se utilizara el siguiente comando: time cat entrada.txt | python script.py > salida_text.txt


Score:

Carbon
Status: Incorrecto
Lineas: 24
Tiempo: 0.915s

sukoy
Status: Correcto
Lineas: 16
Tiempo: 0.375s


Script para evaluación de tiempo y exactitud del programa: entrada.txt y salida.txt son los archivos con las respuestas.
Código BASH:
Ver original
  1. #!/usr/bin/env bash
  2.  
  3. timeout 10 bash -c "time cat entrada.txt | python script.py > salida_test.txt"
  4.  
  5. if [ "$?" == "124" ]
  6.   then
  7.     echo "Timeout";
  8.     exit 0;
  9. fi
  10.  
  11. diff salida.txt salida_test.txt &> /dev/null
  12. if [ "$?" == "0" ]
  13.   then
  14.     echo "Correcto";
  15.   else
  16.     echo "Incorrecto";
  17. fi

Plantilla para resolver el problema:
Código Python:
Ver original
  1. def answer(number):
  2.     "Implementa tu respuesta aqui"
  3.     return 0
  4.  
  5. while True:
  6.     try:
  7.         number = int(raw_input())
  8.         print answer(number)
  9.     except EOFError:
  10.         break

Última edición por razpeitia; 24/01/2014 a las 16:59