Halo Dunia! dengan pengulangan karakter terbatas

79

Dalam bahasa pilihan Anda, tulislah sebuah program yang dengan tepat menampilkan karakter yang Hello world!diikuti oleh baris baru. Kode:

  • tidak boleh menggunakan karakter apa pun lebih dari dua kali (alfanumerik, simbol, spasi putih ... apa saja)
  • tidak boleh menggunakan sumber daya eksternal apa pun
  • seharusnya tidak menggunakan input pengguna apa pun
  • seharusnya tidak menghasilkan apa pun

Contoh program python yang valid:

print("He%so world!"%(2*'l'))

Contoh program python yang tidak valid (karakter 'r' digunakan tiga kali):

print("Hel"+chr(108)+'o world!')

Pemenang adalah siapa pun yang memiliki suara terbanyak setelah 14 hari.

EDIT: Pemenang telah dipilih! Terima kasih atas kerja Anda pada pertanyaan ini!

Josh
sumber
25
Bagaimana dengan huruf yang diulangi dalam contoh python "valid". Ada juga ini: - "'()
Adam Speight
15
@AdamSpeight apa maksudmu? Surat itu hanya digunakan dua kali, sesuai spesifikasi.
Josh
5
@AdamSpeight ... yang secara harfiah sama.
VisioN
4
Saya pikir maksud Anda karakter tidak boleh muncul lebih dari dua kali, yaitu tidak boleh diulang lebih dari sekali.
Michael Kay
56
Saya kira brainfuck keluar dari pertanyaan ...
jub0bs

Jawaban:

61

Ruby (1.9+)

Karena ini adalah kontes popularitas, mari kita coba untuk tidak menggunakan karakter apa pun dari 'Hello world!' sementara masih menggunakan karakter lain hanya maksimal dua kali:

puts("S\107VsbG8gV29ybGQhCg".unpack(?m))

Ini 40 karakter btw.

Pesta

Dan yang ini menggunakan sihir unicode.

Catatan:

  • Sementara karakter orignal muncul di tempat lain (tidak seperti contoh ruby), string yang dicetak hanya berisi karakter non-ascii.
  • Dua dari tiga spasi sebenarnya adalah tab, jadi tidak ada karakter utf-8 yang muncul lebih dari 2 kali
  • Karena biner beberapa oktet memang muncul lebih dari 2 kali, mudah-mudahan itu tidak melanggar aturan. Saya mencoba untuk menyelesaikannya.

Kode:

echo '𝓗𝐞𝑙𝒍𝓸 𝓦𝗈𝖗𝖑𝘥¡'|iconv -t  asCIi//TRANSLIT

Bagi mereka yang tidak memiliki font yang tepat diinstal terlihat seperti ini:

kode sebagai gambar

Inilah hexdump:

00000000  65 63 68 6f 20 27 f0 9d  93 97 f0 9d 90 9e f0 9d  |echo '..........|
00000010  91 99 f0 9d 92 8d f0 9d  93 b8 e2 80 8a f0 9d 93  |................|
00000020  a6 f0 9d 97 88 f0 9d 96  97 f0 9d 96 91 f0 9d 98  |................|
00000030  a5 c2 a1 27 7c 69 63 6f  6e 76 09 2d 74 09 61 73  |...'|iconv.-t.as|
00000040  43 49 69 2f 2f 54 52 41  4e 53 4c 49 54 0a        |CIi//TRANSLIT.|
0000004e

Anda harus menjalankannya pada mesin di mana charset defaultnya utf-8. Saya mencoba OSX10.8 menggunakan iTerm2 dengan lingkungan berikut:

bash berjalan di iTerm2

PHP 5.4

Ini menggunakan zLib: (sayangnya ia menggunakan karakter edan o)

<?=gzuncompress('x▒▒H▒▒▒W(▒/▒IQ▒!qh');

Hexdump:

