Fils de flics d'anagrammes polyglottes

44

Ce défi a deux fils. C'est le fil des flics. Le fil des voleurs est situé ici .

Votre défi consiste à choisir une séquence OEIS et à écrire deux programmes complets dans deux langues différentes qui produisent ce nième élément de la séquence lorsque n est fourni via STDIN ou une autre forme d’entrée standard, où n est un nombre positif. Cependant, vos deux programmes doivent être des anagrammes, ce qui signifie que chacun peut être réorganisé à partir des lettres de l'autre.

Les programmes doivent sortir le nombre décimal du nombre suivi de l'espace en blanc facultatif vers STDOUT. Les programmes peuvent générer des sorties vers STDERR, mais cela doit être ignoré. Si c'est le cas, vous devez indiquer clairement que c'est le cas.

Si vous le souhaitez, vous pouvez également générer un code de caractère. Toutefois, si vous le faites dans votre solution cachée, vous devez l'indiquer dans le corps de votre soumission.

Vous présenterez ensuite le numéro OEIS, le code source et le nom d’ une langue dans laquelle il est.

Les voleurs craqueront votre soumission s’ils trouvent une anagramme de la soumission originale dans une langue autre que celle que vous avez déjà présentée. Pour casser une réponse, ils doivent uniquement trouver une langue et un programme qui produit la séquence et qui est un anagramme de l'original, pas nécessairement la réponse à laquelle vous pensiez.

Ainsi, vous êtes incité à rendre aussi difficile que possible la recherche de toute langue effectuant la tâche en utilisant leur liste de symboles.

Notation

C'est du donc le programme le plus court non fissuré est le gagnant.

Les langues

Les langues seront considérées différentes si les deux solutions proposées ne complètent pas la tâche dans les deux langues. Cela inclura différentes versions de la même langue, à condition que ni la solution du policier ni celle du voleur ne produisent le résultat correct dans la langue de l'autre.

En d'autres termes, si les deux solutions 1 et 2 sont dans les langues A et B, la solution 2 ne doit pas produire la sortie correcte dans la langue A et la solution 1 ne doit pas produire la sortie correcte dans la langue B.

sécurité

Une fois que votre soumission a été supprimée pendant une semaine, vous pouvez poster votre solution et déclarer votre publication sûre. Si, après une semaine, vous choisissez de ne pas publier de solution, votre réponse risque d’être fissurée.

Assistant de blé
la source
4
Pour parcourir les séquences aléatoires d'OEIS et trouver des
mbomb007
Comment cela fonctionnerait-il avec les langues qui aiment utiliser des drapeaux pour l'interprète, tel que perl? Sont-ils disqualifiés? Les drapeaux sont-ils comptés dans le code? Les drapeaux sont-ils "gratuits" (non inclus dans le code ou divulgués du tout)?
Emigna
Le programme caché peut-il sortir avec une erreur (après avoir généré la sortie)? Cela devrait-il être indiqué dans la réponse?
Luis Mendo
1
Je ne sais pas si cela pourrait être utile à quelqu'un d'autre, mais cela met en évidence tous les caractères manquants restants ou ceux en double: codepen.io/anon/pen/BQjxRK
Dom Hastings
1
Ce serait bien s'il y avait un fragment de pile pour montrer les réponses non chiffrées, la plus ancienne en premier.
mbomb007

Réponses:

15

Python 2, 118 octets, A042545 fissuré

i=input();s=1/(801**.5-28);a=[0,1]
for p in range(i):a+=[a[-2]+a[-1]*int(s)];s=1/(s-int(s))
print a[i]#,,,.//000fhlmo|

Je n'avais pas envie d'implémenter une séquence triviale, alors j'ai décidé d'y aller avec mon ID utilisateur PPCG. J'ai d'abord écrit ceci dans l'autre langue, ce qui devrait vous donner une idée de ce qu'est cette langue, même si je parierais 100 dollars que cela sera déchiffré dans une langue de golf avant de l'être dans l'autre langue prévue.

Remarque: En raison d'erreurs de précision en virgule flottante, cette précision est limitée à 14. La solution envisagée est la même.

Solution prévue, JavaScript (ES7)

