L'entrée ne doit pas être requise et la sortie doit indiquer " All your base are belong to us
".
Restrictions
Pas de ressources externes.
Plus un minimum de deux des éléments suivants:
Vous ne pouvez en aucun cas utiliser "a", "b", "t", "u" ou "y" dans votre code (bonus -10 à votre score de golf si vous pouvez le faire)
Vous ne pouvez en aucun cas utiliser "l", "o", "s", "e" ou "r" dans votre code (bonus -20 à votre score de golf si vous pouvez le faire)
Vous ne pouvez en aucun cas utiliser "n", "g", "0", "1" ou "2" dans votre code (bonus -30 à votre score de golf si vous pouvez le faire)
Ainsi, par exemple, si vous parvenez à obtenir le code avec 40 caractères et utilisez les règles 1 et 2, votre score de golf est de 40 - 10 - 20 = 10 caractères.
Plus petit score de golf de code gagne ... Bonne chance!
string
pause toutes les trois restrictions, etchar
,var
etWrite
briser deux d'entre eux chacun. Cela va être difficile d'obtenir des réponses valables, sauf peut-être Barinfuck.print(input())
(python)? L'utilisateur serait tenu de saisir la chaîne correcte, mais cela n'est pas interdit.stdin
est sans doute une "source externe".Réponses:
SOGL V0.12 , 15 - 60 = -45
Essayez-le ici!
šz█P'zUS½█│β3‘
est une chaîne compresséeall your base are belong to us
, mais parce que cette chaîne exacte comprimé contenu0
, il est divisé en 3 parties:all your base are
,belong to us
(qui a coûté un octet , mais a donné un bonus -30 octets). Les première et dernière chaînes sont compressées avec le dictionnaire anglais de SOGL et, implicitement, jointes à des espaces. Le reste⁾
est un cas de phrase simple intégré.Notez que SOGL post-date ce défi, mais c'est permis maintenant.
la source
GolfScript, -22 (38 caractères, -60 bonus)
la source
"..."
définit une chaîne et le bloc{}%
effectue une opération de mappage sur tous les caractères. À l'intérieur du bloc, la valeur ascii est disponible sur la pile et67-
soustrait 67 de chaque valeur ascii.Déclenchement , −40
丟
devant, en changeant le score à -39.la source
"input is not required"
comme je l'ai dit, je jetterais le 丟 devant et modifierais le score à -39, mais un effort considérable! Surtout en considérant que vous avez inventé la langue, mec!JavaScript - 140 octets - 60 bonus = 80 points
Courir dans Firefox.
Je sais ce que tu penses. Non, ce ne sont pas les personnages énumérés dans la question. Ce sont des personnages avec un caron, ou háček (choisis au hasard dans une liste de signes diacritiques). Même s'ils combinent des marques, ils ne sont pas deux caractères séparés.
la source
String.fromCharCode(65,108,108,32,121,111,117,114,32,98,97,115,101,32,97,114,101,32,98,101,108,111,110,103,32,116,111,32,117,115);
APL (43 - 30 - 20 = -7)
Cela répond aux règles 2 et 3.
la source
INVALID TOKEN
erreur… peut-être du caractère initial et du caractère arrière avant AV… Existe-t-il un autre endroit où je peux tester cela…?Brainfuck, 267 - 60 = 207
la source
HTML / CSS 70
http://jsbin.com/EjekuvuF/1/
Je pensais que j'étais malin avec le type à l'envers, mais j'ai alors réalisé que je ne pouvais respecter aucune des règles auxiliaires avec le code HTML / CSS. Tant pis.
MISE À JOUR:
User Flame a suggéré une solution plus compatible avec plusieurs navigateurs:
http://jsbin.com/EjekuvuF/6
la source
transform:rotate(.5turn)
une erreur de syntaxe était résolue ... J'aime l'imagination qui y estMATLAB, Tous les bonus: Score de -20 (40-60)
MODIFIER:
Notez que je ne suis pas sûr de la configuration système requise pour l’exécuter, testé sur Windows. Pour ceux qui ont du mal à copier, un code similaire peut être généré comme ceci:
S'il avait été permis de demander quoi que ce soit en entrée, une solution avec moins de caractères (mais manquant également le bonus) serait bien sûr possible.
la source
input
. La deuxième réponse est (que je sache) n'est tout simplement pas vraie.input('')
appel ne se termine pas par un point-virgule, il générera donc une sortie.prompt()
"dd
, mais peut-être que compte comme une ressource externe. Tout comme les utilisateurs, bien sûr.,
,E
9/
52
E"
!3
%E
!2
%E
"%
,/
.'
E4
/E
5`3 Je peux comprendre la première réponse, mais la deuxième nécessite une entrée, ce qui, à mon avis, n’était pas" obligatoire "k (-7 = 53 - 60)
(#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
n'inclut pas le retour à la ligne, peut être ajouté au prix d'un caractère supplémentaire:
(-#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
ennuyeux, les seuls compensations qui fonctionnent pour cette astuce sont 154 et 155
modifier:
s'il suffit d'afficher la chaîne (plutôt que de l'imprimer), comme je suppose que la solution APL fonctionne (cela ne fonctionne pas dans http://tryapl.com/ , je ne peux donc pas le tester correctement), c'est
qui est -12 = 48 - 60. Puis-je savoir si cela est suffisant?
la source
dc,
97 - 60 = 3791 - 60 = 3188 - 60 = 2881 - 60 = 21Version améliorée (l’idée principale ici est de faire varier la base d’entrée pour augmenter les chances de trouver un grand nombre utile sans chiffres problématiques):
En base 7, le tout peut devenir un numéro unique! Les bases les plus basses sont naturellement moins compactes, mais le manque d’opérations de réparation le compense.
Ma première solution base utilisée 10. Mon second a utilisé un mélange de base 9, 10, 12, 13 et 15. Celui - ci est dans la base 7. Je me sens vraiment comme toute la base sont appartiennent à moi.
Dernier point, sérieux: la base 13 fait un excellent travail sur le premier segment, puis la base 7 pour le reste.
la source
Python REPL,
12211698 caractères - 30 bonus =928668 pointsJe pourrais me débarrasser des zéros de Python 3.3 en remplaçant le mot 'par
\40
'\N{SP}
, mais hélas, leN
n'est pas autorisé.Edit : Inspiré par cette réponse , je l’ai encore raccourci en le remplaçant
\x40
par. De plus, depuis que je l'utilise déjà
1
, le remplacer\156
parn
et\x67
par leg
raccourcit de 6 autres caractères sans encourir de pénalité supplémentaire.la source
.py
fichier et l'exécutez, il n'y a pas de sortie.Brainfuck,
205203 - 60 =145143 octetsVersion lisible:
la source
Befunge 98: 122 - 60 = 62
Calcule les valeurs ascii, puis les imprime. J'ai encore besoin d'essayer d'autres méthodes pour former les nombres pour voir s'il y a des façons plus courtes.
la source
Python, 195-40 = 155
la source
Rubis, 121 - 50 = 71
Un peu de force brute, mais la plupart des méthodes mignonnes sont exclues:
Enfreint la règle n ° 1 à cause du A dans
pack
, les deux autres devraient être OK.la source
<<
ma réponse.{ba, z} sh,
67 - 40 72 - 6061 - 40 = 21Darn it, s'avère que j'avais un
r
là-bas que je n'avais pas remarqué, alors le bonus de 20 ne s'applique pas!la source
$'\x74\x72'
peux l’utiliser directement comme nom de commande, ce qui vous permet d’économiser 8 caractères$(m4<<<)
. Ça ne marche pas comme ça pour toi?\x72
en remplacement der
vous procure un bonus de 20 points au prix de la perte du bonus de 30 points (pour les2
)2
, laissez-moi voir si je peux trouver un moyen de m'en débarrasser et d'éviter de perdre des bonus.tr
compte-t-il comme une ressource externe?C, 75 octets - 60 = 15
Merci à @gastropner d'avoir réduit le score de 50 à 33 et de 19 à 15!
Prend l'adresse d'un tableau de caractères en entrée et écrit la chaîne dans le tableau.
Essayez-le en ligne!
Appeler avec:
Sortie:
Ancienne version (90 octets - 40 = 50):
la source
*q,i,j;x(p){if(j="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9"[i++])*(q=p)=j^74,x(++p);}f(p){i=3-3;x(p);}
i=i<30
pour 2 autres octets.0
.JavaScript
(306 caractères - 60 bonus = 246)(206 caractères - 50 bonus = 156)(123 caractères = 173 caractères - 50 bonus)
Une sorte de nooby, pourrait probablement en avoir plus ... Faites-le-moi savoir si j'ai quelque chose en peluche, cela alerte "Toute votre base nous appartient." Ceci est également uniquement en ASCII.
Si vous comptez la console comme sortie, cela comptera également (57 avec bonus):
la source
x=(c.t+c)[6]
est un peu plus courteval
pourrait être plus facile à piraterBrainfuck, (227 - 60 = 167)
la source
+++++ +++++
est nécessaire? Cela pourrait être 226 octets.PHP (35 - 60 = -25 octets)
HOW LOW CAN YOU GET ?
[1] [2][1] Ce programme peut être décodé avec
xxd -r
.[2] Oui, la solution lourde est réutilisée ici. Je pense que c'est ... le troisième problème que j'ai résolu de cette façon. Peut-être que je devrais passer à autre chose, mais ce n'est pas que ce ne soit pas génial pour les problèmes qui vous interdisent d'utiliser la plupart des caractères.
la source
~
.Bash, 52 - 10 - 30 = 12
Ce qui suit doit être exécuté dans un environnement ISO-8859-1 (encore assez courant):
Cela appelle
tr
, qui traduit les caractères de manière appropriée. Je devais soit utiliser lar
et enfreindre la règle 2, soit utiliser un chiffre dans l'échappement et enfreindre la règle 3. Puisque 3 donne plus de bonus, j'ai choisi l'ancien.la source
tr
Constitue- t-il une ressource externe?Pure Bash (pas de ressources externes), 141 caractères - 50 bonus = 91
Abandonner intentionnellement le bonus de 10 points pour obtenir un meilleur score global.
Cela fonctionne sur n'importe quelle
bash
version 3.00.15 ou ultérieure que j'ai essayée.Comment ça marche
Il n'y a pas de science de fusée ici - juste des
bash
extensions d'une forme ou d'une autre:[012]
. par exemple$'\x65'
nous donnee
Z=({k..v})
). Le début du développement de l’accolade est choisi avec soin afin que les index des caractères requis ne soient pas contenus[012]
. par exemple${Z[7]}
nous donner
.bash
est suffisamment souple pour permettre à ses commandes d'être construites à partir du contenu de plusieurs chaînes. Alors$f$'\x63'h$i
étend àecho
.Réponse précédente avec bonus complet, mais score global pire:
Pure Bash (pas de ressources externes), 193 caractères - 60 bonus = 133
Je sais que cela ne gagnera pas, mais je voulais me prouver que c'était possible
bash
, tout en satisfaisant toutes les exigences:Cela nécessite une version assez récente de
bash
l'${c^}
extension des paramètres. 4.2.25 c'est bien, mais 3.2.48 est un non-lieu.la source
Postscript, 364 - 40 = 324
Je ne pourrais pas le faire sans
loser
, bien sûr. :)Cela commence par encoder le texte sous forme de chaînes en base 36:
Et puis en enlevant les 1 et les 0 et les 2 arithmétiquement. Les chaînes peuvent ensuite être régénérées avec
36 <string-buf> cvrs
, mais ceci produit des lettres majuscules. Nous devons ensuite parcourir et ajouter 0x20 pour les mettre en minuscules.Les opérateurs
cvx exec
nous permettent d’exécuter des fragments de chaîne de jetons d’opérateurs codés en binaire dans différents codages. Le plus simple est de coder un opérateur en hex<92??>
mais il y a un 2 dedans! Le codage de "premier niveau" est donc ascii85. Ensuite, toutes les chaînes contenant encore des caractères interdits passaient par des niveaux supplémentaires d’hex -> ascii85 -> hex -> ascii85.la source
Brainfuck, 306 - 60 = 246
la source
PHP, 186 - 10 - 30 = 146
Je devais avoir un peu de créativité;)
la source
<?=
place de echo (4), vous pouvez enregistrer les lettres répétées dans des variables ('l', ''). utiliser54*2
au lieu de54+54
54*2
car il y en a un2
, je ne peux donc le faire qu'avec ceux qui ont 3 ou plus ont un facteur. Si j'utilise une décimale, il n'y a pas moins de caractères.chr(68+33)
etchr(38*3)
par le littérale
etr
.Python, 181 - 40 = 141
[J'utilise la version 2.7.2 YMMV - la commande intégrée a
file
disparu de Python 3.X]la source
Python (104 - 30 = 74)
Et score:
la source
Oreillons, 150 -
60 = 90.40 = 110Je ne sais pas si cela aurait pu être fait plus court (globalement) en n'obtenant pas l'un des bonus du code - mon objectif était un peu moins sur la brièveté et un peu plus sur le -60 ... J'ai aimé le défi de ne pas utiliser l'un des caractères restreints.
Et ... je l'ai gaffé - j'ai manqué le commandement de début 'S'. : - /
Quoi qu'il en soit, voici une version "sans règles" - développant les variables.
Et cela lui donne un score de 177-60 = 117. Donc, briser la règle du centre me donnait toujours un score global plus bas.
la source
Perl 5, 99 - 50 = 49
Un sous-programme qui renvoie la chaîne requise:
Voir le imprimé ainsi:
la source
BF-RLE , 146 - 30 = 116
la source