"Bonjour tout le monde!", En répétant chaque caractère n fois [fermé]


15

Dans la langue de votre choix, écrivez un programme qui sort exactement Hello world!. Chaque caractère de votre programme doit être répété n fois - vous choisissez n .

Par exemple, vous pouvez choisir 2 pour n . Cela signifie que chaque caractère utilisé dans votre code source doit être répété autant de fois, ou 0.

Si je devais choisir 3 pour n , ce programme serait valide:

ab(b(b(aa)));;;

Règles:

  • Vous ne pouvez utiliser aucune ressource externe
  • Aucune entrée utilisateur ne peut être fournie
  • Vous devez produire exactement Hello world! , ni plus, ni moins. Les sauts de ligne sont l'exception, ils sont facultatifs.
  • n doit être> = 2, pour que les choses restent intéressantes
  • Il est fortement déconseillé d'utiliser des commentaires pour atteindre votre objectif.

Concours de popularité, se terminant dans 14 jours. La réponse la plus élevée à la fin gagne!


Volons toutes les réponses de ce sujet: codegolf.stackexchange.com/questions/18925/… avec n = 1
Fabinout

Oups, disons que n>=2, @Fabinout
Annuler le

1
voici un JSFiddle que j'ai jeté ensemble pour tester si quelqu'un en a besoin
Poignée de porte

2
J'aimerais voir une solution HQ9 + pour cela.
Nzall

1
@Nate HQ9 + génère une virgule (comme indiqué dans une réponse supprimée). ;-)
Poignée de porte

Réponses:


25

Brainfuck

n = 57. 45 nouvelles lignes supprimées grâce à un monstre à cliquet

++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++..+++.>++.<++++++++.--------.+++.------.--------.>+.---------------------------------[.............................................][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]<-<<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><

Une version plus lisible:

+++++ +++++ [
    > +++++ ++
    > +++++ +++++
    > +++
    <<< -
]
> ++ .
> + .
+++++ ++.
.
+++ .
> ++ .
< +++++ +++ .
----- --- .
+++ .
----- - .
----- --- .
> + .
---------------------------------[.............................................][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]<-<<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><

La dernière ligne (sur la version lisible) est pour remplir le nombre de caractères. Ce ne sont pas des commentaires. Les s []sont while(0), et les ><s sont essentiellement des non-ops


ne pouviez-vous pas mettre l' .intérieur de l'un []et ne pas sortir les sauts de ligne
ratchet freak

@ratchet freak Bon point. Merci.
user12205

Je pense que le cliquet suggérait de déplacer le [dans le premier []avant les points, afin qu'il ne produise même pas de NULL.
Ilmari Karonen du

@Ilmari Karonen Ah oui, je vois. Merci.
user12205

12

Javascript

alert(("aaaeerrttt((,,,HHHoo   wwwddd!!!))","Hello world!"))

Cela semblait un peu trop facile.


12

Python 3, n = 3, aucun commentaire

dwwppHottedHen =print((("H[e]l1l1o\\ !w!orrilidn!\""[::2][:12])))== 2

Pas trop difficile à comprendre pour un pythoniste. ;) (Astuce: essayez de "abcdefghijk"[::2]voir ce qu'il en résulte)

Soit dit en passant, a HottedHenest un poulet réchauffé, si vous vous posiez la question. ( dwwppAvant cela représente drinking water with purple pancakes, car c'est ce que faisaient les poules quand je l'écrivais. Tout le monde sait que les crêpes violettes vont bien avec l'eau. Évidemment.)


11

C, 54

main(Hadmeinwurst015p){{!puts("Hello\40wor\154d!");;}}

1
Vous avez un av qui ne correspond pas
Eduard Florinescu

@Eduard hm, vous avez raison, il a dû s'y glisser accidentellement car il ne semble pas avoir été inclus dans le nombre de personnages ... corrigé.
FireFly

5

Golfscript - 32

Nouvelle version avec 2 de chaque caractère utilisé - 32 - Test en ligne

;"Hello wor\x6cd!" '\Hewrx6cd!';

Ancienne version - 39 - Test en ligne

;;'Hello world!'  "'HHeewworrdd!!\\\"";

EDIT: mis à jour depuis la mise à jour des règles en disant qu'il était découragé par l'utilisation de commentaires


Beaucoup mieux sans commentaires!
Annuler

4

Java - 1221 caractères

Chaque caractère est répété (int)'!'plusieurs fois.

public class ncharacterHelloworld {
    public static void main(String[] args){
        {;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;{;{;{;{;{;{;{;{;{;{;{
String pppppppppppppppuuuuuuuuuuuuuubbbbbbbbbbbbbbbllllllllllliiiiiiiiiiicccccccccccccaaaaaaaaaaaassssssssssssssnnnnnnnnnnnnnhhhhhhhhhhhhhhhhrrrrrrrrrrrrttttttttttteeeeeeeeeeeeeeHHHHHHHHHHHHHHHooooooooooooowwwwwwwwwwwwwwwdddddddddddddddvvvvvvvvvvvvvvvvmmmmmmmmmmmmmmmSSSSSSSSSSSSSSSgggggggggggggggyyyyyyyyyyyyyyyy="Hello world!",
a=pppppppppppppppuuuuuuuuuuuuuubbbbbbbbbbbbbbbllllllllllliiiiiiiiiiicccccccccccccaaaaaaaaaaaassssssssssssssnnnnnnnnnnnnnhhhhhhhhhhhhhhhhrrrrrrrrrrrrttttttttttteeeeeeeeeeeeeeHHHHHHHHHHHHHHHooooooooooooowwwwwwwwwwwwwwwdddddddddddddddvvvvvvvvvvvvvvvvmmmmmmmmmmmmmmmSSSSSSSSSSSSSSSgggggggggggggggyyyyyyyyyyyyyyyy,
u="\"=============================,,,,,,,,,,,,,,,,,,,,,,...............................",b="\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\\\\\\a",i,l,c,t,H,o,w,m;int[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]ffffffffffffffffffffffffffffffff;
        if(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!!true)))))))))))))))))))))))))))))))
