“Hello world!”, Mengulang setiap karakter n kali [ditutup]


15

Dalam bahasa pilihan Anda, tulislah sebuah program yang menghasilkan persis Hello world!. Setiap karakter dalam program Anda harus diulang n kali - Anda pilih n .

Misalnya, Anda dapat memilih 2 untuk n . Ini berarti bahwa setiap karakter yang digunakan dalam kode sumber Anda harus diulang sebanyak itu, atau 0.

Jika saya memilih 3 untuk n , program ini akan valid:

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

Aturan:

  • Anda tidak dapat menggunakan sumber daya eksternal apa pun
  • Tidak ada input pengguna dapat diberikan
  • Anda harus menampilkan dengan tepat Hello world! , tidak lebih, tidak kurang. Baris baru adalah pengecualian, mereka opsional.
  • n harus> = 2, untuk menjaga hal-hal menarik
  • Sangat tidak disarankan menggunakan komentar untuk mencapai tujuan Anda.

Kontes popularitas, berakhir dalam 14 hari. Jawaban skor tertinggi pada akhirnya menang!


Mari kita curi setiap jawaban dari topik ini: codegolf.stackexchange.com/questions/18925/… dengan n = 1
Fabinout

Ups, katakan saja n>=2, @Fabinout
Undo

1
inilah sebuah JSFiddle saya melemparkan bersama-sama untuk pengujian jika ada kebutuhan itu
Doorknob

2
Saya ingin melihat solusi HQ9 + untuk ini.
Nzall

1
@Nate HQ9 + menampilkan koma (sebagaimana dicatat dalam jawaban yang dihapus). ;-)
Gagang Pintu

Jawaban:


25

Brainfuck

n = 57. 45 baris baru dihapus berkat ratchet freak

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

Versi yang lebih mudah dibaca:

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

Baris terakhir (pada versi yang dapat dibaca) adalah untuk mengisi jumlah karakter. Itu bukan komentar. The []adalah while(0)s, dan ><s pada dasarnya tidak-ops


Anda tidak dapat menempatkan bagian .dalam salah satu []dan tidak menampilkan baris baru
ratchet freak

@ scratchet freak Poin bagus. Terima kasih.
user12205

Saya pikir ratchet menyarankan untuk memindahkan yang [pertama []sebelum titik, sehingga tidak akan menghasilkan bahkan NULL.
Ilmari Karonen

@Ilmari Karonen Oh benar, begitu. Terima kasih.
user12205

12

JavaScript

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

Ini sepertinya agak terlalu mudah.


12

Python 3, n = 3, tidak ada komentar

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

Tidak terlalu sulit untuk dipahami oleh seorang Python. ;) (Petunjuk: coba "abcdefghijk"[::2]dan lihat hasilnya)

Omong-omong, a HottedHenadalah ayam yang dihangatkan, jika Anda bertanya-tanya. (Yang dwwppsebelum itu artinya drinking water with purple pancakes, karena itulah yang dilakukan ayam ketika saya menulisnya. Semua orang tahu bahwa pancake ungu cocok dengan air. Jelas.)


11

C, 54

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

1
Anda memiliki av yang tidak cocok
Eduard Florinescu

@Eduard hm, Anda benar, pasti menyelinap ke sana secara tidak sengaja karena sepertinya tidak termasuk dalam jumlah karakter ... diperbaiki.
FireFly

5

Golfscript - 32

Versi baru dengan 2 karakter yang digunakan - 32 - Tes online

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

Versi lama - 39 - Tes online

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

EDIT: Diperbarui sejak aturan diperbarui mengatakan itu tidak disarankan dengan penggunaan komentar


Jauh lebih baik tanpa komentar!
Undo

4

Java - 1221 karakter

Setiap karakter diulang (int)'!'beberapa kali.

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




}

Saya bosan menempatkan semua =dan ,sejenisnya dalam kode, jadi saya akhirnya membuang semuanya dalam sebuah String; bukan komentar, string. Setiap karakter yang valid digunakan untuk nama variabel.


3

Script Perintah Windows - 33 byte

3 dari semuanya:

ecHo Hello world!% eHccwwrrdd!!%%

3

Windows Command Line - 42 Bytes

n = 3

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

Batch - 45 Bytes

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


2>pengalihan stderr ke file yang disebut >22cceHwwrrdd- >adalah karakter yang tidak valid untuk nama file - mengarahkan output dari kesalahan itu ke file yang disebut ^!.

Menyadari bahwa saya sepenuhnya mengabaikan !dan >. Dang.


