C'est le fil des flics. Le fil des voleurs va ici .
Le dernier fil des flics-et-voleurs était déjà il y a 4 mois .
La tâche du flic
- La tâche du policier consiste à écrire un programme / une fonction prenant un entier positif (ou non négatif) et produisant / renvoyant un autre entier.
- Le flic doit l'indiquer si le programme est intolérant vers zéro.
- Le flic fournira au moins 2 échantillons d'entrées / sorties.
- Par exemple, si j'ai décidé d'écrire la séquence de Fibonacci , j'écrirais ceci dans ma réponse:
a (0) renvoie 0 un (3) retourne 2
- Le nombre d'exemples est à la discrétion du policier.
- Cependant, la séquence doit effectivement exister dans l'encyclopédie en ligne d'Integer Sequences® , donc aucun générateur de nombre pseudo-aléatoire pour vous.
:(
- Le flic peut cacher autant de caractères qu'il le souhaite.
- Par exemple, si mon programme est:
function a(n)
if n>2 then
return n
else
return a(n-1) + a(n-2)
end
end
- Alors je cacherais ces caractères comme je veux:
function a(n)
if ### then
########
else
######################
end
end
La tâche du voleur
- est évidemment de trouver le code source original.
- Cependant, tout code source proposé produisant le même ensemble de sorties est également considéré comme valide, tant qu'il se trouve également dans OEIS.
Conseils pour les flics
La fonction de recherche dans OEIS ne fonctionne que pour des termes consécutifs. Par conséquent, si vous souhaitez masquer votre séquence, laissez un trou n'importe où.- Apparemment, il n'y a aucun moyen de cacher la séquence. Gardez cela à l’esprit lorsque vous choisissez la séquence.
Votre score est le nombre d'octets dans votre code.
Le gagnant sera la soumission avec le score le plus bas qui n’a pas été craqué depuis 7 jours.
Seules les soumissions publiées en avril 2016 sont éligibles. Les soumissions postées plus tard sont les bienvenues, mais ne peuvent gagner.
Pour réclamer la victoire, vous devez révéler le code complet et la séquence OEIS (après 7 jours).
Votre message devrait être formaté comme ceci (NN est le nombre de caractères):
Lua, 98 octets
Sortie:
a(0) returns 0
a(3) returns 2
Code ( #
marque les caractères non révélés):
function a(n)
if ### then
########
else
######################
end
end
Si le code est fissuré, insérez-le [Cracked](link to cracker)
dans l'en-tête. Si la soumission est sécurisée, insérez "Safe" dans l'en-tête et affichez le code complet dans votre réponse. Seules les réponses ayant révélé le code complet seront éligibles.
la source
_
, fyia(1000)
? (qui fait partie de la séquence, mais trop volumineux pour pouvoir être consulté sur OEIS)Réponses:
Vim, 36 frappes - Sécuritaire!
(Remarque:
<n>
est l'endroit où vous tapez votre entrée)Voici le code sans rapport avec la génération de numéro:
Ce qui signifie que je révèle 5 caractères sur 19.
<n>
est l'entrée. Voici quelques exemples de résultats:Répondre
Ce code imprime les numéros Lucas ( A000032 ), qui sont tout comme la séquence Fibonnaci, sauf qu'il commence à la
2, 1
place de1, 1
. Voici les 15 premiers chiffres:Voici le code révélé:
Explication:
Explication de la macro:
Maintenant, il ne reste plus qu’à supprimer le deuxième numéro, car le premier numéro correspond au numéro de Lucas que nous voulons. Donc nous faisons
De plus, si je ne me trompe pas, il s'agit de la première soumission sécurisée! C'est plutôt cool.
la source
bD
à la fin, la sortie est constituée d'un seul nombre et de quelques espaces supplémentaires.05AB1E , 5 octets, coffre-fort
Dernier pour aujourd'hui: p. Sortie:
Code:
Les caractères masqués sont signalés par
_
. Essayez-le en ligne! -lien. Utilise le codage CP-1252 .Solution:
Explication:
Essayez-le en ligne! ou Essayez pour tous les cas de test! .
la source
g°<¹-
mais je ne trouve aucun moyen d'utiliserm
cette taille! D:Element , 7 octets, fissuré
Sortie:
Les caractères
#
sont cachés et sont tous imprimables en ASCII. Je pense que celui-ci est en fait assez difficile (pour n'avoir que 5 caractères manquants).Pour plus de commodité, voici les pages wiki Try It Online et Esolang .
Mon programme original était:
Le truc c'est que
la source
}
au lieu de]
?}
est correct et mon programme (pour autant que je sache) fonctionne dans toutes les versions d'Element.Jolf , 5 octets, fissuré
Sortie:
Tout cela est crucial, et j'ai montré 1 sur 5.
Code d'origine:
Essayez-le en ligne!
la source
JavaScript (ES7), 10 octets, fissuré
Sortie
Code
Testez-le dans Firefox tous les soirs. Le code est une fonction anonyme. Ce sera probablement facile car il n'y a que trois caractères cachés, mais au moins c'est court! : P
Mon code d'origine était:
mais après avoir forcé mon propre code pour trouver une solution, j'ai vite réalisé
pourrait également être utilisé. Cela fonctionne parce que
la source
**
équivaut àMath.pow
, j'ai effectué certains de mes propres tests et même une force brute. C'est assez difficile à craquer!05AB1E, 4 octets ( fissuré )
Exemple de sortie:
Et pour le code:
J'ai révélé le dernier. Devrait être assez facile cependant, j'ai eu beaucoup de mal à trouver une séquence :(
Tous les caractères cachés sont imprimables.
la source
MATL , 5 octets, fissuré
Les caractères cachés sont indiqués par
%
.Sortie:
Contribution
0
est valide.Code d'origine:
C'est,
la source
SWIFT, 55 octets, fissuré
*
marque un personnage cachéSortie:
La fonction accepte
0
la source
Ruby, 46 bytes, safe
Modifier pour ajouter une clause de non-responsabilité / des excuses: cette séquence commence par f [0], tandis que l'entrée OEIS commence par f [1]. Les valeurs sont les mêmes.
Code masqué (
#
n'importe quel caractère):Appeler comme
Sortie:
Solution:
Séquence:
Explication:
la source
05AB1E , 3 octets, fissuré
Sortie:
Code caché:
Essayez-le en ligne pourrait être utile.
la source
Hexagony , 7 octets, fissuré
Sortie:
Code caché:
Ou bien:
Essayez-le en ligne pourrait être utile.
la source
0
?PHP, 41 octets, fissuré
Ouais, enfin un autre défi Cops and Robbers. J'espère que je ne l'ai pas rendu facile.
Sortie
La source
Remarques
Fissuré
J'ai évidemment rendu la tâche facile et n'ai pas fourni suffisamment d'exemples. La séquence que j'avais en tête était A010054 :
Voici mon code source d'origine:
Il teste si l'entrée est un nombre triangulaire et les sorties
1
ou en0
conséquence.la source
Jolf, 11 octets, fissuré , A011551
Code d'origine:
Exemples:
la source
MATL, 9 octets, fissuré
Code:
Sortie:
a(0)
est valable.Fissuré
Séquence originale: A059563
Code d'origine:
la source
Java, 479 octets, fissuré
Les sorties:
(Les entrées sont fournies via des arguments de ligne de commande)
Code (
#
marque les caractères cachés):Le programme commence à l'index 0.
(Notez que SE remplace tous les
\t
retraits par 4 espaces, ce qui porte le total d'octets à 569. Cliquez ici pour voir le programme avec des\t
retraits au lieu des espaces.)Code d'origine:
(Même code, mais formaté normalement):
la source
i
la}
? Et veuillez spécifier la tolérance 0.a(9)
et /a(19)
ou,a(8)
eta(18)
selon quelle version de celui-ci sur OEIS vous avez pris?Octave, 34 octets, fissuré
Les sorties:
La séquence commence à
ans(1)
OEIS.la source
C, 71 octets fissurés
Sortie:
Cela fonctionne avec gcc, et est un programme complet. Il accepte 0 en entrée.
la source
Pyth, 70 octets, fissuré
#
sont les personnages cachésA été craqué, donc voici la version sans caractères cachés:
Exemples de sortie:
Bonne chance de trouver ceci sur OEIS, je n'ai personnellement pas réussi à le trouver à partir de ces exemples (même si la séquence est assez facile à repérer.)la source
Ruby, 38 octets, fissuré
Code obscurci (
#
peut être n'importe quel caractère):Sortie:
Multiplie l'entrée par 10 (A008592). Fonctionne pour tout nombre entier, y compris 0. p.ex.
la source
05AB1E , 5 octets, fissuré
Sortie:
Code obscurci:
Essayez-le en ligne! -lien.
la source
05AB1E , 4 octets, fissuré
Bien alors, je pense que je suis accro au CnR ... Code obfusqué (
_
indique un joker):Séquence:
La séquence dans OEIS commence à a (1) = 2.
Essayez-le en ligne! -lien
la source
Lua, 45 octets, fissuré
Un petit indice:
Sortie
Code
Utilise
#
pour cacher le code :).J'utilisais l'OEIS A007814 , avec le code suivant:
la source
Pyke , 15 octets, SAFE
Sortie
Code révélé:
Solution:
la source
C, 82 octets, coffre-fort
Fonctionne avec gcc, et c’est un programme complet qui lit son entrée depuis stdin et imprime sa sortie sur stdout. Ici, la séquence est
A004526, sol (n / 2).Solution:
Cela ne fonctionne que sur les petites machines Endian, et seulement si la taille
char
est de 1 octet.Et uniquement si l'octet supérieur à l'octet de poids fort
a
a la valeur 0. Je pense que cela est vrai pour gcc car, par défaut, les variables globales non initialisées sont placées dans le segment bss et les variables globales initialisées dans le segment de données (voir https: // stackoverflow.com/questions/8721475/if-a-global-variable-is-initialized-to-0-will-it-go-to-bss ).Donc, ne
a
va que dans bss (la seule autre variable globaleb
est initialisée et va donc dans le segment de données). Sia
n'est pas à la fin de bss, l'octet supérieur à l'octet le plus élevéa
est également dans bss et a donc la valeur 0.la source
05AB1E, 1 octet, fissuré
_
dénote le code caché.la source
Élément , 10 octets, fissuré
Sortie:
Il n'y a probablement que quelques façons de calculer cette séquence dans Element. J'ai trouvé une solution à 9 caractères, mais je me suis dit que cette solution à 10 caractères est en réalité plus difficile. Les
#
sont des personnages cachés.Pour plus de commodité, voici les pages wiki Try It Online et Esolang .
L'original était
la source
Pyth , 18 octets
#
marque des personnages non révélés.Sorties (à partir de
1
):Interprète en ligne
la source
05AB1E , 5 octets, fissuré
J'espère que cette soumission n'est pas aussi facile que les autres: p. Les sorties:
Code obscurci:
Contient cependant des caractères non-ASCII, utilise le codage CP-1252 .
Essayez-le en ligne! pourrait être utile: p.
la source
Jolf , 11 octets, fissuré .
Sortie:
Et le code partiellement caché:
Allusion:
La version fissurée n'est pas tout à fait la même que mon code d'origine. Je ne suis pas actuellement sur mon ordinateur, je ne l'ai donc pas exactement, mais c'était à peu près comme ceci:
(La seule partie dont je ne suis pas sûr est la
!m
. C'est ce qui vérifie si une variable est égale à zéro.)la source
Pyke , 6 octets, fissuré
Sortie:
Cela ne fonctionne pas avec N <1
Solution originale:
la source