Este es un desafío de policías y ladrones . El hilo de los policías a este desafío está aquí
Una pregunta interesante para pensar es la siguiente:
Si tengo una secuencia de números, ¿cuántos de ellos debo proporcionar antes de que quede claro de qué secuencia estoy hablando?
Por ejemplo, si quiero hablar sobre los enteros positivos en orden a partir de , podría decir , pero ¿es realmente suficiente?1 , 2 , 3 , ...
Tengo una forma de responder a esta pregunta, y ser un jugador de código implica el golf de código. Ha proporcionado suficientes términos de una secuencia si el código más corto que produce esos términos produce todos los términos de la secuencia. Si pensamos en esto en términos de código de golf, esto significaría que ha proporcionado suficientes casos de prueba para que el código más corto que pasa los casos de prueba haga la tarea deseada.
Desafío
Este desafío es un desafío de policías y ladrones . En el cual los policías presentarán casos de prueba y los ladrones tendrán que encontrar una forma más corta de falsificar los casos de prueba que no sea la secuencia prevista. Los policías presentarán lo siguiente:
Una pieza de código que toma un entero positivo como entrada y produce un entero como salida. Este código puede ser cero o uno indexado, pero debe quedar claro cuál es la indexación. Este código definirá su secuencia.
Cualquier plataforma relevante o requisitos de idioma que puedan afectar a la salida, por ejemplo, el tamaño de longint.
Un número , junto con los primeros términos de la secuencia calculados por el código. Estos actuarán como "casos de prueba".n
Los ladrones encontrarán un programa en el mismo lenguaje que es más corto que el presentado y pasa todos los casos de prueba (produce la misma salida para las primeras entradas que el código del policía). El código del ladrón también debe diferir en la salida del programa del policía para un número mayor que .n
Puntuación
Los ladrones serán puntuados en la cantidad de grietas que encuentren, con más grietas mejorando. Una respuesta se puede descifrar nuevamente al encontrar una respuesta válida más corta que la grieta original. Si una respuesta se descifra por segunda vez, el punto se otorga a la segunda galleta en lugar de a la primera.