Restricted mini conteste le fil de flic


33

Fil de voleur

Votre tâche en tant que policier consiste à sélectionner trois choses:

  • Un langage de programmation

  • Une séquence OEIS

  • Un jeu d'octets

Vous devez ensuite écrire secrètement un programme dans ce langage qui calcule la nième séquence de termes en utilisant uniquement les octets de l'ensemble. Vous allez révéler les trois informations afin que les voleurs puissent essayer de comprendre le programme.

Les réponses seront notées en fonction du nombre d'octets dans l'ensemble d'octets, plus le score sera bon. Les réponses fissurées ont un score automatique de 0. Si votre réponse est déchirée après une semaine, vous pouvez révéler le programme souhaité et marquer votre réponse comme "sûre".

Les réponses doivent être capables de calculer chaque terme dans les fichiers b de la séquence, mais ne sont pas obligées de calculer les termes après.

Les séquences peuvent être 1 ou 0 indexées pour les flics et les voleurs.

Voici un script Python qui vérifie si votre code correspond à l'ensemble d'octets donné.


1
Un score inférieur est meilleur? Ou plus? Nous essayons donc essentiellement de trouver un jeu de caractères restreint qui rend difficile la création d'un programme dans la langue choisie, une fois que nous avons déjà trouvé une solution?
BradC

1
Avons-nous besoin d'utiliser tous les octets de notre ensemble? Je suppose que oui, mais cela devrait probablement être précisé dans le défi.
Shaggy

1
@Shaggy généralement non, vous pouvez en inclure d'autres pour les harengs rouges, mais les voleurs peuvent tout utiliser
Stephen

1
Les voleurs peuvent-ils utiliser le même octet deux fois ou plus?
M. Xcoder le

2
@ Azulflame Les fichiers b sont des fichiers associés à chaque séquence, ils sont accessibles en remplaçant les mots Aavec un bet en ajoutant un .txt. Par exemple, oeis.org/b4.txt accéderait aux fichiers b pour cette séquence.
Wheat Wizard

Réponses:


11

Haskell , A209229 , ( fissuré )

11 caractères (y compris nouvelle ligne):

s<=[ ]
how!

Sorties True / False en tant que fonction indicatrice pour des puissances de 2:

1 => True
2 => True
3 => False
4 => True
5 => False
6 => False
7 => False
8 => True
9 => False
...

Les entrées sont des entiers positifs.


Est-ce que 0 donne False?
H.PWiz

@ H.PWiz Mon code ne fonctionne pas pour 0, votre crack peut faire ce que vous voulez.
xnor

Fissuré! Très intelligent ~
Lynn

@ Lynn Bien fait!
xnor


5

Haskell, A000045 ( fissuré )

J'ai pris ma décision, je pense que j'aime tplus que s.

Nous allons donc utiliser ces 30 octets (y compris newline):

abcdeFgh|jklmnopqrtTuvwxyz
=()

Veuillez noter que la description générale du défi exige que

Les réponses doivent être capables de calculer chaque terme des fichiers b de la séquence [...].

Dans ce cas, le fichier b va jusqu'au 2000e numéro, ce qui est bien au-delà de ce qui peut être calculé Int.





4

Haskell, A000045 ( craquage )

Tout le monde aime les chiffres de Fibonacci, j'aime Haskell ...

J'ai soigneusement sélectionné 30 octets pour vous: les lettres minuscules sauf f, iet t, vous obtenez les lettres majuscules Fet Tet le symbole de la conduite à la |place, et les trois symboles =(), et retour à la ligne. Les voici à nouveau:

abcdeFgh|jklmnopqrsTuvwxyz
=()



4

Haskell, A009056 ( fissuré )

Une autre simple, avec encore assez de lettres pour que ça ressemble à un Haskell ordinaire et peut-être que vous puissiez me surprendre en trouvant une solution complètement différente de la mienne.

La séquence est Numbers> = 3 et le jeu de caractères est composé de ces 30 octets:

{[abcdefghijklmnopqr uvwxyz]}.

La fissure a de belles techniques. Je pensais juste à ceci:

head . flip drop [ floor pi .. ]



3

C (C99), A000005 , 25 octets #, fissuré!

Ce sont les octets d’un problème complet, prend n comme argument de ligne de commande et génère une réponse à stdout (l’espace est inclus dans bytecount).

<=>,;!"()*%+acdfhimnoprt 

ok je me demandais lol. comme argument de ligne de commande?
Conor O'Brien

Oui, je vais préciser cela
dj0wns

1
Fissuré! c'était amusant: D
Conor O'Brien

3

Unary , A002275 , 1 octet

Ensemble d'octets:

0

Je devais au moins l'essayer: 3

(Je ne pense pas que ce sera particulièrement difficile vu que chaque commande dans la langue est disponible)


1
Pourquoi ne pas inclure tous les octets pour maximiser votre score? Vous avez marqué le montant le plus bas possible, alors que l'inclusion de tous les octets n'aurait aucune incidence.
Wheat Wizard

Je pensais que nous visions un faible score (désolé, je suis nouveau ici).
sonar235


@muddyfish La saisie est-elle autorisée en tant que personnage pour un brainfuck?
sonar235

@ sonar235 En général, nous autorisons l'entrée comme personnage de brainfuck. Bien que les valeurs ici dépassent 255, je ne pense pas qu'une réponse qui les utilise puisse être valide.
Wheat Wizard



3

Hexagony , A057077 , 77 octets

Séquence périodique 1, 1, -1, -1. Sous forme de liste:

a(0) = 1
a(1) = 1
a(2) = -1
a(3) = -1
a(4) = 1
a(5) = 1
a(6) = -1
   ...

Jeu de caractères (édité), qui comprend une nouvelle ligne et un caractère d'espacement:

!% & (), 0123456789;? @ ABCDEFGHIJKLMOPQRSTUVWXYZ ^ abcdefghijklmnopqrstuvwxyz [] #. 

Essayez-le en ligne!


Une raison quelconque pour laquelle vous avez modifié le jeu de caractères?
Poke

1
@Poke apparemment, plus le nombre d'octets est élevé, mieux c'est, alors je viens d'ajouter un tas de commandes non utiles.
Adnan

3

Haskell, A000045 ( fissuré )

C'est fissuré, et je ne vais pas commencer une nouvelle version, mais si vous voulez jouer plus: c'est possible sans y, et il est possible d'être efficace.


Je m'excuse de vous avoir conduit dans la mauvaise direction en vous donnant un g. Faisons la même chose sans!

Voici les 29 octets restants (y compris la nouvelle ligne):

abcdeFh|jklmnopqrtTuvwxyz
=()

Encore une fois, rappelez-vous que Intcela ne sera pas suffisant pour calculer le nombre 2000 de Fibonacci qui est nécessaire car il se trouve dans le fichier b.



3

Haskell, A000045 ( fissuré )

Ceci est un peu (comme annoncé) pas une nouvelle version, mais complètement différente. (Droite?)

J'espère toujours pouvoir vous faire redécouvrir ma belle petite observation.

Cette fois , vous êtes invité à mettre en œuvre la suite de Fibonacci en utilisant un jeu de caractères de taille 17, (pour autant que je sache) ne contient que l' un de deux caractères inutiles:

eilnt=(,).[ ]_:0!

Notez qu'il n'y a pas de saut de ligne (mais n'hésitez pas à montrer une version qui en contient pour la lisibilité) et rappelez-vous que vous devez être capable de calculer le 2000ème nombre de Fibonacci.



3

Cubix, A000027 (SAFE) 17 points

!&')-/0;@Oiru.NSQ

Ma solution:

!O!;i)!/u&!!r-)0'u;;!@

regardez-le en ligne ici

À l'origine, je l'avais fait sans, .NSQmais je pensais pouvoir les ajouter en toute sécurité.

Explication:

Cette séquence est juste "Les entiers positifs". Cependant, Cubix a trois commandes d’entrée i, qui lisent dans un seul caractère (poussant -1si entrée est vide), Aqui lisent dans le reste de l’entrée sous forme de caractères (poussant a -1au sommet de la pile), et Iqui lisant le numéro suivant de l'entrée (appuyer 0s'il n'y a pas de correspondance). Donc, naturellement, je n'ai fourni que ice qui se lit en chiffres comme valeur ascii. euh-oh. De plus, -1c'est le marqueur habituel pour la fin de l'entrée, en conjonction avec ?donc je me suis débarrassé de ?, me forçant à utiliser !(ignorer l'instruction suivante si le TOS n'est pas nul) pour le flux de contrôle. Enfin, je pensais avoir besoin &de concaténer les chiffres pour l’impression avecO (qui affiche le haut de la pile sous forme de nombre), mais je réalise maintenant que ce n'était pas nécessaire non plus!

Une autre partie du défi consistait à l'origine à ne pas avoir .le caractère non-op, mais vous pouvez utiliser des paires de à la !place si vous êtes prudent:

    ! O
    ! ;
i ) ! / u & ! !
r - ) 0 ' u ; ;
    ! @
    . .

i) : lire l'entrée, incrémenter.

!/ : si le haut de la pile est à zéro (fin d’entrée), tournez à gauche

left: ;O.@pop top of stack, sortie sous forme de nombre, arrêt.

autrement:

u'0: poussez le code de caractère 0du haut de la pile

)-r: incrémenter, soustraire et faire pivoter

;; : pop top of stack deux fois

u& : concaténer des chiffres

!!: effet zéro net, maintenant nous sommes à i)nouveau.


Cubix a des personnages noop non? Pourquoi ne les ajoutez-vous pas pour augmenter votre score? Ou fait-il partie du défi qu'il n'y a pas de noops.
Wheat Wizard

@ WheatWizard, j'ai décidé d'être clément et d'ajouter .mais cela peut être fait sans elle.
Giuseppe

3

Graine , A005408 (numéros impairs) - Coffre-fort

Voici un peu plus difficile. Vous pouvez utiliser n'importe quel caractère valide dans Seed:

[0-9 ]

Vous ne devriez pas être capable de forcer brutalement celui-ci en une semaine sauf si vous avez un monstre d'ordinateur. Bonne chance! C'est craquant.

Allusion