for(i=prompt(),s=1/(801**.5-28),a=[1,0];i--;s=1/(s-n))
  n=s|0,a.unshift(a[1]+a[0]*n);
alert(a[0])  //#+2:[]giiiiinnpt

Fonctionne à peu près de la même manière que la solution Python, bien que la séquence soit stockée plus grand en premier plutôt que plus petit en premier car JS ne prend pas en charge l’indexation négative.

ETHproductions
la source
2
Je ne parviens pas à obtenir le cas de A042545 (15). OEIS indique qu'il s'agit de 53000053, mais votre programme indique qu'il s'agit de 27666361 (au moins sur ma machine).
Boboquack
@boboquack La sortie pour 16est en réalité 53000053, mais après cela, il ne semble pas y avoir de termes correspondants. Je me demande pourquoi ...
ETHproductions
Peut-être une erreur de virgule flottante qui empire progressivement?
Boboquack
3
Fissuré.
Dennis
1
Bon sang, j'avais raison! :( C'était aussi proche que je suis arrivé: gist.github.com/dom111/bd9be933cb8ccd0e303601bf73d525b6 Merci pour la séance d' entraînement de toute façon, je avais besoin , |()mais ne parvenait pas à eux!
Dom Hastings
10

Brain-Flak, 24 octets, A000290 , Coffre-fort

Encore une autre solution carrée. Cette fois, il n'y a que des parenthèses

({(({}[()])()){}[()]}{})

La solution envisagée était Brain-Flueue , une version de brain-flak qui utilise des files d'attente au lieu de piles. Le programme était:

({(({})[()]){}}{})[()()]

Les langues sont considérées comme distinctes car aucun des deux programmes ne s’arrête lorsqu’il est exécuté dans l’autre langue.

Assistant de blé
la source
Cela fonctionnerait dans Glypho si une entrée / sortie utilisant un code de caractère était autorisée ...
jimmy23013
@ jimmy23013 qu'est-ce que Glypho?
Wheat Wizard
6
esolangs.org/wiki/Glypho ((([{}{}{]]}[)))((){))(}
jimmy23013
@ WheatWizard S'il est fissuré, pouvez-vous modifier la réponse pour le montrer?
mbomb007
@ mbomb007 Il n'est pas fissuré
Wheat Wizard
7

Python 2, 38 octets, A000290 fissuré par Emigna

def e(X):return X*X
print e(input())##

Ce sera probablement très facile à craquer. Je poste principalement ceci comme point de départ.

Solution originale dans CJam:

ri:XX*e#def ()return X
e#pnt (input())
Loovjo
la source
2
Cracked
Emigna
7

CJam , 7 bytes, A005843 Cracked!

ri2*e#^

Ceci est une 2*nséquence de base .

Explication:

r          e# read input
 i         e# convert to integer
  2*       e# multiply it by 2
    e#^    e# this is a comment that is ignored by the interpreter

Essayez-le en ligne!


Solution d'origine, carotte

#^i*2er

La carotte est un esolang créé par moi. J'ai arrêté de le développer il y a longtemps. La raison pour laquelle j'ai choisi cette solution est parce que j'espérais qu'il serait difficile pour d'autres langues de commenter les parties inutiles du code.

Explication:

#^            This pushes the input to the stack (anything before the ^ is the stack)
  i           Convert stack to integer
   *2         Multiply it by 2
     er       These are ignored because they are not Carrot commands
              Implicit output

Essayez-le en ligne!

Kritixi Lithos
la source
1
ri#e^*2fonctionnerait en gelée si *étaient multiplication au lieu de l'exponentiation. Si proche ...
ETHproductions
3
Craqué :).
Adnan
J'avais tout sauf le rpyth. Excitant de voir le code original pour celui-ci.
Emigna
1
@Emigna j'ai ajouté le code original
Kritixi Lithos
6

2sable , 15 octets, A000290 , fissuré!

Saut dans le même train n 2 : p.

*?"!#$&<=@\^{|}

Essayez-le en ligne!