00000000  3c 3f 3d 67 7a 75 6e 63  6f 6d 70 72 65 73 73 28  |<?=gzuncompress(|
00000010  27 78 9c f3 48 cd c9 c9  57 28 cf 2f ca 49 51 e4  |'x..H...W(./.IQ.|
00000020  02 00 21 71 04 68 27 29  3b                       |..!q.h');|
00000029

+1

Berikut adalah kode ruby ​​2.0 yang saya gunakan untuk menguji duplikat:

d=ARGF.read
p [d.split(//),d.unpack('C*')].map{|x|x.inject(Hash.new(0)){|i,s|i[s]+=1;i}.select{|k,v|v>2}}
SztupY
sumber
2
Sementara saya selalu menghargai kepintaran Unicode, upaya bash Anda tampaknya tidak memenuhi spesifikasi pertanyaan. "menulis sebuah program yang persis menampilkan karakter Hello world!diikuti oleh baris baru"
FireFly
14
@ FireFly: memuaskannya. iconv dengan target encoding ascii//translitakan mentransiterasi karakter unicode ke ascii dasar. Dan tentu saja gema akan menambahkan baris baru, jadi yang ini sesuai dengan spesifikasi (jika kita tidak mempertimbangkan kesamaan oktet)
SztupY
5
Di sistem saya, saya mendapatkan Hello World?bukannyaHello World!
marinus
1
@SztupY oh, kau benar, salahku. Sangat pintar, saya suka itu!
FireFly
1
Berapa banyak poin bonus yang akan Anda dapatkan jika duplikat checker Anda juga sesuai dengan spesifikasi yang diulang? :-)
corsiKa
55

Anda harus menggunakan bahasa yang lebih ekspresif.

Cina,  6 4   3 karakter

喂世!

Menjalankan google translate pada produk ini Hello world!

(terima kasih @sreservoir dan @Quincunx untuk pembaruan)

Tomas
sumber
33
+1 untuk pembengkokan aturan ... "Dalam bahasa pilihan Anda ..."
WallyWest
4
Suka. Tapi bagaimana tepatnya itu program?
Pierre Arlaud
3
Sebenarnya Anda dapat melihatnya sebagai program dalam bahasa terjemahan google - untuk Cina sebagai sub-bahasanya :)
Tomas
2
+1. Ide bagus. 世界 = Shì jiè = Dunia. 你好 = nǐ hǎo = Halo. "Dunia, Halo!" diterjemahkan menjadi "Hello World!". Dapat bermain golf lagi:你好世!
Justin
2
dapat bermain golf lebih jauh dengan 喂世!mengorbankan ... well, tidak ada lagi yang benar-benar dikeluarkan.
muhmuhten
45

HQ9 +, 1 char

H

menjaganya agar tetap sederhana :)

le_vine
sumber
7
HQ9 + menghasilkan koma;)
Josh
8
Saya masih akan menyimpan jawaban Anda ... itu adalah kontes popularitas setelah semua, aturan untuk angin!
Josh
26
@Josh Ini adalah salah satu peristiwa langka di mana saya melewatkan tombol downvote pada komentar. Jika kita membuang aturan, tidak ada yang tersisa untuk membenarkan kontes sama sekali.
Howard
5
@ Bagaimana saya merasa kotor. Saya mengangkat komentar Anda dan komentar Josh
Cruncher
22
Semua print Hello Worldpertanyaan sebenarnya adalah who can submit a HQ9+ answer fasterpertanyaan.
totymedli
44

C, 192 karakter

#
#
/*$$@``*/ATION_[]={9.};main(BBCDDEEFFGGHJJKKLLMMPPQQRRSSUUVVWWXXYYZZabbdefgghhjjkkmpqqsstuuvvwxyyzz) {printf("He%clo \
world!%c\
",2^7&!8.&~1|~-1?4|5?0x6C:48:6<3>2>=3<++ATION_[0],'@'^79-5);}

Karena ini bukan golf, saya memutuskan untuk bersenang-senang dan mencoba menggunakan setiap karakter tepat dua kali (sambil memasukkan sesedikit mungkin dalam komentar, karena itu membosankan). Saya menyadari bahwa saya tidak melakukannya dengan sangat baik, karena kode saya mengandung satu ton kode "mati" yang membosankan juga (tidak dalam arti literal, tetapi dalam arti karakter placeholder hanya digunakan untuk memenuhi persyaratan). Bagaimanapun, ini sangat sulit (tapi menyenangkan) dengan batasan dua karakter, jadi sayangnya saya tidak dapat menemukan sesuatu yang lebih menarik. Itu memang memberi saya ide untuk masalah baru ...

