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: Ejemplo de Salida: 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#!/usr/bin/env bash
timeout 10 bash -c "time cat entrada.txt | python script.py > salida_test.txt"
if [ "$?" == "124" ]
then
echo "Timeout";
exit 0;
fi
diff salida.txt salida_test.txt &> /dev/null
if [ "$?" == "0" ]
then
echo "Correcto";
else
echo "Incorrecto";
fi
Plantilla para resolver el problema:
Código Python:
Ver originaldef answer(number):
"Implementa tu respuesta aqui"
return 0
while True:
try:
number = int(raw_input())
print answer(number)
except EOFError:
break