Ceci est le poste Robber. Le post Cop est ici .
Votre tâche consiste à prendre un entier N et à sortir le Nième chiffre dans la séquence OEIS A002942 .
La séquence se compose des nombres carrés écrits à l'envers:
1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ...
Notez que les zéros non significatifs sont supprimés ( 100 devient 1 , pas 001 ). Concaténer ceci dans une chaîne (ou un nombre long donne):
1496152639446181121441
Vous devez sortir le Nième chiffre dans cette chaîne / numéro. Vous pouvez choisir de prendre N comme index 0 ou 1 (veuillez indiquer lequel vous choisissez).
Cas de test (1 indexé):
N = 5, ==> 1
N = 17, ==> 1 <- Important test case! It's not zero.
N = 20, ==> 4
N = 78, ==> 0
N = 100, ==> 4
N = 274164, ==> 1
Votre code devrait fonctionner pour les nombres jusqu'à N = 2 ^ 15 (sauf si votre langue ne peut pas gérer les entiers 32 bits par défaut, auquel cas N peut être inférieur).
Voleurs:
Vous devriez essayer de casser les messages des flics.
Votre code doit être dans la même langue que le message Cop et avoir une distance Levenshtein exactement égale à la distance donnée par le flic. Votre code ne peut pas être plus long que la solution d'origine (mais il peut être de la même taille).
Vous pouvez vérifier la distance de Levenshtein ici!
Le vainqueur sera le voleur qui a le plus craqué les posts.
la source
Réponses:
Haskell , Laikoni
Essayez-le en ligne!
Le
(*1)
était nécessaire pour la vérification de type.la source
JavaScript, Arnauld
la source
Array(m+1)
cela a été corrigé.cQuents 0 , Stephen
Essayez-le en ligne! Je ne sais pas comment ce code fonctionne, mais il a quand même fonctionné après avoir supprimé le
*
.la source
Wolfram Language (Mathematica) , Jenny_mathy
Essayez-le en ligne!
Version alternative également à distance 43:
Essayez-le en ligne!
la source
6502 Code machine (C64), Felix Palmen
J'ai testé cela avec toutes les questions des cas de test et quelques extras (comme 2 ^ 15 ... qui ont pris un certain temps), et cela semble fonctionner de la même manière que l'original avec LD = 1.
Démonstration en ligne , utilisation: sys49152, n où n est l'entrée indexée 0.
la source
Lua , Katenkyo
Essayez-le en ligne!
Je ne connais pas Lua, mais c'était simple, je viens de remplacer un espace par une nouvelle ligne.
la source
(0+)(%d+)$
par(0+)(%d+)
, donc c'était sur l'expressionPython 3 , HyperNeutrino
Essayez-le en ligne!
la source
''
au lieu de""
lambda i:"".join(str( (-~k)**2)[::-1]for k in range(i+1))[i]
.Python 2 , dylnan
Essayez-le en ligne!
Remarque: cette soumission de flic était buggée et ne fonctionnait pas pour les entrées inférieures à 5. Pendant que j'y étais, j'ai construit cette solution qui a la bonne distance de Levenshtein ET corrige le bug.
la source
Perl 5, (-p) Xcali
Mis à jour après commentaire, Levenshtein Distance entre
et
a 55 ans
Essayez-le en ligne
la source
-a
versus-p
. Les deux solutions que j'ai trouvées utilisent toutes les deux les mêmes indicateurs. Je pense que le drapeau serait simplement cloué sur le devant sans espace, mais je suis prêt à être influencé par d'autres sur ce point.Java 8, Kevin Cruijssen
Essayez-le en ligne!
Journal des modifications
.replaceAll()
parnew Long()
.la source
n->{String r="";for(int i=1;r.length()<=n+1;r+=new Long(new StringBuffer(i*i+++"").reverse()+""));return r.charAt(n);}
( 118 octets, 92 LD par rapport à mon autre réponse.)Octave , Stewie Griffin
Essayez-le en ligne!
J'essayais en fait ma propre réponse Octave et j'ai repéré la réponse existante. Le mien était déjà beaucoup plus court, donc l'ajout d'un commentaire à la fin était suffisant pour atteindre la distance requise de 63.
la source
input()
tout ce qui va avec ...PHP, Jo.
Essayez-le en ligne!
(Je prévoyais de changer l'inégalité afin d'obtenir une LD encore plus grande ...)
la source
6502 Code machine (C64), Felix Palmen
Peut aussi être une fissure "simple", mais elle semble fonctionner comme l'original.
Avoir le LD = 1 est tellement tentant d'essayer de le casser (désolé, Felix). :)
Démonstration en ligne , utilisation: sys49152, n où n est l'entrée indexée 0.
la source
E9
(une commande de soustraction) parEB
lequel n'est pas défini dans le code machine 6502, mais arrive à faire de même sur les puces NMOS 6502 et 6510. Ce programme pourrait par exemple planter sur le C64 DTV1. Mais il est peu probable de trouver un vrai C64 qui ne l'exécute pas correctement, donc il pourrait être considéré comme un crack valide? Je pourrais demander des avis sur la méta ....