Compte tenu de la sortie du programme du flic ( o
), du nombre d'octets ( n
) et du nombre d'octets uniques ( c
) utilisés, créez un morceau de code correspondant qui est n
long en octets avec c
des octets uniques qui correspondent à la sortie du flic o
.
Ceci est le fil des flics . Postez des solutions à craquer ici.
Le fil des voleurs se trouve ici .
Les flics devraient publier des solutions comme celle-ci:
#[Language], `n` Bytes, `c` Unique Bytes (c*n points) [Cracked](Link-To-Crack)
[Output]
---
(Optional spoiler)
Règles
- Vous ne pouvez prendre aucune entrée pour votre programme.
- Le programme doit utiliser au moins 1 octet, mais ne peut pas dépasser 255 octets.
- La sortie elle-même est également limitée à 255 octets.
- Le programme doit avoir des résultats de sortie cohérents lorsqu'il est exécuté plusieurs fois.
- Si votre soumission n'est pas piratée dans les 7 jours, vous pouvez la marquer comme "sûre".
- Lorsque vous la marquez en sécurité, postez la solution prévue et notez-la
c*n
. - Ne marquez une réponse comme "sûre" que si vous voulez vraiment le +15 pour une réponse acceptée; c'est plus amusant de voir combien de temps vous pouvez y aller.
- Lorsque vous la marquez en sécurité, postez la solution prévue et notez-la
Gagnant
- Le post non fissuré avec le
c*n
score le plus bas , gagne le fil du flic. - Cela sera décidé après 10 réponses sûres, ou quelques semaines.
Avertissements
- Si vous vous sentez arrogant, vous pouvez dire à l'utilisateur l'algorithme à l'aide d'une balise de spoiler .
Soumissions non fissurées:
fetch("https://api.stackexchange.com/2.2/questions/147635/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!/^#.*cracked/im.test(i.body_markdown)).map(x=>{const matched = /^ ?#{1,3} ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:.*(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).reverse().forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>
cops-and-robbers
Urne de poulpe magique
la source
la source
Réponses:
Haskell , 173 octets, 8 uniques, 1384 points, sûr
Il semble que cette réponse veuille fournir une balise pertinente à la question, tout en utilisant seulement 8 octets différents.
Comme d'habitude, votre solution devrait fonctionner en étant collée dans le bloc de code sur TIO: Essayez-la en ligne!
Solution
Oui, c'est un code Haskell valide: essayez-le en ligne!
Comment ça marche
Le trait de soulignement
_
est utilisé comme caractère générique dans la correspondance de motifs de Haskell.'
est utilisé pour les caractères, par exemple'a'
. Cependant, les deux_
et'
font également partie des caractères autorisés pour les noms d'identificateurs (dans certaines restrictions, par exemple,'
ne peuvent pas apparaître au début du nom.). Par conséquent__
,_'
,_'_
,_''
et ainsi de suite sont tous les noms d'identification valides. En utilisant des noms plus descriptifs, le code ci-dessus devientLa première ligne produit la chaîne
"[tag:reverse_engineering]"
si chaque variable est affectée au caractère correct. Cette affectation est réalisée dans la deuxième ligne:['_'..]
renvoie la chaîne"_`abcdefghijklmnopqrstuvwxyz{|}~ ... "
, la sorcière est appariée sur le modèle_:_:a:_:_:_:e:_:g:_:i:_:_:_:_:n:_:_:_:r:s:t:_:v:_
pour obtenir l'affectation souhaitéea='a'
,e='e'
etc.la source
Brain-Flak, 62 octets au total, 6 uniques, 372 points, fissuré
Voici votre sortie:
Il y a quelque chose de spécial dans ce numéro mais ce n'est pas sur l'OEIS ;)
Si vous envisagez d'utiliser un outil informatique pour résoudre ce problème, vous n'avez pas de chance, le golfeur entier obtient 110 octets pour ce nombre:
Essayez-le en ligne!
Vous allez devoir le faire à la main.
Conseils
Voici quelques conseils, je vais vous révéler plus de conseils plus utiles au fil du temps. Bonne chance!
Ma solution
Essayez-le en ligne!
Cela utilise l'un de mes trucs préférés, le code
calcule le nième terme de A090809 . La soumission complète complète simplement le code avec un 97 pour en faire un grand nombre.
la source
MATL , 6 octets × 3 unique = 18 points. Fissuré
la source
i.^(0:3)
ne donne pas d'inexactitudes en virgule flottante dans Octave, mais leJ4:q^
fait dans MATL ...num2str(..., '%.15g ')
. Voir par exemple ici . Mais cela ne se produit pas pour MATL fonctionnant sur Matlab. La conclusion est que celanum2str
fonctionne légèrement différemment dans Matlab et dans OctaveGelée , 7 octets × 6 unique = 42 points, craquelée
Essayez-le en ligne!
la source
ḷ
, par exemple. Maintenant, il est trop tard, je suppose ...Malbolge , 15 octets, 13 uniques, marque 195. Coffre-fort!
Les sorties:
Sûr! Code prévu:
Essayez-le en ligne!
la source
JavaScript (ES8), 103 octets, 42 uniques (4 326 points) [SAFE]
Sortie hexdump:
Le score est anormalement élevé, je sais, mais de toute façon je pense que celui-ci peut être intéressant à craquer. Le programme est une fonction qui retourne une chaîne (juste pour éviter toute confusion, ce n'est pas REPL).
Cela ne devrait pas être trop difficile, je suppose, tout consiste à trouver le motif.
Solution
Il semble qu'il ait été durci que je ne le pensais, selon le fait que personne ne l'avait craqué. Je pensais qu'il pouvait y avoir plusieurs solutions faciles à concevoir. Quoi qu'il en soit, voici la solution envisagée:
Pour une raison quelconque, il ne s'affiche pas correctement en tant qu'extrait de code. Voici le lien TIO .
la source
Octave, 13 octets, 5 caractères uniques, score: 65. Coffre-fort!
Celui-ci ne devrait pas être trop dur. Si vous ne voulez pas vous lancer tout de suite dans les plus difficiles, ce pourrait être un bon premier défi :)
Remarque: Quand j'ai lu la question, je pensais qu'elle disait: sortir un nombre, pas sortir une chaîne. La sortie ressemble à ceci sur TIO:
Et ressemblera à ceci si vous avez
format long
ou vous pouvez l'imprimer comme ceci:
Ce que j'avais et explication:
Aussi simple que cela. =)
Expliqué:
Normalement, vous écrivez ceci comme
prod('prodprod')
suit:, mais Octave traite tout ce qui vient après le nom de la fonction comme une chaîne (tableau de caractères). Ceux-ci sont implicitement convertis en leurs valeurs ASCII et multipliés ensemble.la source
MATL, 4 octets, 4 uniques, 16 points. Fissuré
Sortie:
Ce que j'avais:
la source
Java 8 (programme complet), 97 octets au total, 34 uniques, 3298 points ( Cracké par @RobertoGraham )
Sortie:
REMARQUE: il s'agit d'un programme complet. Si fonctionne sous la forme de
()->
sont autorisées à la place:Java 8 (fonction lambda), 40 octets au total, 18 uniques, 720 points ( Cracké par @ user202729 )
C'est probablement assez difficile, mais peu importe ... Ce n'est pas comme si Java allait gagner quoi que ce soit avec ce nombre de points de toute façon ..
Astuces:
Solution envisagée:
Assez drôle (et impressionnant) à quel point les deux fissures données sont complètement différentes de ce que j'avais en tête, mais chapeau aux deux crackers!
la source
MATL, 11 octets, 10 uniques, 110 points. SÛR!
Sortie:
Juste pour "vous aider" dans le même sens:
C'est le produit de:
et c'est un de moins que le
372884884433
rd prime.Et voici quelques vrais conseils. Si ce n'est pas fissuré en quelques heures, je vais révéler la solution.
Le vrai code:
Explication:
la source
Haskell , 10 octets, 3 uniques, 30 points, fissuré
Un joli chiffre qui contient chaque chiffre, bien que seulement 3 octets uniques soient utilisés.
La solution envisagée fonctionne en remplaçant la partie de code dans le lien TIO suivant: Essayez-le en ligne!
la source
Haskell , 29 octets, 15 octets uniques, 435 points, fissuré
Il s'agit d'une chaîne contenant
3
73 fois et une seule sournoise4
.La solution envisagée fonctionne en remplaçant la partie de code dans le lien TIO suivant: Essayez-le en ligne!
Edit: H.PWiz a trouvé une fissure valide (qui pourrait même être jouée à 28 octets), mais pas la solution prévue.
Astuces:
la source
Mathematica, 8 octets, 3 uniques, 24 points fissurés
la source
Explode , 9 octets au total, 4 uniques, 36 points
Sortie:
Notez que la documentation ne correspond pas complètement à l'implémentation de ce langage - j'ai écrit cela un jour et je n'y ai pas touché depuis, donc tous les bogues dans l'implémentation qui peuvent exister sont maintenant définitivement des fonctionnalités.
De plus, je ne pense pas que ce langage soit complet à Turing, donc vous pourriez probablement le forcer brutalement, mais c'est ennuyeux.
Je vous donnerai une prime considérable si vous pouvez automatiser la sortie de rétro-ingénierie en un code Explode court et optimal.
la source
Octave, 4 octets, 3 uniques, 12 points: fissuré
Voyons à quelle vitesse celui-ci va.
la source
Pyth, 7 octets, 6 uniques, 7 * 6 = 42 score total
Consultez le fil de conseils Pyth pour l'inspiration;)
la source
Gelée , 3 octets × 3 unique = 9 points, craquelée
Essayez-le en ligne!
Encore une tentative de Jelly, cette fois plus difficile j'espère.
la source
Alice , 9 octets x 8 uniques = 72 points fissurés
Essayez-le en ligne!
Celui-ci devrait être drôle à craquer
la source
Excel, 22 octets, 16 uniques, 352 points, fissuré
Ce n'est peut-être pas très difficile à résoudre, mais j'utilise une fonction que je n'aurais jamais pu utiliser autrement. De plus, le score ne gagnera rien à moins que beaucoup d'autres ne soient crackés.
la source
PowerShell, 7 octets, 5 uniques = 35 points Cracked
Sortie:
la source
Gelée , 8 octets * 6 unique = 48 ( fissuré )
Vous pouvez essayer de le casser ici .
la source
Haskell , 30 octets, 17 uniques, 510 points, fissuré
La solution envisagée fonctionne en remplaçant la partie de code dans le lien TIO suivant: Essayez-le en ligne!
Cela utilise la même approche que ma réponse précédente , qui a été fissurée en utilisant une approche différente.
Quelques conseils:
la source
Javascript,
11
octets , octets7
uniques (77 points) (fissuré)Cela devrait être vraiment facile.
la source
Gelée , 8 octets , 2 uniques, 8 × 2 = 16 points - Sûr!
(Il n'existe que 8 355 840 programmes de ce type, donc ils devraient être piratés, je suppose.)
Allez-y à Essayez-le en ligne!
Comment?
la source
°
, mais je n'y ai pas pensé⁾
et je pense que vous devez vous en tenir à partir de 0.⁽
est différent de⁾
, ils ne sont liés d'aucune façon (sauf qu'ils consomment les deux caractères qui suivent).⁽
.Gelée , 4 octets , 4 uniques, 4 × 4 = 16 points - Sûr!
Notez que la sortie fait 255 octets de long, juste à la limite.
Oui, même score que mon autre entrée (encore non fissurée) Jelly .
Allez-y à Essayez-le en ligne!
Comment?
la source
r
entre deux listes d'index de page de code et concaténer avec une autre liste d'index de page de code pour le réduire à 35 octets. , mais il y a également des octets répétés et 35 >> 4 ... bonne chance!C (machine à deux compléments, sizeof (int) = 4), 76 octets et 35 octets uniques pour un score de 2660, Safe
Sortie:
qui fait 203 octets de long.
la source
main(i){for(;42>i;printf("%u","eirwtlegowvnfemuwphejsno"[abs(24-i++)]-'n'));}
'N'
à78
(code char deN
).CJam, 15 octets * 10 uniques = 150 points
Mauvais score, mais j'espère qu'il sera difficile à résoudre.
Remarque: Pour le moment, j'ai oublié quelle est la réponse. En tant que tel, je le garderai ouvert jusqu'à ce que moi ou quelqu'un d'autre puisse le casser.
la source
CJam, 15 octets * 10 uniques = 150 points
Remarque: Pour le moment, j'ai oublié quelle est la réponse. En tant que tel, je le garderai ouvert jusqu'à ce que moi ou quelqu'un d'autre puisse le casser.
la source
Japt , 5 octets, 5 octets uniques (25 points) ( fissuré par Scrooble)
Sortie:
3628801
la source
Perl 5 , 31 octets, 18 octets uniques (558 points) - sûr
Solution prévue ( Essayez-la en ligne! ):
(ceci calcule la factorielle de 111)
la source