Ecrivez un programme qui affiche son propre code source à l'envers, en d'autres termes, une éniuq .
Notation:
- +50 si vous utilisez des données extraites d’Internet.
- +25 si vous lisez votre propre code source.
- +1 point par caractère
- Le score le plus bas gagne.
Règles:
- Non en utilisant d'autres fichiers (par exemple
reverse.txt
) - La longueur minimale du code est de deux caractères.
- Votre programme ne peut pas être un palindrome.
+10
peut signifier soit "marquer comme s'il comportait 10 caractères de plus qu'il ne le fait réellement" ou "le code peut comporter 10 caractères supplémentaires qui ne le seront pas. être marqué ", ou d'autres interprétations.Réponses:
GolfScript - 2
(ie
\n1
où\n
est le caractère de nouvelle ligne)Sortie:
(ie
1\n
)Pour citer Ilmari :
Ainsi, une nouvelle ligne suivie d'un numéro imprimera le numéro suivi d'une nouvelle ligne.
la source
hein? , 5 personnages
En fait, je ne sais PAS du tout comment cela fonctionne, maissi vous téléchargez l’interprète, et si vous écrivez!hcuO
, vous obtenezOuch!
Pour exécuter ceci, vous devez exécuter le programme comme ceci:
Il cherchera en fait un fichier appelé
!hcuO
, mais il n’existe pas, donc il afficheOuch!
la source
huh?
correctement, même si j'ai du mal à trouver la documentation appropriée. Il semble que l'utilisation est censée êtrehuh.exe <path to source code>
etOuch!
est renvoyée pour un chemin non valide. Essayez de placer votre code dans un fichier réel et de nourrir ce fichier comme argument pourhuh?
voir ce qui se passe. Il est également intéressant de voir que cela génère unNotes.txt
fichier avec des commentaires.Mathematica, 3 caractères
a 2
signifiea
fois 2. Donc, la réponse est2 a
.la source
1#
. La sortie est#1
.H9 + , 13 caractères
Comme la page Web dit, tous les caractères qui ne sont pas
H
,9
ou+
sont ignorés, donc mon programme imprimerontHello, world!
la source
Javascript: 34 caractères
sorties
SyntaxError: Unexpected identifier
, au moins dans la console Chromela source
tnemetats erofeb ; gnissim :rorrExatnyS
=>SyntaxError: missing ; before statement
.Python,
4341la source
Mathematica, 2 octets
Les sorties:
la source
TI-BASIC, 2
Où
i
est le nombre imaginaire.Les sorties
2i
la source
BASIC,
22127 caractères:-)
EDIT: Si vous êtes autorisé à entrer dans le programme en mode immédiat, cela pourrait être réduit à
rorre xatnyS
(12 caractères).Dans BBC BASIC, vous n'avez besoin que de 7 caractères:
la source
C ++ 472 caractères
Beaucoup de caractères, mais je ne peux pas penser à un moyen plus simple dans un langage basé sur c.
la source
frapper
Longueur: 31 caractères.
sh
Longueur: 29 caractères.
Celui-ci ne pourrait pas fonctionner sur certaines distributions Linux, mais fonctionnait sous OSX.
tcsh
Longueur: 26 caractères.
csh
Longueur: 26 caractères.
Le gagnant est:
ksh
Longueur: 21 caractères.
Ci-dessus devrait fonctionner sur tous les systèmes d'exploitation basés sur * Unix.
la source
dnuof
dnuof
installé (peu importe ce que c'est). Damn hackers.dnuof
? : D que fait-il?GolfScript, 12 caractères
Ce code prend la chaîne entre guillemets
"-1%.`"
, l'inverse (-1%
), le duplique (.
) et un-evals (`
) la deuxième copie, en restaurant les guillemets autour.Entrée précédente (13 caractères):
Basé sur la quine à 8 caractères
{'.~'}.~
de cette réponse ; les 5 caractères supplémentaires sont nécessaires pour stringifier et inverser la sortie.Ps. Notez que GolfScript ajoute automatiquement une nouvelle ligne à la fin de la sortie. Si cela fait partie de la sortie, une nouvelle ligne correspondante peut être ajoutée à l'une des versions du code sans affecter la sortie, moyennant un coût d'un caractère supplémentaire.
la source
Befunge 98 - 10 caractères
Cela fonctionne si votre interprète n'interprète pas les lignes après avoir
"
ajouté un espace supplémentaire. Si votre interprète interprète les lignes encapsulées de cette manière, cette solution à 11 caractères fonctionne ( car les espaces en double dans un littéral de chaîne sont interprétés comme une seule chose ):Si je peux utiliser
g
sans pénalité, ceux-ci fonctionnent également (7 et 8 caractères respectivement):et
la source
Ruby, 60 ans
Basé sur un classique Ruby Quine.
la source
Perl, 41
Ancienne réponse de 52 caractères (27 + 25 pénalités)
Lit sa propre source, stocke l’inverse dans un scalaire et l’imprime.
la source
scalar
opérateur peut être remplacé par~~
. Cependant, vous devez ajouter +25 à votre score pour lire votre propre code source.$_='say"lave;\047",~~reverse,"\047=_\$"';eval
, mais votre solution est plus courte :-) Notez que vous pouvez jouer au golf vers le bas à 39 caractères à l' aidesay
. J'espère que vous vaincrez toutes les bizarreries ésotériques :-)print
parsay
? Cela finit par ne rien imprimer.-Mfeature=say
option?Fission , 6 octets
Un cas rare de quine généralisé qui a la même longueur que le quine normal :
L'idée est la même que celle de la quine normale, mais nous utilisons un atome de gauche (commençant par le
L
) pour que le mode d'impression traverse le code dans l'ordre inverse.la source
J: 26
Quining standard (26 caractères) : en définissant une fonction et en lui passant sa propre définition, entre guillemets:
Pourrait probablement être raccourci.
Spécifique à J (33 caractères) : en définissant une variable et en demandant dans quel fichier la variable a été définie, c'est-à-dire celui-ci, puis en imprimant le contenu de ce fichier:
Doit être sauvegardé et exécuté à partir d'un script (c'est-à-dire pas dans le REPL, car la réponse à la question est "votre argument n'a pas été défini dans un fichier", il n'y a donc aucun fichier à lire).
la source
> <> , 25 octets
J'ai été surpris de constater que cela n'avait pas encore été fait. :)
Collez le code ici et lancez-le.
.
est la commande Jump sautantx
ety
sortant de la pile et déplaçant l'adresse IP(x, y)
dans la zone de code. Dans ce cas, la pile est vide, le seul message d'erreur de la langue est alors imprimé:la source
Microscript , 11 octets
Je devais faire ça.
Étonnamment, c'est en fait plus court que le vrai quine le plus court connu de la langue.
q
eta
sont par ailleurs équivalents, à l'exception de l'q
ajout de guillemets, alors que cea
n'est pas le cas.la source
JavaScript jQuery
119927470 caractèresMaintenant, en utilisant jQuery, comme minitech a suggéré dans les commentaires, et envelopper manuellement avec
<pre><code>
afin que je puisse utilisertext()
sans crainte d'autres blocs de code dans ce post interférer.<h4>
Lorsque je l'ai testé, le wrapping manuel avec était incompatible avec le chrome, il devrait donc maintenant fonctionner dans la plupart des navigateurs.Ce programme, s’il est exécuté à partir de cette page, trouve le bloc de code directement au-dessus, inverse son contenu et le place dans une boîte d’alerte.
C'est assez facile à vérifier, il suffit de le coller dans la console de développement.
la source
querySelector
toute façon…querySelector
moment. Je voudrais examiner la possibilité jQuery, mais il semble que cela prendra un peu plus de temps pour moi de comprendre.jQuery
tuyau. (J'ai seulement commencé à apprendre le javascript hier.)PHP, 41 caractères (+25)
Je ne sais pas si j'ai bien compris la tâche. Mais voici un essai PHP:
edit: cela peut être beaucoup plus court:
Mais comme cela peut être aussi simple, ce n’est probablement pas ce qui est demandé ...
la source
>? ;)llun dna ))__ELIF__(f$(tilps_rts = s$( : )s$(pop_yarra ? )s$(tessi ohce )s$ || )s$(tessi!(elihw ;"stnetnoc_"=.f$ ;'teg_elif'=f$ php?<>?}};ESLAF nruter;"ec6x\i66x\02x\e47x\96x\rw
y a beaucoup plus encore). Indiquez également le nombre de vos personnages. c'est un code golf. En outre, il semble que vous lisiez votre fichier source. Il faut donc ajouter 25 au nombre de vos personnages et c’est votre score. Le score le plus bas gagne.array_pop
pararray_shift
pour que le code source ne soit pas inversé ...ESLAF nruter
iereturn FALSE
).MATLAB, 78 caractères:
Notez que la solution nécessite de commencer par un caractère spécial (alt + 0160) et d’imprimer exactement le message inversé. (Contrairement à la solution python)
la source
Shell UNIX, 31
Véritable solution à 52 caractères:
Mais méfiez-vous! L'honnêteté ne paie pas dans le monde d'aujourd'hui! La pénalité est trop basse !!
6 caractères + 25 = 31:
la source
rev $0
génère l'erreur:rev: illegal option -- b
.MS-DOS, 24 octets
Sortie:
la source
JavaScript, 62
Fonctionne pour moi sur la dernière version de Chrome (v 31.0.1650.63). Certains autres navigateurs peuvent donner une sortie différente. (Si vous inversez cette sortie, alors cela fonctionnerait: P)
la source
SmileBASIC,
118102 octetsla source
JavaScript, 56
la source
CSS, 88 octets
Mettez une page HTML vide pour éviter tout conflit avec d’autres balises.
la source
JavaScript,
53504643 octetsS'il vous plaît aidez-moi à raccourcir cela.
la source
q=_=>[...`q=${q}`].reverse().join``
fonctionne tout aussi bien.Fuzzy Octo Guacamole, 4 octets
K
imprime_UNK
,N
pousseNone
etU
pousse0
. Et_
affiche la valeur la plus élevée sur la pile (mais n’imprime pas). Alors seulement_UNK
est imprimé.la source
K
sortie_UNK
?