Questa è una sfida per poliziotti e ladri . Il thread della polizia per questa sfida è qui
Una domanda interessante a cui pensare è la seguente:
Se ho una sequenza di numeri quanti ne devo fornire prima che sia chiaro di quale sequenza sto parlando?
Ad esempio, se voglio parlare degli interi positivi in ordine a partire da , potrei dire , ma è davvero abbastanza?1 , 2 , 3 , ...
Ho un modo per rispondere a questa domanda, ed essere un giocatore di codice coinvolge il gioco di codice. Hai fornito abbastanza termini di una sequenza se il codice più breve che produce quei termini produce tutti i termini della sequenza. Se pensiamo a questo in termini di code-golf, ciò significherebbe che hai fornito un numero sufficiente di casi di test in modo tale che il codice più breve che supera i casi di test faccia il compito desiderato.
Sfida
Questa sfida è una sfida per poliziotti e ladri . In cui i poliziotti presenteranno casi di test e i ladri dovranno trovare un modo più breve per falsificare i casi di test diversi dalla sequenza prevista. Gli sbirri presenteranno le seguenti cose:
Un pezzo di codice che accetta un intero positivo come input e produce un numero intero come output. Questo codice può essere zero o uno indicizzato ma dovrebbe essere chiaro quale sia l'indicizzazione. Questo codice definirà la sequenza.
Qualsiasi piattaforma pertinente o requisiti linguistici che potrebbero influire sull'output, ad esempio la dimensione del longint.
Un numero , insieme ai primi termini della sequenza calcolati dal codice. Questi fungeranno da "casi di test".n
I ladri troveranno un programma nella stessa lingua che è più breve di quello presentato e supera tutti i casi di test (produce lo stesso output per i primi input del codice del poliziotto). Il codice del ladro deve anche differire nell'output dal programma del poliziotto per un numero maggiore di .n
punteggio
I ladri saranno segnati nel numero di crepe che trovano, con più crepe migliori. Una risposta può essere decifrata trovando una risposta valida più breve della crepa originale. Se una risposta viene decifrata una seconda volta, viene dato il punto al secondo cracker anziché al primo.