Fil de voleurs
Dans ce défi, votre objectif est de casser du code écrit par les flics (leur code est ici ) en le modifiant. Vous avez craqué leur code si:
- Votre code modifié a une distance de levenshtein maximale de 10 du leur, et a moins de caractères
- La fonction, étant donné la même entrée valide, produira la même sortie dans la même langue de la même version
- Vous avez publié votre version modifiée dans les 168 heures (1 semaine) de la publication d'origine.
Votre code modifié ne doit avoir qu'un ASCII imprimable.
Après avoir posté une version crackée, vous devez laisser un commentaire dans le code d'origine disant qu'elle a été crackée avec un lien vers votre crack.
Votre score est la distance totale de Levenshtien parmi toutes vos réponses. Le score le plus élevé l'emporte.
Le fil d'accompagnement des flics peut être trouvé ici .
primes
code-bowling
cops-and-robbers
Nathan Merrill
la source
la source
Réponses:
Python 3, 9500 à 9499, par Sp3000, distance 10
Original
Modifié
Changé le
\\
à\
et déplacé quelques personnages aléatoires pour obtenir un meilleur score.la source
Original par bitpwner, Python, 5199
Version modifiée Python, 5198 Levenshtein Distance 2 :
Remplacé
'zlib'
par un alias plus court'zip'
.la source
User23013 original CJam 7531
Version modifiée CJam 7526 Distance 10
Remplacé 5
\"
parN
la source
Nuuuq
est préférable, ce qui supprime les 5 chaînes vides de la pile.CJam, 6768, par user23013, distance 10
Original
Modifié
Je dois dire que l'idée derrière le code original est vraiment sympa. Créez une fonction de hachage où chaque personnage dépend du résultat modifié de son précédent. Cela rend impossible d'enlever l'un des caractères à l'intérieur de la chaîne. Tout au plus, vous pouvez commencer à supprimer les caractères de la fin. Mais commence à retirer les caractères du code d'impression principal réel.
La seule chose que @ user23013 a raté, c'est que le code de démêlage peut toujours être joué: D.
Je suis assez sûr que si ma réponse fêlée était la vraie soumission, il serait impossible de la fendre.
la source
PHP par Tryth, distance 10
Original (3337):
Modifié (3329):
En plus de supprimer directement 8 caractères, j'ai échangé les guillemets simples contre des guillemets doubles pour augmenter le Levenshtein de 2.
la source
Original par MickyT- R, 2496
Version modifiée R, 2492 Levenshtein Distance 9 :
Remplacé
sqrt(1e8)
par une valeur littérale10000
.la source
Original par Yimin Rong (PHP):
Version modifiée:
Supprimé
$N--,
.Changé
$N>0
en$N-->0
.Puis a changé toutes les instances de
$N
en$M
.Distance 9 .
Cela fonctionne pour les valeurs négatives.
la source
Original par Optimizer, CJam, 816
Version modifiée CJam, 815 Levenshtein Distance 10
Changé
04703657K)_#b:c~
en4e7K)_#b:cW';t~
.la source
:c);~;
Java, 6193 par Geobits, Distance 10
Original:
Modifié:
Peut-être la prochaine fois mon ami;)
la source
Mathematica, par Optimizer, 21 à 18, distance 10
de
à
la source
Python 3, 9302 à 9301, par Sp3000, distance 10
Original
Modifié
la source
Original par Timtech - TI-BASIC, 4513
Version modifiée TI-BASIC, 4505 Levenshtein Distance 10 :
J'ai changé la longueur de la chaîne et le diviseur
la source
Original par Brandon C # 233 :
Version modifiée C # 231 Levenshtein Distance 10 :
Changement des noms de variables pour atteindre une distance de 10 pour de nouvelles règles de score.
Version modifiée C # 231 Levenshtein Distance 2 :la source
for
boucle ??C #, Shawn Holzworth (161) , distance 10
J'ai utilisé un tour de golf standard pour supprimer un personnage: court-circuiter
2*n+1
versn-~n
.la source
Java 8, 1785, par TheBestOne, distance 10
Original
Modifié
Nom de la méthode
primes
->p
. Je n'ai pas touché le code d'octet, lol.la source
PHP, 73, par Yimin Rong, distance 10
Original
Modifié
Supprimé
gmp_strval
, car l'GMP
objet implémente l'Serializable
interface. Démo sur ideone .la source
Matlab, par flawr, distance 10
Original
Version modifiée
Suppression d'un espace du retrait à la ligne 3 (1 suppression). Changé
char(101)
enchar(98)
(2 substitutions, 1 retrait) et changé la somme de 941 à 0 (1 substitution et 2 suppressions). Suppression de 3 espaces du retrait de la ligne 4 (3 suppressions).Distance 10 .
(Notez que je pense que le 941 dans le code de flawr devrait être 1873, auquel cas je ne peux pas supprimer autant d'espaces de retrait, mais je peux garder la même distance Levenshtein).
la source
e
s dans mon code source d'origine qui devrait être égal à 941 ici. (A prime =))15 29 49 51 60 64 76 78 86 100 126 128 137 141 179 187 191 195
.CJam, 844 à 841, par Optimizer, distance 10
Original
Modifié
la source
1225469401974
remplacé par1225469408974
.Java, TheBestOne, 485, distance 10
Je viens de retirer les deux paires de supports d'angle vides inutiles. Le plus drôle, c'est qu'il ne compilerait même pas pour moi avec eux.
la source
CJam, 847 à 846, par Optimizer, distance 10
Original
Modifié
la source
CJam, par Optimizer, 24 à 22, distance 10
De
à
la source
Java, 328, par TheBestOne, distance 10
Original
Modifié
Remplacez l'expression régulière
"^1?$|^(11+?)\\1+$"
par"^(11+)\\1+$"
(6 suppressions) et supposez que l'entrée de la fonction de test principale est d'au moins 2 (2 ajouts, 1 échange). Modification du numéro de départ pour tester dei = 0
ài = 1
(puisque la fonction principale est appelée parb(++i)
,i
doit donc commencer à partir de 1) (1 swap).la source
Score total: 10
Réponse originale de TheBestOne:
Modifié avec la distance 10:
Réponse originale de Yimin Rong:
Modifié avec la distance 10:
David aurait pu me battre à celui-ci:Réponse originale de flawr:
Modifié avec la distance 10:
Edit: David m'a battu.
Réponse originale de Yimin Rong:Modifié avec la distance 10:
Avec l'ancien système de notation, cela m'aurait donné un 10,7.
Edit: Les règles changent constamment. Je pense que cela ne compte plus maintenant.la source
Java, 6193, par Geobits, distance 10Pas de compétition, car j'étais trop lent dans l'édition. Laissez-le ici pour référence.
Modifié
Pour montrer ce qui a été fait, cette partie du code:
se transforme en ceci:
Si vous alignez correctement les données, vous pouvez vous en sortir principalement avec des échanges.
(
devant;
pour)
/*
et 2 caractères de la fin avec*/
.*/
.La longueur delta est de -3.
la source