(Diperbarui per komentar @ ugoren.)

FireFly
sumber
3
Mengesankan secara kreatif. Saya suka itu.
Josh
Garis akhir slash `\` tiga dan empat menjadikannya kelanjutan garis, bukan baris baru. Dan jalur empat diakhiri oleh EOF, membuatnya legal.
Josh
1
Saya pikir Anda dapat dengan mudah menghapus tanda komentar .dengan menggunakannya untuk fraksi. Anda juga dapat mendeklarasikan array dan menggunakannya [].
ugoren
@ugoren panggilan bagus tentang .; Saya hanya berpikir untuk menggunakannya untuk akses struct. <s> Adapun deklarasi array, saya kehabisan ,karena printfpanggilan, dan saya juga keluar dari ;s, jadi saya tidak yakin bagaimana saya bisa mendeklarasikannya. </s> Duh, saya bisa mengganti ATION_. ..
FireFly
44

Perintah Vim (18 penekanan tombol)

iHeEsc3alEscio WorRightd!Enter

Tidak mengulangi penekanan tombol apa pun lebih dari dua kali.

Ini agak melanggar aturan "input pengguna" karena masih pengguna yang perlu memasukkan urutan itu, tapi saya kira jika Anda menyimpannya sebagai makro atau nnoremap sebelumnya itu akan dihitung, karena Anda hanya menjalankannya tanpa secara eksplisit melakukan apapun masukan untuk mewujudkannya.

Ini juga perlu nocompatiblediatur, yang dapat dihitung sebagai menggunakan sumber daya eksternal, jadi saya telah memberikan variasi lain di bawah ini:


Perintah Vim (21 penekanan tombol)

iHeEsc3alEscio WorCtrl+[$ad!Enter

Variasi ini tidak perlu nocompatiblediatur, meskipun berhasil menggunakan Esctiga kali dengan menggunakan Ctrl+[tempatnya.

Joe Z.
sumber
16
Jika Anda berbicara tentang karakter dalam Right, Escdan Enter, mereka tidak secara harfiah karakter-karakter. Vim berurusan dengan penekanan tombol, yang saya anggap setara dengan karakter untuk keperluan kontes ini (dan aturan "jangan ulangi lebih dari dua kali"). Saya hanya menggunakan ipenekanan tombol dua kali, dan <Right>penekanan tombol sekali. Adapun E, saya tidak pernah menggunakannya sama sekali - tetapi saya menggunakannya <Esc>dua kali dan <Enter>sekali.
Joe Z.
6
Sekarang saya kecewa Emacs tidak memiliki perintah hello-world Mx ...
RemcoGerlich
4
Bahkan jika itu terjadi, itu tiga ls.
Joe Z.
1
Anda harus mencatat bahwa Anda harus melakukannya :set nocompatible.
jazzpi
1
Luar biasa, tetapi saya sendiri menemukan penggunaannya Righttidak terlalu vim-y.
gefei
29

Piet - Tidak ada karakter sama sekali!

Halo dunia di Piet

ApproachingDarknessFish
sumber
7
Saya akan menganggap codels sebagai "karakter".
Paŭlo Ebermann
3
@ PaŭloEbermann Apa yang Anda anggap sebagai codel unik? EG bentuk yang berbeda? warna? ukuran? beberapa kombinasi darinya?
ApproachingDarknessFish
1
@ValekHalfMelihat definisi codel unik diberikan dalam spesifikasi bahasa : itu adalah blok codel yang dapat disederhanakan sebagai piksel berwarna tunggal.
plannapus
@plannapus Dalam hal ini saya tidak tantangan ini secara teknis mungkin di Piet. Saya mungkin datang dengan sesuatu yang kreatif sekalipun.
ApproachingDarknessFish
@ValekHalfHeart oh itu bukan kritik atas jawaban ini: Saya menyukainya! Toh, tantangan ini bukan codegolf.
plannapus
26

Perl, 29 karakter

Jawaban ini termasuk bakiak x-rated!

say"07-8*d<#B+>!"^xRATEDkL0GZ

Perl, 23 karakter

Lebih pendek, tetapi tidak ada sepatu porno. :-( Ide dasarnya sama ...

say'0@@lo World!'^"x%,"

Perl, 20 karakter

Membosankan...

say"Hello Wor\x6Cd!"
tobyink
sumber
7
Um .... keriting? +1 :)
Josh
23

Powershell, 20

"He$('l'*2)o world!"
Danko Durbić
sumber
19

Sclipting , 11 karakter

丟낆녬닆묬긅덯댦롤긐뤊

Saya melihat program HelloWorld yang indah ini di daftar program Hello World esolang .

Quincunx
sumber
5
Wah! Selamat, Anda adalah orang pertama yang memposting sesuatu tentang esolangs saya di luar esolangs.org :) (atau setidaknya yang pertama saya
ketahui
18

Scala: 34 29 karakter

Saya bangga dengan diri saya untuk yang satu ini:

printf("He%c%co world!\n",108,108)

Mengalami kesulitan mengatasi duplikat 'l's,' r's, tanda kutip dan tanda kurung. Kemudian saya menemukan printffungsi Java lama , yang dengan senang hati akan mengubah angka menjadi huruf ketika diberi %cpenentu format.

Memperbarui

MrWificent melakukan hal yang luar biasa dengan menunjukkan bahwa sejumlah besar karakter dapat diselamatkan dengan menggunakan 'l' kedua saya secara manual dalam string!

printf("Hel%co world!\n",108)
KChaloux
sumber
4
@Kaloux, Karena Anda diizinkan hingga 2 's, bukankah printf ("Hel% co world \ n", 108) pada 28 bahkan lebih baik?
MrWificent
@ MrWhat, saya pikir Anda benar sekali! (Juga saya baru sadar bahwa saya lupa memasukkan '!')
KChaloux
Dari apa yang saya mengerti, ini bukan entri yang valid, meskipun upaya yang bagus untuk itu. printfmengandung rseperti halnya world. Hal yang sama berlaku untuk huruf oyang digunakan lebih dari satu kali. Ini didasarkan pada interpretasi saya terhadap pernyataan berikut dari OP "Contoh program python yang tidak valid (karakter 'r' digunakan tiga kali): print("Hel"+chr(108)+'o world!')"
j_textz
@JAnderton Saya punya program ruby ​​mengurai skrip saya untuk memastikan tidak ada karakter yang dimasukkan lebih dari dua kali. Baca lagi. Ada 2 rs, bukan 3. Satu di "printf" dan satu di "dunia". Alasan satu python tidak valid adalah karena itu termasukchr
KChaloux
16

Python 3 [38 byte]

exec('import '+chr(95)*2+"h\x65llo__")

Saya tidak akan mempertimbangkan import __hello__sebagai sumber daya eksternal.

Penglihatan
sumber
15

Perl: 34 karakter

$_="He12o wor3d!
";s{\d}{l}g;print

Contoh dijalankan:

bash-4.1# perl -e '$_="He12o wor3d!
> ";s{\d}{l}g;print'
Hello world!

(Bukan masalah besar. Diposting hanya untuk menggunakan setidaknya sekali dalam hidupku s///dengan pembatas mewah itu.)

manatwork
sumber
15

PHP, 33 karakter

Saya hanya suka betapa PHP memaafkan dan pengertian!

<?=Hel.str_rot13("yb jbe").'ld!';

Sebelum dihapus (atau jika masih ada, saya benar-benar buta), saya melihat komentar yang mengatakan "Tidak ada brainf * ck?: D". Yah, sangat tidak mungkin untuk menulis solusi di BrainF * ck, seperti yang Anda tahu. Tapi saya berhasil membuat kode ini, hanya untuk lulz.

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

Jika Anda tidak memiliki juru bahasa BF, kode di atas hanya mencetak yang PHP: P

Vereos
sumber
Saya bahkan tidak tahu kode seperti ini valid! Tag php tidak ditutup dan string Heltidak dikelilingi oleh tanda kutip. Juga saya belum pernah dengar str_rot13sebelumnya.
Aycan Yaşıt
1
@ AycanYaşıt tag php penutup tidak diperlukan di EOF, dan jika Anda meletakkan string tanpa tanda kutip, diasumsikan itu adalah konstanta yang tidak dideklarasikan dengan konten yang sama dengan namanya dan memberikan peringatan
Einacio
1
Anda dapat menghindari peringatan (dan menyimpan yang pertama .) dengan meletakkan Helsebelum <?=.
Paŭlo Ebermann
4
@ PaŭloEbermannHel<?=str_rot13("yb jbe")?>ld!
MirroredFate
2
@ PaŭloEbermann Saya akan mengatakan bahwa menggunakan itu seperti curang, karena itu bukan PHP murni lagi.
Vereos
13

HTML Fiddle - 21 karakter

Hel&#108;o World!<br>
Briguy37
sumber
Apakah itu termasuk baris baru yang tertinggal?
Josh
Doh ... ketinggalan persyaratan itu! Saya akan menambahkan Situs di sana.
Briguy37
7
@netinept: Ini meminta baris baru, bukan \njadi saya akan mengatakan <br>jumlah
Chris
1
Namun karakter rtersebut diulang dalam solusinya. Apakah saya salah menafsirkan persyaratan?
jeritakanz
2
"l" dan "o" juga, tetapi masing-masing karakter dapat digunakan paling banyak dua kali.
xem
12

Ruby: 27 karakter

puts [:Hel,'o wor',"d!"]*?l

Contoh dijalankan:

bash-4.1# ruby <<ENDOFSCRIPT
> puts [:Hel,'o wor',"d!"]*?l
> ENDOFSCRIPT
Hello world!

Ruby: 25 karakter

(Berdasarkan komentar Vache.)

puts 'He'+?l*2+"o world!"

Ruby: 23 karakter

(Salinan jawaban Powershell dari Danko Durbić .)

puts"He#{?l*2}o world!"
manatwork
sumber
puts 'He'+'l'*2+'o world!'lebih pendek satu karakter!
dee-see
3
Tetapi memiliki 6 "'' s ...
manatwork
haha saya sangat fokus pada karakter huruf sehingga saya tidak pernah memperhatikannya. lupakan!
dee-see
1
Hapus ruang setelah menempatkan dan membuatnya 23. -puts"He#{?l*2}o world!"
Nol Serat
1
@SampritiPanda, ptermasuk kutipan dalam output. Saya lebih memilih untuk tetap ketat dengan format output yang diperlukan. Tapi Anda benar, ruang tidak diperlukan. Terima kasih.
manatwork
12

JavaScript, 66 karakter

alert('Hel'+window.atob("\x62G8gd29ybGQhCg=="));//rH+in.\x689yQhC;

Terinspirasi oleh FireFly, setiap karakter yang digunakan oleh kode ini digunakan tepat dua kali.

David Cary
sumber
Saya pikir Anda diperbolehkan menggunakan beberapa karakter hanya sekali, dan Anda dapat memberikan komentar.
John Dvorak
2
@JanDvorak - yah, tentu dia bisa melakukannya dengan cara itu - tapi saya pikir solusi ini layak mendapat upvote untuk kebalasan darah semata menggunakan masing-masing dan setiap karakter tepat dua kali. :-)
Bob Jarvis
6
+1, tetapi mudah untuk menggunakan setiap karakter tepat dua kali jika Anda hanya menambahkan omong kosong sebagai komentar.
Camilo Martin
11

C - 43 Karakter

main(){printf("Hel%co World!%c",'k'+1,10);}

Keluaran

Hello World!

Hitungan Karakter

' ' Count: 1    '!' Count: 1    '"' Count: 2    '%' Count: 2    ''' Count: 2
'(' Count: 2    ')' Count: 2    '+' Count: 1    ',' Count: 2    '0' Count: 1
'1' Count: 2    ';' Count: 1    'H' Count: 1    'W' Count: 1    'a' Count: 1
'c' Count: 2    'd' Count: 1    'e' Count: 1    'f' Count: 1    'i' Count: 2
'k' Count: 1    'l' Count: 2    'm' Count: 1    'n' Count: 2    'o' Count: 2
'p' Count: 1    'r' Count: 2    't' Count: 1    '{' Count: 1    '}' Count: 1
Kirk Backus
sumber
Apakah kamu tidak membutuhkan maindll?
FireFly
@ Kebakaran Saya kira begitu! Itu memang mengatakan untuk menulis program.
Kirk Backus
Itu C tetapi tidak C ++. C ++ tidak memiliki int implisit (dan Anda tidak dapat membiarkan yang lain i).
Ben Voigt
@BenVoigt Okie dokie!
Kirk Backus
9

JavaScript [37 byte]

alert(atob("SGVsbG8g")+'wor\x6cd!\n')

Terlalu primitif bukan?

Penglihatan
sumber
5
Di mana baris baru?
Christopher Creutzig
@ChristopherCreutzig Maaf, lupakan saja. Sekarang sudah ada di tempatnya.
VisioN
9

nginx.conf

return  200 "He&#x6clo wo&#x72ld!\n";

Beraksi:

% curl -6 http://localhost/ | lynx -dump -stdin
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    21  100    21    0     0  20958      0 --:--:-- --:--:-- --:--:-- 21000

   Hello world!

%
cnst
sumber
Ada 4 ruang dalam solusi ini ...
Josh
3
@ Astaga, sebenarnya, ada 5. Tapi tidak bisakah Anda menganggap bahwa dua dari empat yang pertama adalah tab, dan yang terakhir adalah ruang yang tidak dapat dipecahkan? :-)
cnst
Itu berhasil untuk saya!
Josh
@Josh, sebenarnya, sekarang kita menggunakan HTML, tidak perlu lagi set. Ini hanya memiliki 3 ruang sekarang, yang mana saja bisa menjadi tab!
cnst
Dilakukan dengan sangat baik.
Josh
9

Emacs Command (15 penekanan tombol)

He<Ctrl-3>l<Left>o wor<End>d!<Enter>

Jika jawaban vim itu sah maka ini juga pasti :)

Sambil bercanda, makro itu bisa menjadi terlalu :)

Lebih dari omong kosong, saya mungkin bisa memeras lagi, tapi ini tampaknya cukup baik untuk saat ini (karena ini mengalahkan vim).

PS, tolong abaikan semua omong kosong saya (saya (jarang, tetapi) menggunakan vim juga!).

zw324
sumber
2
Saya masih berpikir> emacs.
Joe Z.
6

Jalanan 98

a"!dlrow ol":'e'Hck,@

Ini adalah versi di mana setiap karakter muncul dua kali.

bka!e:dw"H@!dlrow  ol":'e'Hbk,a,@

Meninggalkan banyak sampah di tumpukan.

Sebagai bonus, setiap karakter memiliki sesuatu yang dilakukan dengan IP.

Justin
sumber
6

Malbolge

(=<`#9]~6ZY32Vw/.R,+Op(L,+k#Gh&}Cdz@aw=;zyKw%ut4Uqp0/mlejihtfrHcbaC2^W\>Z,XW)UTSL53\HGFjW
Timtech
sumber
Sayangnya, ini tampaknya Hello, world.bukan cetak Hello world!\n:( Cobalah online! Mengesankan, tetapi tidak valid.
DLosc
5

Sebenarnya saya tidak suka selingkuh: P

Python

print("!dlrow os%eH"[::-1]%('l'*2))
Wasi
sumber
2
Anda harus menentukan bahwa itu untuk python2. Dalam python3 Anda mendapatkan string terbalik sebagai output dan kemudian a TypeError.
Bakuriu
1
Untuk digunakan dalam argumen cetak Py3K harus dengan dilampirkan dalam tanda kurung. print("!dlrow os%eH"[::-1]%('l'*2))bekerja di kedua versi (Python2 dan Py3K).
AMK
4

GolfScript

'He

o world!'n/"l"*

Mengganti dua baris baru (untungnya yang ketiga, diperlukan untuk penggantian, disediakan oleh bawaan n), menggunakan kedua jenis string literal untuk menghindari salinan rangkap empat dari tanda kutip. Karena lsatu-satunya karakter yang muncul lebih dari dua kali dalam string asli, itu tidak terlalu sulit.

Peter Taylor
sumber
Anda lupa "!".
Howard
@ Howard, melewatkannya. Ups.
Peter Taylor
Huruf o diulangi juga
Adam Speight
1
@AdamSpeight: Hanya ada dua kali surat itu o. Aturan mengatakan bahwa itu tidak boleh memiliki karakter lebih dari dua kali .
ProgramFOX
4

Hmm.

Dalam C, mengingat aturan-aturan ini, kita hanya dapat memiliki satu #define(karena idan n) dan paling banyak dua fungsi memanggil definisi AT ( (dan )).

Saya kira hanya ada satu cara untuk melakukannya (walaupun saya mungkin salah):

main(){puts("Hello w\x6fr\154d!");}
Oberon
sumber
Anda masih perlu menampilkan baris baru. Melakukan tantangan dalam C ini sulit ...
Josh
1
@ Astaga. Saya hanya harus menggunakan puts()bukan printf().
Oberon
2
Tapi apa yang salah dengan odi world?
VisioN
@VisioN Dalam konsep lama kode yang sama (sebelum saya menyadari betapa sulitnya sebenarnya untuk menulis program seperti itu) saya menggunakan 'o' lain di tempat lain. Tapi ini bukan kode-golf , jadi saya kira itu tidak harus diperbaiki.
Oberon
4
Bahkan, saya tidak yakin mengapa setiap jawaban menampilkan jumlah karakter.
Oberon
4

PESTA

printf 'Hel\x6co world!\n'

Cred @ manatwork

echo $'Hel\x6c\x6f world!'
Runium
sumber
Yang pertama memiliki 3 "e" dan 3 "o".
manatwork
@manatwork: Gag; thanx;)
Runium
Dalam Bash Anda dapat melewati -edengan menggunakan khusus $'…'sintaks: echo $'Hel\x6c\x6f world!'.
manatwork
4

