"Hello world!", Ripetendo ogni personaggio n volte [chiuso]


15

Nella tua lingua preferita, scrivi un programma che produca esattamente Hello world!. Ogni personaggio nel tuo programma deve essere ripetuto n volte - scegli n .

Ad esempio, potresti scegliere 2 per n . Ciò significa che ogni carattere utilizzato nel codice sorgente deve essere ripetuto più volte, o 0.

Se dovessi scegliere 3 per n , questo programma sarebbe valido:

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

Regole:

  • Non è possibile utilizzare risorse esterne
  • Nessun input dell'utente può essere fornito
  • Devi produrre esattamente Hello world! , niente di più, niente di meno. Le newline sono un'eccezione, sono facoltative.
  • n deve essere> = 2, per mantenere le cose interessanti
  • È fortemente sconsigliato utilizzare i commenti per raggiungere il tuo obiettivo.

Concorso di popolarità, che terminerà tra 14 giorni. Vince la risposta con il punteggio più alto alla fine!


Rubiamo ogni risposta da questo argomento: codegolf.stackexchange.com/questions/18925/… con n = 1
Fabinout

Oops, diciamo che n>=2, @Fabinout
Annulla il

1
ecco un JSFiddle che ho messo insieme per testare se qualcuno ne ha bisogno
Doorknob

2
Mi piacerebbe vedere una soluzione HQ9 + per questo.
Nzall,

1
@Nate HQ9 + genera una virgola (come indicato in una risposta eliminata). ;-)
Maniglia della porta

Risposte:


25

Brainfuck

n = 57. 45 newline rimosse grazie al maniaco del cricchetto

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

Una versione più leggibile:

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

L'ultima riga (nella versione leggibile) è per riempire il conteggio dei personaggi. Non sono commenti. Le s []sono while(0), e le ><s sono essenzialmente no-ops


non potresti mettere l' .interno di uno dei []e non produrre le nuove righe
maniaco del cricchetto

@ratchet maniaco del buon punto. Grazie.
user12205

Penso che il cricchetto stia suggerendo di spostare il [primo []in prima dei punti, in modo che non produca nemmeno NULL.
Ilmari Karonen,

@Ilmari Karonen Oh giusto, capisco. Grazie.
user12205

12

JavaScript

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

Sembrava un po 'troppo facile.


12

Python 3, n = 3, nessun commento

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

Non troppo difficile da capire per un pitone. ;) (Suggerimento: prova a "abcdefghijk"[::2]vedere in cosa si traduce)

A proposito, a HottedHenè un pollo riscaldato, se ti stavi chiedendo. (Il dwwppprima sta per drinking water with purple pancakes, perché è quello che stavano facendo le galline mentre lo stavo scrivendo. Tutti sanno che i pancake viola vanno bene con l'acqua. Ovviamente.)


11

C, 54

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

1
Hai un av che non corrisponde
Eduard Florinescu,

@Eduard hm, hai ragione, deve essere scivolato lì accidentalmente perché non sembra essere stato incluso nel conteggio dei personaggi ... risolto.
FireFly

5

Golfscript - 32

Nuova versione con 2 di ogni personaggio usato - 32 - Test online

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

Vecchia versione - 39 - Test online

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

EDIT: aggiornato da quando le regole sono state aggiornate dicendo che era scoraggiato dall'uso dei commenti


Molto meglio senza commenti!
Annulla il

4

Java - 1221 caratteri

Ogni personaggio viene ripetuto il (int)'!'numero di volte.

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);
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
    }




}

Mi sono stancato di mettere tutto =e, e simili nel codice, in modo che io tutto si è concluso il dumping in una stringa; non un commento, una stringa. Ogni carattere valido viene utilizzato per un nome variabile.


3

Script di comando di Windows - 33 byte

3 di tutto:

ecHo Hello world!% eHccwwrrdd!!%%

3

Riga di comando di Windows - 42 byte

n = 3

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

Lotto - 45 byte

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


2>reindirizza stderr su un file chiamato >22cceHwwrrdd- >è un carattere non valido per un nome file - reindirizza l'output di quell'errore su un file chiamato^! .

Realizzato che ho completamente ignorato !e >. Dang.


Spio

3

Rubino - 40 caratteri (n = 2)

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

