Questa è una sfida per poliziotti e ladri . Per il thread dei ladri, vai qui .
Questa sfida coinvolge due sequenze OEIS scelte dai poliziotti - S 1 , S 2 - e quanto bene queste sequenze possono essere giocate a golf e offuscate.
La sfida della polizia
La tua sfida come poliziotto è quella di scegliere una lingua liberamente disponibile e due sequenze OEIS. Quindi, scrivere il codice A in quella lingua che accetta l'input n e produce S 1 (n). Quando quel codice viene modificato da una distanza di Levenshtein di caratteri X (con X non più di 0.5 * (length A)
) e trasformato in codice B nella stessa lingua, deve quindi produrre S 2 (n). Devi effettivamente scrivere questo codice B , ma non rivelarlo finché la tua sfida non è sicura (vedi sotto).
Le richieste dei poliziotti devono includere il nome della lingua, il codice completo A , il conteggio dei byte di A , il valore X di quante modifiche arrivano al loro codice segreto B e i numeri di sequenza S 1 e S 2 scelti . Puoi scegliere se ogni sequenza è 0-indicizzata o 1-indicizzata, ma ti preghiamo di specificarla nel tuo invio.
Per decifrare una particolare proposta, i ladri devono elaborare un programma C nella stessa lingua (e versione) che produce S 2 (n) e che il carattere Y cambia da A (con Y <= X
). I ladri non hanno necessariamente bisogno di trovare esattamente lo stesso codice B che il poliziotto (segretamente) ha prodotto.
Vincere e segnare
Se la risposta del tuo poliziotto non è stata decifrata entro 7 giorni (168 ore), puoi rivelare la tua soluzione B , a quel punto la tua risposta è considerata sicura. Fintanto che non rivelerai la tua soluzione, potrebbe essere comunque violata dai ladri, anche se i 7 giorni sono già passati. Se la tua risposta viene decifrata, ti preghiamo di indicarla nell'intestazione della tua risposta, insieme a un link alla risposta del ladro corrispondente.
Gli sbirri vincono avendo la presentazione senza crack con la A più corta . Se legato, la X più piccola verrà utilizzata come pareggio. Se è ancora in parità, vincerà la domanda precedente.
Ulteriori regole
- Non è necessario utilizzare alcun built-in per hash, crittografia o generazione di numeri casuali (anche se si semina il generatore di numeri casuali su un valore fisso).
- Sono consentiti programmi o funzioni, ma il codice non deve essere uno snippet e non è necessario assumere un ambiente REPL.
- Puoi prendere input e dare output in qualsiasi formato conveniente . I metodi di input / output devono essere gli stessi per entrambe le sequenze.
- Il calcolatore definitivo per la distanza Levenshtein per questa sfida è questo sul Pianeta Calc.
- Oltre ad essere una sfida CnR, si tratta di code-golf, quindi si applicano tutte le normali regole del golf.
(0.5*len(A))