„Witaj świecie!”, Powtarzając każdą postać n razy [zamknięte]

15

W wybranym języku napisz program, który dokładnie wypisuje dane Hello world!. Każda postać w twoim programie musi zostać powtórzona n razy - wybierasz n .

Na przykład możesz wybrać 2 dla n . Oznacza to, że każdy znak użyty w kodzie źródłowym musi być powtarzany tyle razy, albo 0.

Gdybym miał wybrać 3 dla n , ten program byłby ważny:

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

Zasady:

  • Nie możesz używać żadnych zasobów zewnętrznych
  • Nie można podać danych wejściowych użytkownika
  • Musisz generować dokładnie Hello world! , nie więcej, nie mniej. Newlines są wyjątkiem, są opcjonalne.
  • n musi być> = 2, aby zachować ciekawość
  • Odradza się używanie komentarzy do osiągnięcia celu.

Konkurs popularności, kończący się za 14 dni. Najlepsza odpowiedź na koniec wygrywa!

Cofnij
źródło
Ukradnijmy wszystkie odpowiedzi z tego tematu: codegolf.stackexchange.com/questions/18925/... with n = 1
Fabinout
Ups, powiedzmy n>=2, @Fabinout
Cofnij
1
oto JSFiddle, które rzuciłem razem do testowania, jeśli ktoś tego potrzebuje
Klamka
2
Chciałbym zobaczyć rozwiązanie HQ9 +.
Nzall
1
@Nate HQ9 + wyświetla przecinek (jak zaznaczono w usuniętej odpowiedzi). ;-)
Klamka

Odpowiedzi:

25

Brainfuck

n = 57. Usunięto 45 nowych linii dzięki maniakowi zapadek

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

Bardziej czytelna wersja:

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

Ostatni wiersz (w wersji do odczytu) służy do uzupełnienia liczby znaków. To nie są komentarze. []while(0)s oraz ><s są w istocie no-ops

użytkownik12205
źródło
nie mógłbyś umieścić w .środku jednego z nich []i nie wypisywać nowych linii
maniak zapadkowy
@ratchet freak Good point. Dzięki.
user12205
Myślę, że zapadka sugerowała przesunięcie kropki [na pierwszą []przed kropkami, aby nie generowała nawet NULL-ów.
Ilmari Karonen
@Ilmari Karonen No tak, rozumiem. Dzięki.
user12205
12

JavaScript

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

To wydawało się trochę zbyt łatwe.

Kendall Frey
źródło
12

Python 3, n = 3, bez komentarzy

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

Nie jest to zbyt trudne do zrozumienia dla Pythonisty. ;) (Wskazówka: spróbuj "abcdefghijk"[::2]zobaczyć, co za tym idzie)

Nawiasem mówiąc, a HottedHenjest rozgrzanym kurczakiem, jeśli się zastanawiasz. ( dwwppPrzed nim stoi drinking water with purple pancakes, ponieważ to właśnie robiły kury, kiedy to pisałem. Wszyscy wiedzą, że purpurowe naleśniki dobrze pasują do wody. Oczywiście.)

Klamka
źródło
11

C, 54

main(Hadmeinwurst015p){{!puts("Hello\40wor\154d!");;}}
Robaczek świętojański
źródło
1
Masz av, który nie pasuje
Eduard Florinescu
@Eduard hm, masz rację, musiało się tam przypadkowo wślizgnąć, ponieważ nie wydaje się, że zostało uwzględnione w liczbie znaków ... naprawione.
FireFly,
5

Golfscript - 32

Nowa wersja z 2 każdą używaną postacią - 32 - Testuj online

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

Stara wersja - 39 - Testuj online

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

EDYCJA: Zaktualizowano, ponieważ zasady zostały zaktualizowane, mówiąc, że zniechęcono je za pomocą komentarzy

Plarsen
źródło
Znacznie lepiej bez komentarzy!
Cofnij
4

Java - 1221 znaków

Każda postać jest powtarzana (int)'!'kilka razy.

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




}

I znudziło umieszczenie wszystkich =i ,itp w kodzie, więc skończyło dumping je wszystkie w ciągu; nie komentarz, ciąg znaków. Każdy prawidłowy znak jest używany dla nazwy zmiennej.

Justin
źródło
3

Skrypt poleceń systemu Windows - 33 bajty

3 wszystkiego:

ecHo Hello world!% eHccwwrrdd!!%%
Robert Sørlie
źródło
3

Wiersz poleceń systemu Windows - 42 bajty

n = 3

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

Partia - 45 bajtów

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


2>przekierowuje stderr do pliku o nazwie >22cceHwwrrdd- >jest niepoprawnym znakiem dla nazwy pliku - przekierowuje wyjście tego błędu do pliku o nazwie ^!.

Uświadomiłem sobie, że całkowicie zignorowałem !i >. Dang.

