125 votes

Défi de programmation : pouvez-vous coder un programme "hello world" sous forme de palindrome ?

Le puzzle consiste donc à écrire un programme hello world dans le langage de votre choix, où le fichier source du programme, en tant que chaîne de caractères, doit être une palindrome .

Pour être clair, la sortie doit être exactement "Hello, World".


Editar:

Avec les commentaires, cela semble trivial (même si je n'y ai pas pensé moi-même [soupir]). cobalt ).

Así que nouvelle règle : pas de commentaires.


Editar:

Je me sens un peu mal d'éditer la question de quelqu'un d'autre pour dire cela, mais cela éliminera beaucoup de non-palindromes qui continuent à apparaître, et je suis fatigué de voir la même erreur simple encore et encore.

Ce qui suit est PAS un palindrome :

()()

Les éléments suivants IS un palindrome :

())(

Les crochets, les parenthèses et tout ce qui doit correspondre sont un obstacle majeur au palindrome, certes, mais cela ne signifie pas que vous pouvez les ignorer et poster des réponses non palindromes.


Langues représentées jusqu'à présent :

C, C++, Bash, elisp, C#, Perl, sh, Windows shell, Java, Common Lisp, Awk, Ruby, Brainfuck, Funge, Python, Machine Language, HQ9+, Assembly, TCL, J, php, Haskell, io, TeX, APL, Javascript, mIRC script, Basic, Orc, Fortran, Unlambda, Pseudo-code, Befunge, CFML, Lua, INTERCAL, VBScript, HTML, sed, PostScript, GolfScript, REBOL, SQL

1voto

David Points 3766

J

'Hello World!'['!dlroW olleH'

Facile - [ retourne l'argument de gauche.

1voto

Ante Points 2193

Ce n'est pas strictement un palindrome, mais en omettant les espaces, ça l'est :-)

Code d'espacement :

H     
e            
l                 
l                     
o                    
,                           
.                       
W            
o            
r                 
l                           
d                     
. 
.                   
.              
.
.   
.   
d   
l 
r       
o
W 
. 
,
o   
l
l
e
H

Format plus lisible, S-space, T-tab :

.SSSSS
.SSSTSTS
.SSSTTSSTSS     
.SSSTTSTTSS     
.SSSTTTSSTS             
.SSSTTSTTTT     
.SSSTSTSTTT     
.SSSTSSSSS
.SSSTSSSSS
.SSSTSTTSS              
.SSSTTSTTTT     
.SSSTTSTTSS     
.S
.SSSSTTSSTST    
.SSSTSSTSSS     
.
.SSS
.T
.SSS
.S
.TST    
.
.S
.S
.
.SST
.
.
.
.

0voto

dmckee Points 50318

Si j'écris un "hello world" normal en c++ sans commentaires ni nouvelles lignes et que j'ajoute un '/', alors j'ai la première moitié d'un programme palindromatique fonctionnel...

Ah, la #include cause un petit problème


Comme ça :

#include <iostream>//
int main(void){std::cout<<"Hello, world!"<<std::endl;}/

0voto

Lasse V. Karlsen Points 148037

C'est facile si vous autorisez les commentaires.

Juste (pseudo-code pour tout langage) :

program-that-prints-hello-world // dlrow-olleh-strnirp-taht-margorp

Bien sûr, si vous interdisez les commentaires, cela devient beaucoup plus difficile.

Voici une version C# :

class P { static void Main() { System.Console.WriteLine("Hello world"); } } //
} };)"dlrow olleH"(eniLetirW.elosnoC.metsyS { )(niaM diov citats { P ssalc

Il suffit de tout mettre sur la deuxième ligne après // avec un espace devant.

0voto

Rayne Points 14518
(println "Hello, World!") ; )"!dlroW ,olleH" nltnirp(

Je triche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X