C’est le programme Befunge-98 utilisé dans ma solution: 9&2*1-.@(le 9peut être supprimé, mais ma solution a juste

Solution

8 47142938850356537668025719950342285215695875470457212766920093958965599014291682211474803930206233718243166021324700185443274842742744297183042397910454208210130742260519105651032450664856693714718759816232968955289663444878636053035645231246428917992493766505872029989544065894418166685284738859999912471659057565000392419689361271972485444731284404987238803115210428572945108908191097214978382112218242627719651728712577306652405452922782307249485947045215982784790396555726144526602778473387279897334709142853151393812930171163300904436548870603006549005515709074682843356844201220668045057407146751793470423217099467145255174198241606814578351260769359571053755888106818197239116973006365593563235361647743411341624822052103816968153274122434280200888824954875622811325064255818154979564925710534165572852442761249176778416688044630942040966271963723430245979221181930857841829694362184653939393940015797332978459794253176110314873994228261888801228999293570329618551223457182420746927212801550646743152754821640064626761542582557138452651970009253770914346130172884305622027370793496993281847017017643506435562229916984107083951938286577012273222191422054315198157936674247934699496471202544270325061352014830137178245082445717253260177560449757186762445707057028987371278573629077370632470496186218574320801798046510846708620502139560277546345198686675095078255875594169064796673074708822106659920187882062247609587560174781170641367430722951002242213604709887062481149928551745163110045572994991844223216663621203042075294195007458339984527333125093390189721042315604498435269143549420166732177200370228527273606218617171975362431824163269672003982537382982066136613799403024924018145511099557720492305303748099327810811511080314262364010281851651151072957475365629128068033597559560186625877942054704386175359499573139930378099420149452745731809033737756051947913924265484582800618244473333957173960222243311738522875022546610298627492222587971756897328087719407454153248557203886421828643453889090192355970705084245312184441674098515659253482621260617211786550204852895652236768886852209506535523414991099331857674826373947830587028494510697603296607361093480842935154672353288419699354739650168309017848485131553416956405911683526896232046773861961911767319373432460217755874481607587604361758089936007730253450733375831228127106295259261723611771334468553746160739548375950046831923765023329346333968732796413192682936767133122325481273354810124729664400173367781325488656859581438769940474229394692089519981810909719628263357284973442177568041416363386891516725592952892168077523560584005586276794967492051823290615767599202657060820223928678900774601616908031321346819422162123048834532926372862962159255934240435694566497798544870186550219886342379298214007368081326725550763589917206162393892085506551547475259270513853987294911388226039365971184089828739349642347312302559286882065147953715607221387657413593069535573044067517274676745306396611760657091792151803798859781616126637075577936361782593546481811651450365118155866449850474140044293772144065341051900055416408240857348697564252386403719942197789892382627153382011984996644288495699209129097948405810551134169739499539470610790009272281731894550593600643079188663110695127017324336488487580799309995227054576681630676222848231145106058050452439356753552872060820230589152143268436210090733908507724084889788244157692417246691477400856716677564609725979550100138132944851304473466485128295568194188600539248624248078558656162635444219199062786468487219220160009464328883337821175254405764395407405891483810757405446047244460754827113527540703326714751461178900155717130399854358953609995319006890674085682111514072508440632941090209366005504352890092326935445829213294943731517698438648298921337375443947066950275955144209037675013663600062205168551851984361951824731229113379464426979717688372371011461890139087487634586087688796134318950140718824105959727161482389914414206768064990410615468858520426399188835467970981786227122743162945627167772066100574532803061925537235491026486409948728571706557098859331941260622260924660292578136091523126589085799981416326395824628987154802653126685882440760385315869346960183809644486238810912663304360284449610976505715001267334297285036791711464142665122000857666018757370925847113798258537503747803972255591351740843663253694303946089997282812556281486820325652814785261116697261899511762129550421005941055852897451832731304151488058522478260009347144486599715629242208891126238083949281490804191584238425634093683587199278186505945727829025071885767559828670803412582690901456978557379916793144695491189633486065077294485660840922713748873840986104486221528464294334436081663106336911265802650605150347413103936140565054608396116572669757269475369570465915381045895991937087068526458273755454602799814909213983801968791431574508976448235055061998715636460946550584682626461010298101802277643570201189324102499951196290880892383380284543173390448406975616650185808619832614403133944687275834716343817926764699295672501869876060896683204343897481630037607159476461359111190545646447421653872016775582115425356868533678655969328210255235050133718364831289991244684695035034122861927276046255405376531096051541299607470934463981741370397268760811035606321455156217990078359217247117349544774085111287345436916077577032709684005131011429476229617901273007027774182864475737502587896225475248267937497254066190335088823904767397814233350286976811901982274477445433872253983823904938249655089770642137858608313524715533520654523880832056453080193644871440738737277389718589793074725139142291918837706550037934799585495183374639955887618135803388399608755212147742199481865453122900714456703147150994585431640652462593333773031385396586933380738103697887063571042512186708015948688088011290197524699274772775288900864690592106393483764109837848793374117655194139018455509931621247697015323332300969105814058088442693320033876473960017819576425062784644138417943454576404265382986995583045527928832

Comment avez-vous généré cela?
Christopher

@ 2EZ4RTZ douloureusement, et avec la source de Python comme référence. Cela peut probablement être beaucoup joué au golf cependant.
TehPers



2

cQuents , A000027 , fissuré


 !"#%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

C'est vrai! Vous obtenez tout l'ASCII! Attendez ... il n'y a pas $... que se passe-t-il $encore dans les quêtes? Oh, oui, l'index intégré. Eh bien, bonne chance: /

Solution envisagée:

#|A:A

Essayez-le en ligne!



@Adnan yup, ça fonctionne, j'imagine que je n'aurais pas dû l'ouvrir autant que je l'ai fait: PI ne pouvait trouver aucune autre façon de le faire, bon travail. Ajout de la solution souhaitée.
Stephen


2

Ruby , A000004 , 5 octets, fissuré

Juste déconner pour commencer. Devrait être facile pour toute personne familière avec Ruby. C'est un faible score, mais peu importe.

/np.$

Exploit involontaire craqué

Cracked (réponse prévue à l'aide du ndrapeau)



@ Adam Eh, je vais l'accepter. Aurait dû exiger le ndrapeau (c'est la raison pour laquelle il est dans la séquence d'octets, et ferait $.égal à 1)
Valeur Ink



2

R, A000290 ( fissuré )

Ensemble d'octets:

()%cfinotu

non c, mais tout le reste pour function? C'est horrible. Je sais comment faire cela, sauf pour lire en entrée ...
Giuseppe

@ Giuseppe woops, cela aurait adû être un c. Désolé.
JAD

1
C'est ce que je reçois pour avoir fait cette merde manuellement ...
JAD

Pas de soucis; c'est assez dur!
Giuseppe



2

cQuents , A000217 , fissuré

Octet:

$:=1;
\-

Notez que cela utilise une fonctionnalité pour laquelle je n’ai pas encore envoyé la documentation, je vais donc la mettre en place ce soir, si vous attendez jusqu’alors. (Ou vous pouvez parcourir mon code source ... amusez-vous). Documentation poussée. Serait un octet moins si un correctif récent était sur TIO.

Solution envisagée:

=1-1:--\1$ ;$

Essayez-le en ligne!



2

JavaScript (ES6), 13 à 10 octets, A000045 , fissuré

Cela devrait être facile.

Voici la séquence de Fibonacci: F (n) = F (n-1) + F (n-2) avec F (0) = 0 et F (1) = 1.

Ensemble d'octets:

$()-:<=>?[]_~

Modifier:

Cela peut même être fait avec les 10 octets suivants:

$()-:=>?_~


1
Ce n'est pas [code-golf]: "Les réponses seront notées par le nombre d'octets dans l'octet défini et le score sera bon." Plus d'octets sont meilleurs.
LarsW

@LarsW en revanche, plus d'octets facilite également la résolution des problèmes :)
JAD



2

Befunge , A000142 , 29 octets, ( fissuré )

Byte Set: @.$_ ^*:\v>-1&

Si vous ne pouvez pas le savoir, cet ensemble d'octets comprend un espace.

Cela devrait être modérément facile à résoudre.

Edit: Oublié le "A" avant OEIS



2

R, A105311 , ( fissuré )

'%(),:=acdeginpstx

Essayons cela sans le lou o.

Depuis que cela a été fissuré, la solution envisagée:

cat(diag(diag((a=scan()))%x%diag((a==a):a)),sep=''). diagest une fonction intéressante, qui peut être utilisée de trois manières différentes. Lorsqu'il est présenté avec un seul entier ( diag(n)), il crée une matrice NxN avec 1 sur la diagonale. Lorsqu'il est présenté avec un vecteur ( diag(1:n)), il crée une matrice NxN avec le vecteur sur la diagonale. Lorsqu'il est présenté avec une matrice ( diag(diag(n))), il renvoie la diagonale sous forme de vecteur. %x%calculé le produit de Kronecker de deux matrices, où chaque élément de la matrice 1 est multiplié avec chaque élément de la matrice 2 séparément. Faire cela avec une nmatrice d'identité de longueur et une 1:nmatrice diagonale crée une n^2matrice diagonale de longueur avec 1:ndes ntemps répétés . diagextrait à nouveau et catimprime.


1
ça va être encore plus amusant :)
Giuseppe

Est-ce que cela inclut une nouvelle ligne?
Giuseppe

@ Giuseppe Pas de nouvelles lignes
JAD

1
@ Giuseppe et moi venons de vérifier deux fois, cet octet est correct
JAD

[fissuré! ] ( codegolf.stackexchange.com/a/136457/67312 ) - J'ai (incorrectement) utilisé %o%avant de réaliser que cela %x%existait. Je suppose que je aurais pu faire 'i'=='i'pour , 1mais soit des œuvres de manière, donc.
Giuseppe
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.