Résolution de séquences de permutation secrètes

12

Il s'agit d'un défi entre , le fil des flics se trouve ici .

C'est le fil des voleurs, votre travail ici est de prendre des soumissions sur le fil des flics et d'essayer de trouver les séquences cachées. Si vous trouvez une séquence qui peut être substituée dans le code d'origine pour calculer cette séquence, c'est une fissure valide. Veuillez informer les flics de vos fissures au fur et à mesure qu'elles se produisent afin qu'elles puissent mettre à jour leurs réponses.

Notation

Votre score sera le nombre de fissures réussies que vous avez faites, plus de fissures seront meilleures.

Ad Hoc Garf Hunter
la source
Pourquoi ne pas simplement laisser les voleurs commenter la séquence # dans le fil des flics?
Lynn
5
@Lynn Je pense que les voleurs devraient pouvoir obtenir des votes positifs pour leur travail dans le cracking des réponses. Je préfère le format à deux fils pour cette raison.
Ad Hoc Garf Hunter

Réponses:

4

Python 3 : M. Xcoder , A010709

n=int(input())
print(sum(1for i in"A010709"if i>"0")*-~n//-~n)

Essayez-le en ligne!

De plus, voici une version golfée de l'original. : P

lambda n:sum(1for i in"A017016"if i>"0")*-~n//-~n
totalement humain
la source
1
Bien joué ... Je savais que ce serait bientôt craqué
M. Xcoder
4

Python 3, poivre

A018226

Le code d'origine a mis le nom de la séquence dans un commentaire. Étant donné que le commentaire ne peut probablement pas affecter le code, je pensais que la séquence cachée devait être une sous-séquence de l'original. Une recherche rapide des premiers termes du couple a fait apparaître A018226. Puisqu'il s'agit d'une sous-séquence, le code fonctionne pour les deux. A018226 est même répertorié sur la page de la séquence d'origine si vous regardez en arrière

Une façon de généraliser la séquence des nombres magiques dans A018226.

Ad Hoc Garf Hunter
la source
C'était la solution envisagée. J'ai eu l'idée d'essayer de faire croire aux gens que c'était impossible en mettant la séquence dans un commentaire.
pppery
@ppperry Le commentaire est ce qui l'a révélé :). J'ai pensé que ça devait être une sous-séquence. Bon amusement quand même!
Ad Hoc Garf Hunter
Peut-être aurais-je pu mieux cacher ça, mais c'est quand même une torsion intéressante par rapport aux réponses typiques à ce genre de choses; sur les chiffres plutôt que sur le code.
pppery
3

C #, TheLethalCoder

A000578 (cubes)

Une tâche facile - elle a également été publiée ici .

Hirsute
la source
1
Bien sûr, les gens devraient cesser de publier les réponses de l'autre défi :)
M. Xcoder
3

dc , Bruce Forte

Craqué avec A027480 .


la source
Bien joué! Qu'est-ce qui l'a trahi?
ბიმო
2
Les opérations de module limitent le nombre de séquences générées. Dans ce cas, 8 × 9 = 72. Donc, j'ai branché la formule dans une feuille de calcul et les avons toutes générées. Seule une poignée de séquences a produit tous les nombres entiers pour tous les termes, et de celles-ci ont fait l'hypothèse que seules les séquences avec tous les termes positifs seraient intéressantes. Ensuite, il s'agissait de rechercher les séquences et de rebrancher le numéro de référence. Cinq, trois avaient des entrées correspondantes, la troisième correspondait à toutes les entrées.
Si seulement je n'avais pas divisé par 2; P
ბიმო
2

Python 2 : officialaimm , A055642

lambda x:len(`x**(sum(map(int,'A055642'[1:]))==22)`) 

Essayez-le en ligne!

Il m'a fallu un certain temps pour trouver la séquence ... Principalement parce que la recherche OEIS est super lente pour moi. o0

totalement humain
la source
1
Bien fait. (y)
officialaimm
2

Python 3 , poivre , A000027 -> A004526

f=lambda a,n=((int("A004526",11)-0x103519a)%100%30+1)/2:a//(14-n)

Essayez-le en ligne! (imprime les premiers termes des deux. Notez que les deux séquences ont des décalages de 1 et 0 respectivement, donc la première a un zéro en tête - ça m'a un peu égaré!)

Jonathan Allan
la source
2

Python 3.6 , RootTwo

L'original est A005843
fissuré avec A001107

Essayez-le en ligne

Le code évalué de l'original (moins les commentaires) est n*2, de la version craquée est 4*n*n-n*3.

Après avoir filtré les erreurs de syntaxe, les variables non déclarées, les divisions nulles, etc., il n'a pas fallu trop de temps pour parcourir la liste restante. Il y a eu quelques faux positifs (comme A004917) que j'ai dû filtrer à la main en ne vérifiant que les premiers chiffres, mais ce n'était pas trop courant.

De plus, A040489 essaie de calculer n**3436485154-n, ce qui m'a un peu ralenti. : P

Phlarx
la source
Félicitations. C'est ça. L'avez-vous forcé brutalement? J'ai essayé de faire quelques résultats d'ID de séquence incorrects en Python valide pour ralentir les choses, mais pas assez je suppose.
RootTwo
@RootTwo Je l'ai fait principalement par force brute. J'avais aussi d'autres heuristiques là-dedans, mais rien de très complexe. Il a fallu quelques minutes pour trouver 1107, environ 8 pour atteindre 5843. Par curiosité, je suis allé jusqu'à 50000. Aucun autre match de cette gamme. Je suppose que 15 à 20% étaient du python valide.
Phlarx