Adnan
la source
2
On dirait presque Malbodge avec les symboles dans cet ordre: P
ETHproductions
3
Cracked: D
Conor O'Brien
1
@ ConorO'Brien Hahaha, j'étais à peu près certain que ce n'était pas possible en Jelly, Pyth, 05AB1E et MATL. Bon travail! :)
Adnan
5

Brain-Flak, 44 bytes, A000290 fissuré

<({({})({}[()])}{}))()()()turpentine/"*"*4splint>

Essayez-le en ligne!


Solution originale, Python 2

print(input()**(len(set("{}{}{}[]()<>"))/4))
Assistant de blé
la source
2
Cracked :)
Adnan
Maintenant je suis vraiment curieux. Quelle était votre solution initiale? Je peux dire que c'est python parce que je vois len set inputet print(et parce que je sais que tu aimes le python), mais je ne peux pas comprendre comment cela correspond à un chiffre
DJMcMayhem
@DrMcMoylex ajouté
Wheat Wizard,
5

Python 2, 25 octets, A000583 , fissuré

Y=input("");print`Y**4`,X

Ce programme se ferme avec une erreur après avoir imprimé le résultat.


Mon code caché (substantiellement différent de la solution fissurée!):

En fait , 25 octets

4,n`*`Y")ii(*nppruttY;="X

Essayez-le en ligne!

Explication:

4,n`*`Y")ii(*nppruttY;="X
4,n                        input, repeat 4 times
   `*`Y                    do * until the stack stops changing (fixed-point combinator)
       ")ii(*nppruttY;="X  push this string and immediately pop and discard it
Mego
la source
Craqué
Adnan
5

Python, 118 octets, A042545 , Coffre-fort

i=int(input());s=pow(801.0,0.5);a=[0|0,1]
for Moshprtflmah in range(i):s=1./(s%1);a+=[a[-2]+a[-1]*int(s)];
print(a[i])

Cette fois, cela fonctionne à la fois en 2 et 3. Et il n'y a pas de commentaires! Que vas-tu faire?

Remarque: comme avec l'ancienne solution, cela perd de la précision après les 15 premiers termes en raison d'erreurs arithmétiques en virgule flottante.

Solution envisagée, JavaScript (ES6)

giiiiinnnnprt:
i=prompt([n=+2]);s=Math.pow(801,.5);for(a=[1,0];i--;a.unshift(a[1]+a[0]*(s|0)))s=1/(s%1)
alert(a[0])   

Bien que j'ai gardé plusieurs anciennes versions, j'ai réussi à perdre cette copie, mais heureusement, la reconstituer à partir des autres n'a pas été trop difficile. Je vois maintenant que prtdans les deux programmes, il y avait un extraterrestre qui aurait pu être joué. Tant pis.

ETHproductions
la source
Je pensais vous rappeler que vous pouvez marquer ceci comme sûr si vous le souhaitez.
Wheat Wizard
@ WheatWizard Merci, j'ai ajouté ma solution prévue.
ETHproductions
5

Python 2, 124 octets, A144945 , [Safe]

Cracking cela vous aurait valu une récompense de 500 reps! Trop tard!

Nombre de façons de placer 2 reines sur un échiquier n X n afin qu'elles s'attaquent.

J'espère que ce n'est pas trop facile. J'ai arrangé mon code pour que les espaces soient clairement visibles. Ce ne sont que des espaces et des nouvelles lignes.

Remarque: les résultats de la solution prévue via le code de caractère

n=input();print((3+2)*n*n+~0*6*n+1)*n/3;            +6;



























+7+7+7+7+7+7+7+7+7;+++++++++++++++9+9*9*9

Essayez-le en ligne

Solution envisagée , Headsecks :

r2=ni***p**
(


p((0 ;3+++3;+;/


)





i+++nn
 +)7
n

n+++ 


17+~
 +)7;97++++7


69+9n+ ++7+n 69
 +7+ ++7


**7+++tut

Ceci est équivalent au programme BF suivant:

>>,[->>>+>>>+>>>+++++<<<<<<<<<]>>>->>>>>>-<<<[[>+<-]>[>>[<<<+>>+>-]<[>+<-]<-]<<<<]>>+++>[-<-[<+<<]<[+[->+<]<+<<]>>>>>]<<<.,.
mbomb007
la source
4

