Séquences de vol: flics


10

Ce sont des . Ceci est le fil des flics . Pour le fil des voleurs, allez ici .

J'ai remarqué un certain nombre de défis OEIS (Encyclopédie en ligne des séquences entières) depuis que j'ai rejoint le site. Il semble juste que nous ayons un défi de policiers et de voleurs qui détermine qui est le maître des séquences entières en ligne, une fois pour toutes.

Edit: Afin d'éviter des réponses triviales, les flics perdent 1/2 point pour chaque soumission qui est craquée. De plus, aux fins de ce défi, les séquences constantes ne sont pas autorisées. Cela s'applique uniquement aux solutions publiées après cette modification.

Flics

Écrivez un programme ou une fonction qui, sans aucune entrée, imprime de façon déterministe toute séquence de l' OEIS . En supprimant certains sous-ensembles de caractères, votre programme doit pouvoir imprimer une séquence OEIS différente lorsqu'il est exécuté dans la même langue. La nouvelle séquence doit être entièrement nouvelle, pas seulement la première sous un nom différent ou avec un décalage différent. Aucune de ces séquences ne peut être simplement une valeur constante répétée.

Vous devez fournir la première fonction, ainsi que le nom de la séquence OEIS afin que l'exactitude puisse être vérifiée. Ce n'est pas grave si le comportement devient discutable autour de la valeur MAX_INT de votre langue ou 256, la valeur la plus élevée étant retenue.

Voleurs

Supprimez des caractères de la soumission de certains Cop afin que votre nouveau programme génère toute autre séquence de l'OEIS. Fournissez la nouvelle fonction avec le nom de la nouvelle séquence OEIS. Voici un utilitaire pour vous assurer que votre soumission est valide (c.-à-d. Supprime les caractères sans aucune activité amusante. Ne vérifie pas la séquence elle-même.)

Il est dans votre intérêt de supprimer autant de caractères que possible de la soumission du Cop. Si un autre voleur (quelqu'un d'autre que le flic qui a créé le programme original) arrive et trouve une solution plus courte qui trouve une autre séquence différente , ce voleur vole votre point. (Notez qu'il ne suffit pas de jouer au golf avec les personnages et d'imprimer la même séquence pour voler le point.)

Règles et notation

Si, après une semaine, personne n'a été en mesure de casser votre solution, vous pouvez marquer votre solution comme sûre en fournissant le deuxième programme avec le nom de la séquence qu'il génère.

Vous obtenez un point pour chaque publication sûre et un point pour chaque soumission que vous craquez. Les flics perdent 1/2 point pour chaque soumission fêlée. Notez qu'un autre voleur peut voler votre point de la soumission fissurée à tout moment en fournissant un programme plus court qui produit une séquence différente.

Les flics ne peuvent publier qu'un seul défi par langue et par personne.

Le joueur avec le plus de points à 12:00 UTC le 7 juillet gagne.



1
Ce défi est extrêmement similaire. Je ne vais pas le duper, mais je pense que c'est probablement un doublon.
FryAmTheEggman

1
@FryAmTheEggman ah, je n'ai pas vu ça. Je ne pense pas que ce soit tout à fait un dupe car entraver la distance = / suppressions et les voleurs ont beaucoup plus de latitude pour trouver des réponses involontaires, mais c'est plus similaire que je ne le souhaiterais.
vroomfondel

1
Merci, @rogaos. C'était la réponse que j'attendais à la première question donc pas de soucis. J'ai quelques idées pour les flics, j'espère que j'aurai quelques minutes le matin pour les travailler.
Shaggy

3
Je pense que le golf contre la distance de Levenstein rend cela sensiblement différent. Les flics doivent considérer des solutions potentielles radicalement différentes.
Nathan Merrill

Réponses:



1

C, A000217, 239 octets de craquage

Ce n'est pas donc je n'ai pas pris la peine.

#include <stdio.h>
#include <limits.h>
int main()
{
    int i, n, temp = 0;
    for(i = 0; i < INT_MAX; i++)
    {
        n = 0;
        temp = i;
        while(temp)
            n+=temp--;
        printf("%d, ", n);
    }
    return 0;
}

Séquence: https://oeis.org/A000217


1
@rogaos Celui qui est craqué à partir de ce code n'est pas constant (au moins, celui que je connais)
Govind Parmar

Modifié en octets pour la commodité du voleur.
Stephen


@rogaos Je pense que cela pourrait être mieux réglé que le mien en le rendant constant, mais je pense qu'il est plus intéressant d'être non constant, alors je voterais pour que cela ne fasse pas exception à la règle constante
nmjcman101

1
@ nmjcman101 assez juste, car Govind ne voulait pas que ce soit une constante. Suppression de mon commentaire ci-dessus.
vroomfondel

1

Python 2, 273 octets, fissuré

Séquence initiale: A004442

import zlib, base64;exec(zlib.decompress(base64.b64decode('eJzLtDUAAAHoANc=')))
while True:print eval(zlib.decompress(base64.b64decode('eJwzAgAAMwAz')))^eval(zlib.decompress(base64.b64decode('eJwzjssEAAHBAPs='))),;exec(zlib.decompress(base64.b64decode('eJzL1LY1BAAC1AED')))

Essayez-le en ligne!



2
méga cracké (je pense)
Stephen

1

MOO, 86 octets, sûr

a=0;b=1;while(a>-1)a=$math_utils:sum(a,a);a=max(1,a);notify(player,tostr(a));endwhile

Imprime des puissances de deux (A000079).

Solution:

a = 1; while (a> -1) a = $ math_utils: sum (a, a, a); notify (player, tostr (a)); endwhile (qui imprime des puissances de 3 (A000244) à la place)


0

PHP , 20 octets fissuré

for(;;)echo+!$i,",";

Essayez-le en ligne!

séquence d'impression https://oeis.org/A000012


Votre version originale craque cette version.
vroomfondel


Aviez-vous une solution en tête pour la première? Si oui, vous devez revenir en arrière.
vroomfondel

1
@rogaos, j'ai craqué la version actuelle sans voir qu'elle avait changé. Revenir en arrière causerait un gâchis.
Peter Taylor

1
@rogaos Vous devez interdire les séquences qui renvoient une valeur constante
Jörg Hülsermann

0

cQuents (ancienne validation), 10 octets, craqué

=0,1,1:z+y

C'est toujours un langage lourdement WIP, mais j'ai corrigé l'interpréteur pour qu'il fonctionne. Cliquez sur le nom de la langue pour le lien Github.

Cela génère la séquence de Fibonnacci : A000045

Explication:

(car je n'ai pas de documentation et je ne m'attends pas à ce que vous lisiez mon code d'interprète)

=0,1,1      Set start to [0,1,1]
      :     Mode: sequence
       z+y  Each term is the previous two terms added together
            Because there is no input, output the whole sequence

Si des séquences constantes étaient toujours autorisées, ce serait super facile à voler.



Cette langue est excellente
vroomfondel

@rogaos ce n'est pas encore fait, loin de là, mais merci :)
Stephen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.