C - 46 Karakter

main(){printf("He%clo wor%cd!\x0d",'l',108);}

Mencetak:

Halo Dunia!

Phillip Kinkade
sumber
Jika Anda ingin bermain golf, main(){printf("He%clo world!%c",108,10);}harusnya berhasil, dan menghemat beberapa karakter.
FireFly
@FireFly Anda benar, Anda akan menyelamatkan saya 3 karakter. Saran Anda juga berfungsi dengan baik.
Phillip Kinkade
4

Fuga

Dari esolang wiki:

masukkan deskripsi gambar di sini

Dan Anda dapat mendengarkan kode sumbernya .

Timtech
sumber
11
Saya akan mengatakan ini tidak valid. Saya dapat melihat lebih dari 4 c tengah di tangan kanan.
Justin
4
Belum lagi string empat G berturut-turut dalam ukuran ke-9.
Joe Z.
Apakah Anda menulis ini, atau hanya membuatnya? Karena Anda menautkan ke MIDI arsip esolang.
FireFly
4
-1 untuk plagiarisme. Ini dari esolang wiki . Anda tidak mengutipnya. Sunting: dikembalikan, sekarang esolang wiki dikutip.
Justin
-1 untuk menggunakan catatan yang sama lebih dari 2 kali.
Erik the Outgolfer
4

PHP

32 karakter

Perhatikan bagaimana saya tidak menggunakan karakter lebih dari dua kali, karena l! = L

He<?=strtolower("LLO WOR");?>ld!

Perhatikan juga, meskipun Stack Overflow menghapusnya dalam representasi, ada jeda baris setelah !.

Francisco Presencia
sumber
1
Anda menggunakan tiga spasi, tapi saya rasa ini bisa diperbaiki dengan menghapus yang dekat dengan tag PHP! : P
Vereos
1
Itu cepat, meskipun saya menyadari sebelum membaca komentar Anda (sebenarnya dari jawaban lain)
Francisco Presencia
Bukankah output "H" seharusnya huruf besar?
David Cary
Sepenuhnya benar, ketinggalan juga):
Francisco Presencia
4

XQuery, 19 karakter

"Hello Wor&#x6C;d!"
Michael Kay
sumber