System.out.println(a);
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
    }




}

J'étais fatigué de mettre tout =et ,ainsi de suite dans le code, alors j'ai fini de les vider tous dans une chaîne; pas un commentaire, une chaîne. Chaque caractère valide est utilisé pour un nom de variable.


3

Script de commande Windows - 33 octets

3 de tout:

ecHo Hello world!% eHccwwrrdd!!%%

3

Ligne de commande Windows - 42 octets

n = 3

ecHo.Hello world! 2>^>2cceHwwrrdd!.. 2>^^!

Lot - 45 octets

@ecHo.Hello world! 2>^>2cceHwwrrdd@@..! 2>^^!


2>redirige stderr vers un fichier appelé >22cceHwwrrdd- >n'est pas un caractère valide pour un nom de fichier - redirige la sortie de cette erreur vers un fichier appelé ^!.

Réalisé que j'ai complètement ignoré !et >. Dang.



3

Rubis - 40 caractères (n = 2)

print "Hel\x6co World!"||'pintHe\x6cWd!'

Combien d'espaces avez-vous? Est-il exact de dire que les deux premiers autour psont des onglets (ou quelque chose de similaire)?
Justin

@Quincunx Le premier espace était une faute de frappe. Maintenant édité
Siva

3

PHP - 30 octets, n = 2

Hell<?='=s?<;^2s'^RSHSI2VReIV;

Solution la plus courte jusqu'à présent. Je peux peut-être réduire cela de 2 à 4 octets supplémentaires.


2

PHP

<?print"H\145llo wor\154d!"; $Hwpintd<>!'$';?>

Version plus courte (42 caractères):

<?print"H\145llo wor\154d!"; 'Hwd<pint?!';

Page en ligne avec cette source


Je pense que vous pouvez: - ne pas finir avec?> (Ce qui éliminera l'utilisation de>) - traiter Hepwintd <! sous forme de chaîne - 'Hepwintd<!'qui se chargeront de $
eithed



1

Perl (51 octets)

print'Hello world!'; ppriinnttHHeeowwdd; "'\"\\!!";

Ancien poste et n'a probablement pas trop d'importance, mais vous pouvez enregistrer quelques octets en utilisant $'ou à l' $"intérieur d'un q!!bloc au lieu des `\` s.
Dom Hastings

1

C, 75 56 54

2 de tout

main(HWacdeimnprstux6) {{!puts("Hel\x6co\ World!");;}}

main( ){puts("Hello Wor\x6cd!\0!;HWacdeimnprstux06{}");}

3 de tout.

main(){puts("Hello World!\000!!;;HHWWaaddeeiimmnnpprrssttuu{}{}\"\()o");}

Putsarrête la lecture après le premier octet nul ( \000) et ne sort que tout ce qui précède.


Dans le premier iest un peu solitaire! :)
Eduard Florinescu