Saya memata-matai 4 spasi :(
eithed

3

Ruby - 40 Chars (n = 2)

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

Berapa banyak ruang yang Anda miliki? Apakah benar mengatakan bahwa dua yang pertama padalah tab (atau yang serupa)?
Justin

@Quincunx Ruang pertama adalah salah ketik. Sekarang diedit
Siva

3

PHP - 30 byte, n = 2

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

Solusi terpendek sejauh ini. Saya mungkin bisa mengurangi ini dengan 2-4 byte lebih banyak.


2

PHP

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

Versi lebih pendek (42 karakter):

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

Halaman online dengan sumber itu


Saya pikir Anda dapat: - tidak diakhiri dengan>> (yang akan menghilangkan penggunaan>) - perlakukan Hepwintd <! sebagai string - 'Hepwintd<!'yang akan menangani $
eithed



1

Perl (51 byte)

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

Posting lama dan mungkin tidak terlalu penting, tetapi Anda dapat menyimpan beberapa byte menggunakan $'atau $"di dalam q!!blok alih-alih ``.
Dom Hastings

1

C, 75 56 54

2 dari semuanya

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

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

3 dari semuanya.

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

Putsberhenti membaca setelah byte nol pertama ( \000), dan hanya menampilkan semuanya sebelum itu.


Yang pertama iagak sepi! :)
Eduard Florinescu

Dua pertama Anda hanya memiliki satu i(mudah diperbaiki: ubah mainnama argumen). Terakhir Anda hanya memiliki satu ruang
Gagang Pintu

1
@EduardFlorinescu Lol, saya memposting itu tepat pada saat yang sama dengan Anda: P
Doorknob

Ups, yang pertama hilang. Yang kedua memilikinya, tidak pada tempatnya.
Kevin

1

Python:

Dengan masing-masing 3 karakter.

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

nddwt adalah badak!


1

JavaScript 40 (n = 2)

Saya mengambil pendekatan yang sedikit berbeda ke @eithedog, menggunakan huruf-huruf yang tersisa untuk bertindak sebagai pemicu logika, sehingga sangat penting untuk menggunakannya untuk mengaktifkan alertfungsi.

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



1

Javascript, 40

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

Jika saya tidak salah, setiap karakter muncul dua kali (meskipun saya mulai melihat ganda, jadi saya tidak yakin)

sunting: Dan, jika menyalahgunakan aturan - 36 :

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

(penyalahgunaan = sementara output diberikan sebagai prompt, konsol menampilkan kesalahan - tidak tahu bagaimana memperlakukan ini).


2
rmuncul 3 kali sementara whanya muncul sekali. (dalam kedua versi) Hanya ganti final rdengan wuntuk memperbaikinya
Gagang Pintu

Oh, disleksia, Anda nyonya kejam ... Terima kasih!
eithed

1

Bash, 39

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

Ini menampilkan Hello world !, dan 39 karakter jika Anda menghilangkan baris tambahan (bash tampaknya tidak membutuhkannya).

Jika Anda membutuhkan versi peka huruf besar-kecil, ia menjadi 42 karakter:

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

1

JavaScript (52 karakter)

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

Setiap karakter digunakan 2 kali, dan tidak menggunakan komentar apa pun!

Catatan: Saya memposting jawaban ini di sini dulu.


1

Golfscript x4 - Tanpa simbol tambahan - Menggunakan semua perintah yang mungkin

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

Saya mencoba melakukan satu yang tidak memiliki simbol tambahan di luar apa yang benar-benar diperlukan (walaupun saya bisa memilih "bukan 'atau" )

Sebagai tujuan sekunder saya juga ingin memasukkan sesedikit mungkin karakter ke dalam string, jadi saya menggunakan !operator seperti itu, dan saya juga masuk ke dooperator.


1

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

Karakter yang digunakan dalam kode ini:

,"()[]*\+0123456789acfinotTU

1

ASP Klasik (VBScript; 62 karakter)

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

Gunakan setiap karakter tepat 2 kali!


Sunting: Kode ini sedikit lebih pendek:

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

Demikian juga ini:

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

1

Menembus 98 - 26 byte

Karena saya harus menduplikasi r, saya pikir saya mungkin juga membuat teks sumber membaca kiri-ke-kanan daripada gnirtsgaya Befunge khas . Tidak ada yang istimewa tentang ini; Saya tidak yakin apakah memiliki kode yang tidak dijalankan dianggap sebagai komentar, tetapi keenam karakter Hel w!tersebut hanya diabaikan.

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

0

Turtlèd, n = 3, (tidak bersaing)

N = 3, karena "Halo dunia!" memiliki tiga ls.

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

Cobalah online

Penjelasan:

'!                                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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.