Fuzzy Octo Guacamole, 26 octets, A070627 [Sécurisé]

49++*5^pm#]%:"?:.=:#,|"1:@

Cas de test:

1 -> 1
3 -> 23
5 -> 1

Solution:

^::::|*?1=#@]","%.#49++5pm

Fonctionne à Magistack.

Rɪᴋᴇʀ
la source
Bonjour! Je vous rappelle que cette réponse peut être marquée comme étant sûre. Pas besoin de se précipiter, mais personne ne l'a résolu en une semaine. Bon travail, j'ai hâte de voir une solution
Wheat Wizard
Cool, je vais le faire et l'autre une fois quand je rentrerai à la maison.
Rɪᴋᴇʀ
3

Pyth, 75 octets, A004526 Craqué , lait

Plus qu'un test ludique qu'autre chose, mais:

/Q/////////////////****22222 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2;;;;;

Essayez-le en ligne!

Solution de lait (Convexe):

2/Q2 2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2*2*2*; 2*;                 2; 2; 2;

Essayez-le en ligne

Solution envisagée (///):

/*///;2/;// ///22/Q//2;///;//;***2222222222222222222222                    

Essayez-le en ligne

Prend une entrée sous la forme de 2 avant le dernier point-virgule et renvoie le nombre correct de questions.

La séquence est indexée par 0 (c.-à-d. 0 est 0, 1 est 0, 2 est 1, ...)

De légères erreurs syntaxiques ont été trouvées dans ///, donc toutes les solutions ont été modifiées.

boboquack
la source
Cracked
lait
3

MATL, 7 octets, A000217 , fissuré

:sp{1}x

La séquence est n(n+1)/2(nombres triangulaires), à partir de l' entrée n=1comme spécifié par le défi: 1, 3, 6, 10, ... (Output pour l' entrée 0ne sont pas garanties d'être le même dans les deux programmes).

Le programme dans l'autre langue se termine avec une erreur (après avoir généré la sortie correcte dans STDOUT).

Essayez-le en ligne!

:            % Push [1 2 ... n], where n is implicit input
 s           % Sum of that array. Gives the desired result
   p         % Product of that. Gives the same number
    {1}      % Push a cell array containing number 1
       x     % Delete it
Luis Mendo
la source
1
Fissuré!
Steven H.
@ StevenH.Bien fait! Ma solution initiale étaitx:ps{}1
Luis Mendo
3

Python 2, 37 octets, A000290 fissuré

print(input()**(1+1))
"'10°3¢','m'"
Oliver Ni
la source
3
Cracked
Emigna
3

Python 3, 27 octets, A000012 , fissuré

Pas d'entrée cette fois!

if 1:
    if 1:
        print( '1' )

Les retraits sont des onglets, mais pas pour économiser des octets - ils sont requis pour les espaces.

Je ne pense pas qu'il ait besoin d'un lien TIO ou d'une explication!

(Il ne faudra probablement pas longtemps pour craquer d'une manière ou d'une autre)

Réponse prévue (espace blanc):

-Start-


    if1:if1:print('1')
-End-

(Début et fin ne font pas partie du programme)

Désolé, j'ai oublié d'ajouter qu'il imprime sur STDERR:

Essayez-le en ligne!

boboquack
la source
1
Fissuré .
lait
J'ai l'impression que c'est supposé être un espace, mais cela produirait une erreur dans STDERR car il manque les sauts de ligne requis pour se terminer par [LF] [LF] [LF].
Martin Ender
1
@ lait pas encore vous! : D
boboquack
1
@boboquack Cela fonctionne, mais il est imprimé sur STDERR (ce que vous pouvez voir en activant le mode de débogage sur TIO), et le défi indique que les réponses doivent spécifier si le langage caché écrit sur STDERR.
Martin Ender
Encore craqué.
Oliver Ni
3

Octo Guacamole flou , 11 octets, A001844 [Safe!]

hha02^d+**+

Une fissure de ce genre de travaux est dh*h++^2*0a, en Pyth. Ce n'est pas le bon format de sortie cependant.

Mon code est toujours là-bas! (et ce n'est pas en Pyth)

Cas de test:

0 -> 1
1 -> 5

Solution:

^++d0ah*2*h

Dans Jolf.

Rɪᴋᴇʀ
la source
1
Je jure, on dirait que ça a été fait pour Jolf, mais je n'arrive pas à comprendre ça d...
ETHproductions
Cracked (j'espère ...)
ETHproductions
@ETHproductions ah, gentil. Vous ne savez pas si ça compte? Voir éditer.
Rɪᴋᴇʀ
Mon code imprime une nouvelle ligne, mais pas d'espace. Idem avec le code valide.
Rɪᴋᴇʀ
@EasterlyIrk En dépit de ce que j'ai dit, je ne considère pas que la réponse fournisse une fissure. Tout ce que j'ai dit est toujours vrai, mais je ne considère pas la possibilité de produire des espaces valides et je modifierai la question pour refléter cela.
Assistant de blé
2

WinDbg, 39 bytes, A000007 fissuré par jimmy23013

~e.block{j(0>=@$t0)?@$t0+(1<7);??0}t":"

La difficile séquence de 0**n.

La saisie se fait en passant une valeur dans le pseudo-registre $t0.

Ma solution initiale était C #:

@t=>(object)(0<@t?0:1)??"$$700~lk.{}+";
Lait
la source
1
Fissuré.
Jimmy23013
2

JavaScript ES6, 38 octets, A000290 , fissuré

J=>eval(Array(J).fill(J).join`+`)|2-2;

Ce train carré est très chouette, mais ne va nulle part. (Obtenez-le? Train carré ? Comme dans, roues? Non? D'accord, bien. Critiques .)


Réponse souhaitée: réticulaire ( essayez-le en ligne! ),

in2Jo;=>eval(Array(J).fill(J).j`+`)|-2
in      take input, convert to number
  2J    raise to the second power
    o;  output and terminate; ignores following chars
Conor O'Brien
la source
2
Votre code essaie de me convaincre que l'autre langue est J: P
ETHproductions
Fissuré .
Assistant de blé
2

MATL , 13 octets, A002275 Cracked!

i:"@ax'1']
v!

Essayez-le en ligne!

Explication:

i           % Grab input
 :          % Push (range(1,input))
  "         % For each element in this range:
   @        %   Push it
    a       %   Is is truthy?
     x      %   Delete it
      '1'   %   Push '1'
         ]  %   End loop
v           % Join all of these '1's together
 !          % Transpose and display
DJMcMayhem
la source
1
J'ai l'impression que c'est dans Vim mais pour ma vie, je ne peux pas le casser
Wheat Wizard
Cracked :)
Wheat Wizard,
2

2sable , 13 octets, A002378 , fissuré!

En espérant que je n'ai pas manqué quelque chose. Calcule a (n) = n × (n + 1) :

>*?"!&)<=@\\}

Ma version:

?"\>@&*})<\=!

Ou la version dépliée:

  ? " \
 > @ & *
} ) < \ =
 ! . . .
  . . .

Notez que le >dans le coin supérieur gauche est inutilisé (sauf pour le programme 2sable). J'ai fait cela pour confondre les voleurs (mais cela n'a évidemment pas fonctionné haha).

Essayez-le en ligne!

Adnan
la source
Fissuré. :)
Martin Ender
@MartinEnder Beau travail! Je mettrai à jour ma réponse avec la soumission originale :).
Adnan
2

Befunge 93 , 14 octets, A121377 , craqué par le lait !

&52* %68*+ .@Q

Fait amusant: la solution à ce problème est la première fois que j'utilise ce langage.

Ma solution en Pyth. & @ affiche une erreur, mais cela va à STDERR qui, selon l'OP, est ignoré.

+%Q*5 2*6 8.&@
Daniel
la source
Craqué
lait
2

Python 2, 35 octets, A048735 , Coffre-fort

print(lambda u:u&u<<1)(input())>>1

La solution originale était dans mon propre langage de programmation Wise .

:<<>&>print(lambda uuu1)(input())1

La plupart des personnages sont des no-ops non pertinents. Les personnages importants sont les six premiers. :crée deux copies du premier élément de la pile. <<>bit se déplace deux fois vers la gauche et une fois vers la droite, ce qui équivaut à un décalage une fois vers la gauche. &prend le bitwise et du haut et deuxième élément (l'original et la copie décalée bit). Enfin un >peu décale une fois vers la droite.

Assistant de blé
la source
2

05AB1E, 5 octets, A000012 , Coffre-fort

$;$1?

Séquence de 1. Essayez-le en ligne

Solution prévue: Arcyou

1;$$?

Essayez-le en ligne . Je ne pouvais pas trouver de documentation pour cette langue, alors n’expliquez pas comment cela fonctionne exactement.

Lait
la source
Stupide point-virgule ... Je pourrais presque utiliser Retina, mais je ne peux pas avoir à la fois le 1et ;.
mbomb007
1
Cela n'a pas été craqué
Wheat Wizard
Il semble que cette réponse peut maintenant être marquée comme étant sûre. Comme j'ai passé beaucoup de temps à essayer de résoudre ce problème, je suis impatient de voir la réponse recherchée.
Wheat Wizard
Cette réponse ne devrait-elle pas être marquée comme "acceptée" maintenant?
mbomb007
1

Python 2, 70 octets, A000217 fissuré!

J'ai l'impression que cela ne sera pas déchiffré dans le langage que j'ai utilisé pour l'autre version, nous verrons :)

o=input()
v=0
i=1
while o:
 v+=i
 i+=1
print v


#|  d00->1@@@++-^,,[

J'ai réalisé par la suite que j'avais masqué le code de manière incorrecte (cela ne change pas la validité de la réponse postée). Voici le code que j'ai commencé avec Haystack:

v
0
v
0
i
1
-
>      d0[v
^-1@+@d+1@?,,o|
Kade
la source
1
Fissuré .
Jimmy23013
1

05AB1E , 9 octets, A000042 fissuré!

1×,1*-^$)

C'est la représentation unaire des nombres naturels (OEIS). Donc, si l'entrée était 3, par exemple, alors la sortie serait 111.

Explication:

                    # implicit input
1                   # pushes 1 to the stack   
 ×                  # pushes "1" × (the input)
  ,                 # outputs the stack
   1*-^$)           # irrelevant

Essayez-le en ligne!


Solution d'origine, carotte

1^*$-1×^)

Explication

1^             Push "1" to the stack
  *            Multiply the string by
   $-1         ...the input (as an integer) minus 1 times
      ×,)      Ignored by the interpreter

Le *multiplie la chaîne par (n+1)fois, ce qui a^*3entraîne aaaaet non aaa. C'est pourquoi j'ai soustrait 1de l'entrée.

Seulement maintenant je me rends compte que le )a été sans importance dans les deux langues: D

Essayez-le en ligne!

Kritixi Lithos
la source
Fissuré.
Oliver Ni
Quelle était la langue cachée d'origine?
Assistant de blé
@ WheatWizard Oups, merci d'avoir trouvé ça. J'ai ajouté la langue maintenant
Kritixi Lithos
1

J, 2 octets, A000290 , fissuré

*~

Eh bien, autant commencer par aller pour ces deux tiers. Donne n × n ou n 2 .

solution envisagée, Jolf, 2 octets

*~

Bien. Ouais. C'est mon propre langage et je pense que cela fonctionne parce qu'il ~cherche un caractère étendu, mais n'en trouve pas, alors il l'ignore. ¯ \ _ (ツ) _ / ¯ Oops.

Conor O'Brien
la source
2
Fissuré!
Steven H.
@StevenH. Bon travail! J'ai édité avec la solution prévue.
Conor O'Brien
@ ConorO'Brien votre solution envisagée n'était pas une solution valable. Pour que les langues soient considérées comme distinctes, ni l'original ni la solution ne peut être un polyglotte dans les deux langues
Wheat Wizard
@ WheatWizard Oh. C'est étrange.
Conor O'Brien
1

Ouroboros , 6 octets, A000012 fissuré

)49.o(

Toujours des sorties 1.

DLosc
la source
Fissuré.
ETHproductions
@DLosc, désolée d'avoir posté au mauvais endroit, mais vous n'avez pas été sur le chat depuis longtemps; _;
ASCII-seulement