nieszczęście
źródło
Szpieguję 4 spacje :(
wyszedł
3

Rubin - 40 znaków (n = 2)

print "Hel\x6co World!"||'pintHe\x6cWd!'
Siva
źródło
Ile masz miejsc? Czy słusznie jest powiedzieć, że pierwsze dwa wokół pto zakładki (lub coś podobnego)?
Justin
@Quincunx Pierwsza spacja to literówka. Teraz zredagowana
Siva
3

PHP - 30 bajtów, n = 2

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

Najkrótsze jak dotąd rozwiązanie. Może uda mi się to zmniejszyć o 2-4 bajty więcej.

primo
źródło
2

PHP

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

Krótsza wersja (42 znaki):

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

Strona internetowa z tym źródłem

3ventic
źródło
Myślę, że możesz: - nie kończyć na?> (Co wyeliminuje użycie>) - leczyć Hepwintd <! jako ciąg znaków - 'Hepwintd<!'który zajmie się $
wyszedł
2

Galaretka , 16 bajtów (niekonkurencyjna)

“⁸ƒẹI4»
“⁸ƒẹI4»

(+ końcowy znak nowej linii)

Wypróbuj online! (n = 2)

BRAK KOMENTARZY. Zapewniam was. Wystarczy Link 1 i link główny.

Erik the Outgolfer
źródło
I tak, wiem, że to nie jest golf golfowy .
Erik the Outgolfer
Hmm ... więc ta odpowiedź utorowała drogę do zakończenia tego wyzwania. Ładny.
Erik the Outgolfer
1

Perl (51 bajtów)

print'Hello world!'; ppriinnttHHeeowwdd; "'\"\\!!";
Konrad Borowski
źródło
Stary post i prawdopodobnie nie ma większego znaczenia, ale możesz zapisać kilka bajtów za pomocą $'lub $"wewnątrz q!!bloku zamiast `\ 's.
Dom Hastings
1

C 75 56 54

2 wszystkiego

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

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

3 wszystkiego.

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

Putsprzestaje czytać po pierwszym pustym bajcie ( \000) i wyświetla tylko wszystko przed nim.

Kevin
źródło
W pierwszym ijest trochę samotny! :)
Eduard Florinescu
Pierwsze dwa mają tylko jeden i(łatwy do naprawienia: zmień mainnazwę argumentu). Twoje ostatnie ma tylko jedno miejsce
Klamka
1
@EduardFlorinescu Lol, zamieściłem to dokładnie w tym samym czasie co Ty: P
Klamka
Ups, brakowało pierwszego. Drugi miał to, nie na miejscu.
Kevin
1

Pyton:

Po 3 znaki każdy.

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

nddwt jest nosorożcem!

Eduard Florinescu
źródło
1

JavaScript 40 (n = 2)

Przyjąłem nieco inne podejście do @eithedog, używając lewych liter do działania jako wyzwalacza logicznego, więc absolutnie niezbędne było użycie go do aktywacji alertfunkcji.

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

WallyWest
źródło
1

Python 2, 38

deinptw=H=5; print"Hel\154o world\41";
Armin Rigo
źródło
1

JavaScript, 40

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

Jeśli się nie mylę, każda postać pojawia się dwa razy (chociaż zaczęłam widzieć podwójnie, więc nie jestem pewien)

edytuj: A jeśli naruszasz zasady - 36 :

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

(nadużycie = gdy dane wyjściowe są podawane jako monit, konsola wyświetla błąd - nie wiem, jak to potraktować).

eithed
źródło
2
rpojawia się 3 razy, a wpojawia się tylko raz. (w obu wersjach) Wystarczy zastąpić końcowy rze wgo naprawić
klamce
Och, dysleksja, ty okrutna kochanko ... Dzięki!
wyjechał
1

Bash, 39 lat

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

To wyświetla dokładnie Hello World !, i ma 39 znaków, jeśli pominąć nowej linii spływu (bash nie wydaje się to potrzebne).

Jeśli potrzebujesz wersji z rozróżnianiem wielkości liter, staje się ona 42 znakami:

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

źródło
1

JavaScript (52 znaki)

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

Każda postać jest używana 2 razy i nie używa żadnych komentarzy!

Uwaga: najpierw opublikowałem tutaj tę odpowiedź .

Szczoteczka do zębów
źródło
1

Golfscript x4 - Bez dodatkowych symboli - Korzystanie ze wszystkich możliwych poleceń

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

Próbowałem zrobić taki, który nie miałby żadnych dodatkowych symboli poza tym, co było absolutnie konieczne (chociaż mogłem wybrać "zamiast 'lub ")

Jako dodatkowy cel chciałem również umieścić możliwie jak najmniej znaków w ciągu, więc użyłem !operatora jako takiego, a także ścisnąłem dooperatorów.

McKay
źródło
1

R, 346 znaków, 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])

Znaki użyte w tym kodzie:

,"()[]*\+0123456789acfinotTU
Sven Hohenstein
źródło
1

Klasyczna ASP (VBScript; 62 znaki)

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

Używa każdej postaci dokładnie 2 razy!


Edycja: ten kod jest nieco krótszy:

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

I to jest tak:

Hel<%= CHr((0<1>wedC=8&"!&")++108)%>o world!
Szczoteczka do zębów
źródło
1

Befunge 98 - 26 bajtów

Ponieważ i tak musiałem powielić r, pomyślałem, że równie dobrze mogę sprawić, że tekst źródłowy będzie czytany od lewej do prawej zamiast typowego gnirtsstylu Befunge. Nie ma w tym nic szczególnie godnego uwagi; Nie jestem pewien, czy posiadanie kodu, który po prostu nie jest wykonywany, liczy się jako komentarz, ale sześć znaków Hel w!jest po prostu ignorowanych.

rHel w!@,dk"Hello, world!"
Haktar
źródło
0

Turtlèd, n = 3, (niekonkurencyjny)

N = 3, z powodu „Hello world!” mając trzy ls.

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

Wypróbuj online

Wyjaśnienie:

'!                                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
Zniszczalna cytryna
źródło