Quanti spazi hai? È corretto dire che i primi due psono tab (o qualcosa di simile)?
Justin il

@Quincunx Il primo spazio era un refuso. Ora modificato
Siva il

3

PHP - 30 byte, n = 2

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

La soluzione più breve finora. Potrei essere in grado di ridurlo di 2-4 byte in più.


2

PHP

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

Versione più breve (42 caratteri):

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

Pagina online con quella fonte


Penso che tu possa: - non finire con?> (Che eliminerà l'uso di>) - trattare Hepwintd <! come stringa - 'Hepwintd<!'che si occuperà di $
continuato il



1

Perl (51 byte)

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

Vecchio post e probabilmente non importa troppo, ma puoi salvare alcuni byte usando $'o $"all'interno di un q!!blocco invece di `\` s.
Dom Hastings,

1

C, 75 56 54

2 di tutto

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

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

3 di tutto.

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

Putsinterrompe la lettura dopo il primo byte null ( \000) e restituisce solo tutto ciò che lo precede.


Nel primo iè un po 'solitario! :)
Eduard Florinescu,

I tuoi primi due ne hanno solo uno i(facile da risolvere: cambia il mainnome dell'argomento). Il tuo ultimo ha un solo spazio
Maniglia della porta

1
@EduardFlorinescu Lol, l'ho pubblicato esattamente contemporaneamente a te: P
Maniglia

Oops, il primo mancava. Il secondo ce l'aveva, appena fuori posto.
Kevin,

1

Pitone:

Con 3 caratteri ciascuno.

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

nddwt è un rinoceronte!


1

JavaScript 40 (n = 2)

Ho adottato un approccio leggermente diverso a @eithedog, usando le lettere rimaste per agire come un trigger logico, quindi era assolutamente essenziale usarlo per attivare la alertfunzione.

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



1

Javascript, 40

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

Se non sbaglio ogni personaggio appare due volte (anche se ho iniziato a vedere il doppio, quindi non sono sicuro)

modifica: E, se si abusano delle regole - 36 :

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

(abuso = mentre l'output viene fornito come prompt, la console visualizza l'errore - non so come trattarlo).


2
rappare 3 volte mentre wappare solo una volta. (in entrambe le versioni) Basta sostituire il finale rcon wper risolverlo
Maniglia della porta

Oh, dislessia, amante crudele ... Grazie!
Eithed

1

Bash, 39

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

Questo visualizza esattamente Hello world !, ed è di 39 caratteri se ometti la nuova riga finale (bash non sembra averne bisogno).

Se hai bisogno di una versione con distinzione tra maiuscole e minuscole, diventa 42 caratteri:

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

1

JavaScript (52 caratteri)

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

Ogni personaggio viene usato 2 volte e non usa commenti!

Nota: ho inviato questa risposta prima qui .


1

Golfscript x4 - Nessun simbolo aggiuntivo - Utilizzo di tutti i comandi possibili

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

Ho provato a fare uno che non avesse alcun simbolo aggiuntivo oltre a ciò che era assolutamente necessario (anche se avrei potuto scegliere " invece di 'o ")

Come obiettivo secondario volevo anche inserire il minor numero possibile di caratteri in una stringa, quindi ho usato l' !operatore in quanto tale e mi sono anche avvicinato agli dooperatori.


1

R, 346 caratteri, 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])

Personaggi utilizzati in questo codice:

,"()[]*\+0123456789acfinotTU

1

ASP classico (VBScript; 62 caratteri)

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

Usa ogni personaggio esattamente 2 volte!


Modifica: questo codice è un po 'più corto:

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

E così è questo:

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

1

Befunge 98 - 26 byte

Dato che ho dovuto duplicare rcomunque, ho pensato che avrei potuto anche far leggere il testo sorgente da sinistra a destra piuttosto che dal tipico gnirtsstile Befunge. Non c'è nulla di particolarmente notevole in questo; Non sono sicuro che avere un codice che semplicemente non viene eseguito conta come un commento, ma i sei caratteri Hel w!vengono semplicemente ignorati.

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

0

Turtlèd, n = 3, (non competitivo)

N = 3, a causa di "Ciao mondo!" avendo tre ls.

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

Provalo online

Spiegazione:

'!                                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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.