Vos deux premiers n'en ont qu'un i(facile à corriger: changez le mainnom de l' argument). Votre dernier n'a qu'un seul espace
Poignée de porte

1
@EduardFlorinescu Lol, je l'ai posté exactement en même temps que vous: P
Poignée de porte

Oups, le premier manquait. Le second l'avait, juste à sa place.
Kevin

1

Python:

Avec 3 caractères chacun.

print 'Hello world!'#He's aware#paints#Hipos!nddwt!

nddwt est un rhinocéros!


1

JavaScript 40 (n = 2)

J'ai adopté une approche légèrement différente de @eithedog, en utilisant les lettres restantes pour agir comme un déclencheur logique, de sorte qu'il était absolument essentiel de l'utiliser pour activer la alertfonction.

('Hawtd !')&&alert("He\x6c\x6co world!")



1

Javascript, 40

alert("Hel\x6Co wor\x6Cd!", !('adtHw,'))

Si je ne me trompe pas, chaque personnage apparaît deux fois (même si j'ai commencé à voir double, donc je ne suis pas sûr)

edit: Et, si vous abusez des règles - 36 :

alert("Hel\x6Co wor\x6Cd!")( !wdatH)

(abus = alors que la sortie est donnée comme une invite, la console affiche l'erreur - je ne sais pas comment traiter cela).


2
rapparaît 3 fois et wn'apparaît qu'une seule fois. (dans les deux versions) Il suffit de remplacer la finale rpar wpour la réparer
Poignée de porte

Oh, dyslexie, cruelle maîtresse ... Merci!
vu le

1

Bash, 39

echo -e "H\r--w\"!wccdd!\rHello world!"

Cela affiche exactement Hello world !, et représente 39 caractères si vous omettez la nouvelle ligne de fin (bash ne semble pas en avoir besoin).

Si vous avez besoin d'une version sensible à la casse, elle devient 42 caractères:

echo -e "HhhH\r--w\"!wccdd!\rHello world!"

1

JavaScript (52 caractères)

alert(['He\x6C\x6Co world!'][(!1,0)-0], +-1+"Hadtw")

Chaque personnage est utilisé 2 fois, et il n'utilise aucun commentaire!

Remarque: J'ai d'abord publié cette réponse ici .


1

Golfscript x4 - Pas de symboles supplémentaires - Utilisation de toutes les commandes possibles

'HHHeeelWWWrrrd'!!! do do 'Hello world!'

J'ai essayé d'en faire un qui n'avait pas de symboles supplémentaires au-delà de ce qui était absolument nécessaire (bien que j'aurais pu choisir à la "place de 'ou ")

Comme objectif secondaire, je voulais également mettre le moins de caractères possible dans une chaîne, donc j'ai utilisé l' !opérateur en tant que tel et j'ai également pressé les doopérateurs.


1

R, 346 caractères, n = 12

cat((((((((((intToUtf8(c(40,69,76,76,79,0,55,79,82,76,68,1)+31+1+0+0+0+0+0+0+0+0++0*11111111[1]*22222222222[1]*33333333333[1]*44444444444[1]*5555555555[1]*6666666[1]*7777777[1]*888888888[1]*999999*9[1]*9[1]*9[1])))))))))),"\"\"\"\"\"\"\"\"\"\"\\aaaaaaaaaaaccccccccccfffffffffffiiiiiiiiiiinnnnnnnnnnnoooooooooootttttttttTTTTTTTTTTTUUUUUUUUUUU"[0])

Caractères utilisés dans ce code:

,"()[]*\+0123456789acfinotTU

1

ASP classique (VBScript; 62 caractères)

Hel<%REspOnsE.wRite Chr((0<0>-.6&"!")+&H6C+h-dinptO)%>o world!

Utilise chaque personnage exactement 2 fois!


Edit: Ce code est un peu plus court:

Hel<%= Chr((0<0>we=6&"!")+&H6C+hd)%>o world!

Et c'est ainsi:

Hel<%= CHr((0<1>wedC=8&"!&")++108)%>o world!

1

Befunge 98 - 26 octets

Comme je devais rquand même le dupliquer , je me suis dit que je pouvais aussi bien faire lire le texte source de gauche à droite plutôt que le style gnirtsBefunge typique . Il n'y a rien de particulièrement remarquable à ce sujet; Je ne sais pas si avoir du code qui n'est tout simplement pas exécuté compte comme un commentaire, mais les six caractères Hel w!sont simplement ignorés.

rHel w!@,dk"Hello, world!"

0

Turtlèd, n = 3, (non compétitif)

N = 3, à cause de "Bonjour tout le monde!" avoir trois ls.

'!' ' HHeeowwrrdd"Hello world!""!

Essayez-le en ligne

Explication:

'!                                write exclamation mark
  ' '                             write space twice on the same cell as exclamation mark
      HHeeowwrrdd                 balances chars in Hello world!, moves the pointer
                 "Hello world!"   Write Hello world! to grid
                               "! Write the exclamation mark again, on top of the last one
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.