Il s'agit d'un défi entre flics et voleurs , le fil des voleurs peut être trouvé ici .
Votre tâche consiste à écrire du code qui génère une séquence OEIS et contient le nom de la séquence dans le code ( A______
) et génère une deuxième séquence distincte lorsque le nom de la séquence dans le code est remplacé par le nom de la deuxième séquence.
Voici un exemple dans Haskell qui fonctionne pour A000217 et A000290 .
f x|last"A000217"=='0'=x^2|1>0=sum[1..x]
Vous devez ensuite révéler l'une des deux séquences et le code gardant secret la deuxième séquence. Les voleurs tenteront de comprendre quelle est la séquence cachée. Si un voleur parvient à déterminer quelle est votre séquence (ou une autre séquence qui correspond aux critères), vous répondez est craqué. Si personne ne le fait dans la semaine suivant la publication de votre réponse, vous pouvez marquer votre réponse comme sûre et révéler la solution envisagée pour vérification. Les réponses sûres ne peuvent pas être fissurées.
Entrée sortie
Pris d' ici
Votre code peut être une fonction ou un programme complet qui prend n via une méthode d'entrée standard et génère le n ème terme de la séquence indexé par l'index fourni sur la page OEIS.
Vous devez prendre en charge toutes les valeurs fournies dans les fichiers b OEIS pour cette séquence, tout nombre ne figurant pas dans les fichiers b n'a pas besoin d'être pris en charge.
Notation
Votre score sera le nombre d'octets dans votre code, avec moins d'octets étant mieux.
la source
Réponses:
Python 3, 59 octets, A162626 , craqué par Wheat Wizard
C'estétait censé être impossible, non?la source
Python 3 , 62 octets, A017016 ( fissuré )
Essayez-le en ligne!
la source
Japt , 13 octets ( fissuré )
Il y a (au moins) une autre solution, si quelqu'un d'autre veut s'y attaquer.
Essayez-le en ligne
A000012
Explication
la source
(sum_of_numbers_in_oeis(excluding 'A') + 1)%4
. : DMATL ,
3029 octets ( fissuré )A077430
Essayez-le en ligne!
-1 octet grâce à @Sanchises
la source
I
pour 1 octet.I
est initialisé à 3l
(un) etO
(zéro), vous ne devriez presque jamais avoir à utiliser d'espace dans vos programmes MATL. Sur une note connexe, consultez également le tableau 7, qui contient de nombreuses constantes prédéfinies utiles (bien que méfiez-vous par exemple4X2Z%
d'un raccourci1Z%
)C #, 28 octets ( fissuré )
Fonctionne avec A000290 .
Un moyen facile de commencer.
Essayez-le en ligne!
la source
Python 2, 43 octets, A000079 ( fissuré )
Essayez-le en ligne
la source
C #, 75 octets, ( fissuré )
A000244
Essayez-le en ligne!
la source
% 2
- donc le programme ne peut littéralement faire que deux choses , selon le résultat: un pour0
et un pour1
. J'ai donc mis un nombre impair à sa place, et le défi s'est un peu craqué.Python 2 , 53 octets, A000012 [fissuré]
Essayez-le en ligne!
la source
Python 3, 65 octets, A000027, fissuré
Ouais l'arithmétique folle!
la source
n=12
ce qui semble correct, mais le résultat sera faussé par un index - ai-je craqué avec un bug ou tombé pour un hareng rouge très intelligent?a(n) = floor(n/2)
; la séquence répertoriée commence par 0. C'est toutefois la solution envisagée.Smalltalk, 148 octets, sûr!
A018253
Prend un entier comme entrée, la séquence est basée sur 1.
la source
Haskell, 226 octets, sûr!
Je ne sais pas si c'est intelligent ou laid, peut-être les deux ...
Alors maintenant, cela calcule A001906 , mais il devrait être capable de générer beaucoup de séquences.
Essayez-le en ligne!
Solution: A131078
Vous vous demandez si cela a été trop difficile ou si personne n'a essayé?
o 1
too 6
sont les chiffres du numéro de série,m
est une liste d'opérations.l
est une liste infinie définie récursivement avec les deux premières valeurs dérivées du numéro de série et les autres calculées à partir des deux précédentes en utilisant une opération fixe à partir dem
. Dans le cas de A001906, la définition peut être simplifiée pour(flip(+))
est (généralement) identique à(+)
, et nous obtenons une définition bien connue (mais pas la plus courte) des nombres de Fibonacci. Ce schéma de récursivité pourrait calculer directement A001906, mais cela nécessite une opération plus compliquée que celles dem
. Autre exemple: l'utilisation des valeurs de départ1
et2
et l'opération(*)
donne la série A000301 . Il est calculé par notre code lorsque le numéro de série est remplacé par?103206
.Enfin, la fonction
f
indexe dans la listel
, mais seulement après une certaine transformation de l'entrée. Pour A001906, la partie centrale se réduit à(*)2
, de sorte que nous obtenons uniquement les numéros de Fibonacci à des positions paires. La bonne partie devientflip const 1
, qui est la fonction d'identité et n'interfère plus.Pour la solution
A131078
, les valeurs de départ del
sont1
et0
, et l'opération estflip const
, ce qui permet d'l
être1,0,1,0,...
. La partie médiane def
devient(flip div 4)
, résultant en1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,...
. Cela ressemblait à une bonne réponse, mais j'ai vu que A131078 commence àn=1
, alors j'ai ajouté la bonne partie def
, qui est iciflip(-)1
de soustraire une.Mon idée était de le rendre un peu obscurci en l'utilisant
m
et en l'indexant avec des chiffres des numéros de série, puis il est devenu plus obscurci (termes compliqués) pour le faire fonctionner (peut-être que je ne cherchais pas assez longtemps pour des alternatives); puis il est devenu encore plus obscurci (partie droite def
) pour que cela fonctionne vraiment. Je pense que certains deviner et essayer auraient pu le faire craquer.la source
0
. C'est bien parce que ça ne fait que commencer1
! Commencer à1
devrait également supprimer certaines des erreurs de "division par zéro". Je suis surpris par des exemples qui courent pour toujours. Peut-être que la transformation d'index crée de très grandes valeurs dans ces cas ...dc , 52 octets, fissuré
Celui-ci fonctionne avec A000217 :
Essayez-le en ligne!
la source
Python 3.6, 114 octets, craqué
A005843
g(n)
renvoie la n-ième valeur de la séquence pour n> = 0.random.choices(s,k)
est nouveau dans Python 3.6, il renvoie lesk
éléments sélectionnéss
avec remplacement.la source
Chip , 67 octets, craqué par Yimin Rong
A000012 . Un peu effronté, oui.
Essayez-le en ligne!
Utilise des octets pour les E / S, donc j'étais sympa et j'ai construit un wrapper bashy / pythony.
.
la source