„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!


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


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.


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.)


11

C, 54

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

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


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.



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.


Szpieguję 4 spacje :(
wyszedł

3

Rubin - 40 znaków (n = 2)

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

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.


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


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ł



1

Perl (51 bajtów)

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

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.


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

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!")



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ć).


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!"

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ź .


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.


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

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!

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!"

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.