C'est un défi de flics et de voleurs . Le fil des voleurs est ici .
Une question intéressante à considérer est la suivante:
Si j'ai une séquence de nombres, combien dois-je fournir avant de savoir de quelle séquence je parle?
Par exemple, si je veux parler des entiers positifs dans l'ordre à partir de , je pourrais dire , mais est-ce vraiment suffisant?1 , 2 , 3 , …
J'ai une façon de répondre à cette question, et en tant que golfeur de code, cela implique le golf de code. Vous avez fourni suffisamment de termes d'une séquence si le code le plus court qui produit ces termes produit tous les termes de la séquence. Si nous pensons à cela en termes de code-golf, cela signifierait que vous avez fourni suffisamment de cas de test pour que le code le plus court qui réussit les cas de test fasse la tâche souhaitée.
Défi
Ce défi est un défi de flics et de voleurs . Dans lequel les flics présenteront des cas de test et les voleurs devront trouver un moyen plus court d'usurper les cas de test autres que la séquence prévue. Les flics présenteront les choses suivantes:
Un morceau de code qui prend un entier non négatif en entrée et produit un entier en sortie. Ce code définira votre séquence. Votre code n'a pas besoin de prendre en charge 0 comme entrée, en choisissant plutôt de prendre 1 comme entrée la plus petite. Il devrait être clair si tel est le cas dans votre réponse.
Toute exigence de plate-forme ou de langue pertinente pouvant affecter la sortie, par exemple la taille de l'entier long.
Un nombre , ainsi que les premiers termes de la séquence tels que calculés par le code. Ceux-ci serviront de "cas de test".n
Nous vous encourageons à expliquer ce que fait votre séquence et à lier OEIS si elle existe, mais c'est votre code qui définit la séquence et non la description.
Les voleurs trouveront un programme dans le même langage qui est plus court que celui présenté et réussit tous les cas de test (produit la même sortie pour les premières entrées que le code du flic). Le code du voleur doit également différer en sortie du programme du flic pour un nombre supérieur à .n
Les flics doivent être capables de déchiffrer leurs propres réponses avant de les soumettre.
Après une semaine, un flic peut révéler son crack et marquer sa réponse comme Sûr. Les réponses marquées comme telles ne peuvent plus être craquées.
Notation
Les réponses des flics seront notées par le nombre d'octets avec moins d'octets étant meilleurs. Les réponses fissurées marquent un score infini.
la source
Réponses:
cQuents , 4 octets ( fissuré )
Essayez-le en ligne!
Voici huit (
n=8
) cas:Explication du code:
Ainsi, la séquence est
1,2,3,4,5 ...
, elle est jointe""
pour devenir12345 ...
, et::
signifie qu'elle imprime jusqu'à l'entrée.la source
Python 3 ,
6657 octets ( fissuré )cracké par xnor
également cracké par Cat Wizard avant une modification
Essayez-le en ligne!
Bonjour! Voici une séquence à craquer pour . Il donne ces 40 premiers éléments avec une indexation 0, ce n'est pas une séquence OEISn = 40
la source
Python 2 , 44 octets ( craqué )
Essayez-le en ligne!
Les nombres premiers. Quelle séquence pourrait être plus pure? Ou plus exagéré ? Votre objectif est de produire les 50 premiers nombres premiers de
n=1
ton=50
.Le code est un générateur de théorème de Wilson copié exactement à partir de cette astuce .
Les différentes valeurs de la séquence alternative ne sont pas dues aux limitations de la machine comme les débordements et la précision. Pas de bibliothèques tierces.
Fissurée par Arnauld, @PoonLevi, et M. Xcoder.
la source
Wolfram Language (Mathematica) ,
3934 octets (sûr)Essayez-le en ligne!
Semble simple, la solution devrait être difficile.
1 indexé et . Cette séquence n'est pas disponible sur l'OEIS.n=99
Cette liste ci-dessus est égale à:
Voici un modèle pour vérifier votre solution: Essayez-le en ligne!
Fissure prévue
la source
Haskell , 29 octets (fissuré: 1 , 2 )
Essayez-le en ligne!
C'est A093005 : .a ( n ) = n ⌈ n2⌉
Cas de test pour , soit :0 ≤ n ≤ 20
map a [0..20]
Solution prévue (20 octets)
Essayez-le en ligne! Diffère à , avec a ( 23 ) = 276 et b ( 23 ) = 253 .n = 23 a ( 23 ) = 276 b ( 23 ) = 253
Cette fonction équivaut à . Grâce au plafond, les deux fonctions se chevauchent pour des arguments entiers compris entre 0 et 22 :b ( n ) = n l e n ( 3 n) = n ⌈ l o gdix( 1 + 3n) ⌉ 0 22
la source
la source
JavaScript (ES6), 12 octets ( fissuré )
Celui-ci est assez simple.
Essayez-le en ligne!
C'est A139275 :
Et selon les règles du défi, il doit diverger au-delà.
la source
n=>8*n*n+n
diffère pourn=94906273
, est-ce une fissure valide?n=9
cependant.|
au lieu de+
)Malbolge, 10 octets
Notez que le code se termine par un octet 0x14 (contrôle de périphérique 4).
Essayez-le en ligne!
La séquence indexée à fissurer est 0
[9, 19, 29]
.la source
> <> , 276 octets ( fissuré )
Essayez-le en ligne! Appelez celui-ci avec
-v n
pour obtenir le n-ième élément (1-indexé)Essayez-le en ligne! Appelez avec
-v n
pour obtenir la liste des n-1 éléments à partir de 1Interprète de poisson en ligne
Long et complexe, il s'agit d' OEIS A004000 .
la source
n
(comme requis par la question)?Gelée , 6 octets , sûr!
Cela définit une séquence indexée zéro où:
1,1,1,2,2,3,4,5,6,7,8,9,10,11,12,13
Essayez-le en ligne! ( voici une version à valeur unique)
Ce n'est pas actuellement dans l'OEIS (bien que A34138 fonctionnera comme une fissure s'il est assez court)
Fissure prévue
la source
JavaScript, 26 octets ( fissuré )
OEIS A007660
La sortie est les 6 premiers éléments avec 0 indexation (1,1,2,3,7,22)
(légèrement décalé par rapport à ce que l'OEIS a répertorié)
Il suffit de créer une réponse simple à résoudre pour lancer les choses
Essayez-le en ligne!
la source
JavaScript, 16 octets ( fissuré )
Les entrées requises pour correspondre sont 0,1,2,3,4.
Essayez-le en ligne!
la source
APL (Dyalog Unicode) ,
1715 octetsEssayez-le en ligne!
Les 13 premiers termes (basés sur 1) sont:
Astuce: La solution envisagée utilise l'une des fonctions intégrées les moins utilisées.
la source
Husk , 5 octets ( craqué par Jonathan Allan )
Essayez-le en ligne!
Explication
Solution
la source
JavaScript, 25 octets ( craquage 21 octets)
Séquence de 7,11,12,13,13 suivie de 14 infinis.
Solution prévue 22 octets:
Essayez-le en ligne!
la source
JavaScript, 22 octets ( fissuré )
Il est indexé à 0 et la précision est requise jusqu'à une entrée de 15. Il ne peut pas être trouvé sur OEIS
Ma solution 20 octets
Essayez-le en ligne!
la source
> <> , 42 octets, fissuré
Essayez-le en ligne!
Séquence à craquer (index 0):
101786, 5844, 19902
(pas sur OEIS).Solution prévue , pour référence.
la source
4
Perl 6 , 53 octets
Essayez-le en ligne!
Bloc de code anonyme qui renvoie la séquence de Kolakoski indexée sur 0 ( OEIS A000002 ). Des solutions sont nécessaires pour correspondre aux 130 premiers éléments, de sorte que pour certains,
n > 129
il diffère de la séquence de Kolakoski.la source
Pascal (FPC) , 86 octets ( craqué )
Essayez-le en ligne!
Ma solution originale était
mais r_64 l'a rendu encore meilleur !
la source