Ini adalah pos evolusi dari "Hello World!" , Yang aslinya ditulis oleh pengguna Helka Homba
Tidak boleh ditutup sebagai duplikat, karena konsensus meta di sini .
Dokumen asli ditanyakan lebih dari dua tahun lalu dan terakhir aktif lebih dari enam bulan lalu. Saya memiliki izin dari Helka Homba untuk memposting ini di sini
Sejak yang asli, banyak bahasa telah ditemukan, dan banyak orang telah bergabung dengan situs yang tidak pernah memiliki kesempatan untuk menjawab yang asli, jadi saya merasa bahwa repost ini dapat diterima.
Tantangannya adalah membuat program yang mencetak 2^n
ke stdout, di mana n
nomor program Anda. Tangkapannya adalah bahwa program Anda harus memiliki jarak Levenshtein 10 atau kurang dari program dalam jawaban yang diajukan sebelum Anda.
Bagaimana Ini Akan Bekerja
Di bawah ini saya akan mengirimkan jawaban pertama menggunakan C #, yang mencetak 2 ^ (n = 1) = 2
.
Orang berikutnya yang menjawab harus memodifikasi kode dengan hingga 10 penyisipan karakter tunggal, penghapusan, atau penggantian sehingga ketika dijalankan dalam bahasa jawaban yang baru, ia mencetak 2^n
(dengan n
menjadi nomor jawaban). Misalnya, jawaban ke-25 (misalkan dalam Pyth) akan mencetak 2 ^ 25, atau 33554432.
Ini akan berlanjut hingga semua orang macet karena tidak ada bahasa baru, program jawaban terakhir dapat dijalankan hanya dengan mengubah 10 karakter. Tujuan komunal adalah untuk melihat berapa lama kita dapat melanjutkan hal ini, jadi cobalah untuk tidak melakukan penyuntingan karakter yang tidak jelas atau tidak beralasan (namun ini bukan keharusan).
Memformat
Harap format pos Anda seperti ini:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Di mana N adalah nomor jawaban (meningkat secara bertahap, N = 1, 2, 3, ...).
Anda tidak perlu memberi tahu karakter mana yang diubah. Pastikan jarak Levenshtein dari 0 hingga 10.
Jika Anda menjawab dalam beberapa bahasa atau kode yang dihasilkan hanya berantakan, tolong jelaskan apa yang Anda lakukan dan mengapa ia bekerja, meskipun ini tidak diperlukan.
Aturan
Hal utama yang perlu dipahami tentang tantangan ini adalah bahwa hanya satu orang yang dapat menjawab pada satu waktu dan setiap jawaban tergantung pada yang sebelumnya .
Seharusnya tidak pernah ada dua jawaban dengan N. yang sama. Jika dua orang kebetulan menjawab secara bersamaan untuk beberapa N, orang yang menjawab kemudian (walaupun perbedaannya hanya beberapa detik) harus dengan ramah menghapus jawaban mereka.
Selanjutnya...
- Seorang pengguna tidak boleh mengirimkan dua jawaban berturut-turut. (mis. sejak saya mengirimkan jawaban 1 saya tidak bisa menjawab 2, tetapi saya bisa melakukannya 3.)
- Cobalah untuk menghindari memposting terlalu banyak jawaban dalam jangka waktu singkat.
- Setiap jawaban harus dalam bahasa pemrograman yang berbeda.
- Anda dapat menggunakan berbagai versi bahasa utama, seperti Python 2/3
- Bahasa dianggap berbeda jika mereka secara tradisional dipanggil oleh dua nama yang berbeda. (Mungkin ada beberapa ambiguitas di sini tapi jangan biarkan itu merusak kontes.)
- Anda tidak harus tetap menggunakan ASCII, Anda dapat menggunakan karakter apa pun yang Anda inginkan. Jarak Levenshtein akan diukur dalam karakter unicode .
- Keluaran seharusnya hanya
2^n
dan tidak ada karakter lain. (Leading / trailing whitespace baik-baik saja, seperti output yang tidak bisa ditekan seperti>>>
atauans=
) - Jika bahasa Anda tidak memiliki penggunaan stdout apa pun yang biasa digunakan untuk cepat menghasilkan teks (misalnya
console.log
ataualert
di JavaScript). - Ketika kekuatan dua Anda harus output menjadi sangat besar, Anda dapat mengasumsikan memori tak terbatas, tetapi bukan ukuran bilangan bulat tak terbatas. Harap waspada terhadap bilangan bulat bilangan bulat
- Anda dapat menggunakan notasi ilmiah atau bahasa apa pun yang paling alami untuk mewakili angka. (Kecuali untuk unary, JANGAN output dalam unary)
Harap pastikan jawaban Anda valid. Kami tidak ingin menyadari ada jeda dalam rantai lima jawaban. Jawaban yang tidak valid harus diperbaiki dengan cepat atau dihapus sebelum ada jawaban tambahan.
Jangan mengedit jawaban kecuali benar-benar diperlukan.
Mencetak gol
Setelah semuanya beres, pengguna yang mengirimkan jawaban yang paling (valid) akan menang. Ikatan pergi ke pengguna dengan suara terbanyak kumulatif.
Edit ini ketika Anda memposting jawaban:
Papan peringkat
13 bahasa
Okx
8 bahasa
zeppelin
4 bahasa
Pavel
Jonathan Allan
Kritixi Lithos
Riker3 bahasa
boboquack
2 bahasa
atasan
Conor O'Brien
Destructible Watermelon
ovs
Tom Carpenter1 bahasa
ATaco
Memblokir
Dennis
dzaima
Erik the Outgolfer
ETHproduk
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-Derp
R. Kap
Taylor Scott
nimi
Mistah Figgins
PidgeyGunakan
steenbergh
Bahasa yang digunakan sejauh ini:
- C # (Pavel)
- /// (boboquack)
- Retina (Dennis)
- Jelly (Jonathon Allan)
- Pyth (boboquack)
- > <> (Semangka Destructible)
- Minkolang (Kritixi Lithos)
- Perl (Pavel)
- Python (Qwerp-Derp)
- dc (R. Kap)
- Arang (Jonathon Allan)
- Self Modifying BrainFuck (Leo)
- SOGL (dzaima)
- ShapeScript (Jonathon Allan)
- Pyke (boboquack)
- Ruby (Nathaniel)
- 05AB1E (ovs)
- STATA (tanda)
- bc (Kritixi Lithos)
- Japt (Okx)
- 2sable (Kritixi Lithos)
- Cheddar (Jonathon Allan)
- Tiang (Okx)
- Bash (zeppelin)
- Pushy (Okx)
- CJam (Erik the Outgolfer)
- MATL (Okx)
- MATLAB (Tom Carpenter)
- Oktaf (Kritixi Lithos)
- R (ovs)
- JavaScript ES7 (Tom Carpenter)
- Cembung (Okx)
- Mathematica (ghosts_in_the_code)
- Pip (Okx)
- Stacked (Conor O'Brien)
- GolfScript (Okx)
- Sebenarnya (Lynn)
- RProgN (Okx)
- Skema (penanda)
- Elemen (Okx)
- J (Blok)
- Cubix (ETHproductions)
- zsh (zeppelin)
- VBA (Taylor Scott)
- Ikan (zeppelin)
- Reticular (Okx)
- Perl 6 (Pavel)
- RProgN2 (ATaco)
- PHP (Matheus Avellar)
- Jolf (Conor O'Brien)
- Haskell (nimi)
- Befunge-98 (Mistah Figgins)
- Gnuplot (zeppelin)
- QBIC (steenbergh)
- FOG (Riker)
- Qwerty-RPN (Okx)
- Korn Shell (ksh) (zeppelin)
- Julia (Riker)
- Python 3 (Pavel)
- Vimscript (Riker)
- Dash (zeppelin)
- Vitsy (Okx)
- csh (zeppelin)
- Ohm (Okx)
- Bosh (zeppelin)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Pertanyaan ini paling berhasil saat Anda mengurutkan berdasarkan yang terlama .
Jawaban:
Jawaban 64, Ohm , jarak 10
Ditambahkan
64º,;S)1'a
Hanya
64º,
kode yang sebenarnya, sisanya hanya sampah.Program ini akan mencetak output yang benar, tetapi juga akan meminta beberapa
STDIN
setelah itu telah dicetak 2 64 .sumber
Jawaban 17: 05AB1E , Jarak 3
Cobalah online!
sumber
05AB1E
tidak melempar kesalahan.Jawaban 24: Bash, jarak 8
Cobalah secara Online!
sumber
Jawaban 51, Haskell, jarak 10
Hapus 2 NL, ganti
^
di awal dengan-
, tambahkan sebelumnya-
, hapus*
di dalamprint
, ganti ke*
- 2 dengan^
, timpa49
dengan51
, masukkan--
setelah cetak.sumber
--
, jadi itu jarak edit yang lebih rendah daripada prabayar--
dua kali.--
adalah 2 byte, menghapus NL hanya 1Jawaban 67, Gol> <> , jarak 6
Kami van menggunakan trampolin
#
untuk hanya menambahkan kode secara terbalik. Dengan menghapusS)1'a
yang;
dapat digunakan kembali, hanya membutuhkan 6 karakter yang akan ditambahkan.Cobalah online!
Saya pikir menjaga
#
memungkinkan untuk beberapa bahasa lain untuk menggunakannya sebagai baris komentar.sumber
Jawaban 4: Jarak jeli 3
Cobalah online!
semua sisipan:
00Ḥ
.0{
dan0}
apakah ada untuk menekan kesalahan parsing (pop dari daftar kosong karena{
dan}
menjadi quicks yang mengubah monads menjadi diad menggunakan masing-masing argumen kiri dan kanan).Ḥ
"unhalves" 8 menjadi 16.sumber
{
(setelahclass HelloWorld
) tidak memerlukan0
sebelumnya, tetapi dua lainnya perlu?()
sebelum kurung buka kedua di baris pertama. Baris ketiga tidak dapat dimulai dengan penjepit karena tidak ada monad untuk bertindak.Jawaban 5: Pyth
Mencetak literal numerik
32
, lalu ruang antara2
dan"
menekan pencetakan string literal (otomatis dilengkapi).+4 karakter -
32 "
Cobalah di herokuapp
sumber
Jawaban 6 -> <>
mengganti spasi dengan ", kode mendorong 3, 2, 4, lalu membalikkan, mendorong 4,2,3, lalu mengeluarkan 3 dari tumpukan, dan mengalikan 2, 4, 4, 2, untuk 64, mengeluarkan dan menghentikan
Cobalah online
mungkin menggunakan https://www.fishlanguage.com/playground
sumber
Jawaban 3: Retina , jarak 3
Tambahkan
|\n8
(jarak 3).Cobalah online!
sumber
Jawaban 20: Japt, jarak 8
Cobalah online!
Modifikasi:
Diubah
2^19
menjadi2**20
pada awal program, untuk menghitung daya (4)Diganti
#
dengan$
pada baris pertama sehingga semua yang melewatinya ditafsirkan sebagai JS (1)Pada baris terakhir, hapus
/
dan tambahkan a*/
di akhir program, sehingga komentar memakan seluruh program (3)sumber
Jawaban 27: MATL, jarak 4
Cobalah online!
Ditambahkan
27W%
Penjelasan:
sumber
Jawaban 50: Jolf, jarak 10
Coba di sini!
Prepended
^2@2(
(+5)Dihapus
±
danß
dari#ß6904±r
(+2)Dihapus
ó
darióout
(+1)Dihapus
<?
dari<?#"#28@P2*
(+2)Total: 10. Hapus semua karakter non-ASCII!
Penjelasan
(
berhenti parsing, jadi kodenya terlihat seperti:sumber
Jawaban 52. Befunge-98 , jarak 8 + 2
Terima kasih kepada @DestructibleWatermelon untuk bermain golf byte!
Cobalah secara Online!
Ditambahkan
'3k
sebelum2
, dan'2k*.
antara2
dan@
.--
tidak melakukan apa pun,'3k2
menempatkan 52 2s ke stack, dan'2k*.@
mengalikannya, mencetak nomor, dan keluarJuga, saya menambahkan
d"
setelahprintf("%
untuk membuat hidup orang lain lebih mudah, karena saya memiliki 2 karakter tambahan. Itu tidak mempengaruhi program Befunge-98.sumber
Jawaban 42: Cubix , jarak 8
Cobalah online!
Di
lert(2**31
tengah diubah menjadi44******O@
.sumber
Jawaban 60, Vimscript, jarak 10
Mengubah 2
#
pada awal dua garis tengah menjadi"
, menambahkan"
di depan baris pertama, dan:py<space>
di depan baris terakhir.Untuk klarifikasi:
"
adalah komentar baris dalam vimscript (setidaknya di awal baris), dan tidak perlu dicocokkan.Vim dapat menjalankan kode python, jadi ini benar-benar setara dengan meminta python untuk jawabannya.
sumber
Jawaban 8: Perl
Jarak tepat 10: +4
#
untuk komentar, +1 baris baruSystem.Console.
, +3 untuk berubahwrite
menjadiprint
, +2 untuk diubah2
menjadi256
.Saya tidak akan berpartisipasi, tetapi saya ingin memastikan bahwa beberapa langs reguler ditambahkan sebelum sesuatu menjadi terlalu gila.
Cobalah online!
sumber
Jawaban 49: PHP, jarak 6
Ditambahkan
<?
dan?>
untuk membuka dan menutup tag PHP, masing-masing.Diganti
48
dengan49
.#
memulai komentar di PHP, jadi tidak ada yang dipertimbangkan kecuali untukBerikut adalah tangkapan layar dari sintaksis tinggi dan keluaran yang tepat untuk membantu memvisualisasikan:
sumber
Jawaban 2: ///
+4 karakter -
///4
Cobalah online!
sumber
Different versions of the same language count as the same language.
Daftar "Python" sendirian di bawah "Bahasa yang digunakan ..." tampaknya cukup baik.Jawaban 7: Minkolang , Jarak: 4
Cobalah online!
Saya menambahkan
7;N.
ke program. Pada dasarnya3
,2
dan7
didorong ke tumpukan dan kemudian 2 dinaikkan ke kekuatan ketujuh menggunakan;
. Ini kemudian dikeluarkan sebagai banyakN
dan kemudian program berhenti di.
sumber
Jawaban 11: Arang , jarak 5
Cobalah secara Online!
Huruf Yunani huruf besar
A
danβ
variabel yang diberikan sebagai karakter ASCII berikut. Nilai akhir dicetak secara implisit.sumber
10
? Milik saya adalah jawaban ke-10.⎚
(jelas) lebih pendekJawaban 10: dc , Jarak 5
Berikut ini yang valid
dc
program yang yang menghasilkan1024
.Cobalah online!
sumber
Jawaban 12: Brainfuck yang memodifikasi sendiri
Cobalah online!
SMBF sama seperti brainfuck, kecuali kode sumber tersedia di kaset di sebelah kiri posisi awal. Di sini kita memiliki nomor untuk dicetak secara terbalik di akhir kode, dan kita lakukan
<.
empat kali untuk mencetak keempat digit.Saya menambahkan
<
sebelum masing-masing.
dalam kode (ada 3 dari mereka), tambahan<.
, dan mengubah angka terakhir. Jaraknya harus 8.sumber
Jawaban 29: Oktaf , Jarak: 1
Cobalah online!
Yang harus saya lakukan adalah mengubah
28
to29
sumber
Jawaban 31: JavaScript ES7, Jarak 7
ES7 mendukung
**
operator.Anda dapat mencoba online di sini .
sumber
Jawaban 33: Mathematica, jarak 9
Penjelasan
Letakkan semuanya di dalam komentar dan hasil 2 ^ 33
Harap verifikasi bahwa jawaban ini valid sebelum menempatkan milik Anda karena saya baru dalam hal ini dan tidak ingin mengakhiri rantai.
sumber
Jawaban 37: Sebenarnya , jarak 7
Diganti
36?#
dengan:37@ⁿ.ó
.Cobalah online!
sumber
Jawaban 38: RProgN, jarak 10
Cobalah online!
Diganti
2:37
dengan2 38 ^ exit
(10) (perhatikan spasi tambahan)Penjelasan:
sumber
Jawaban 47: Perl 6 , jarak 10
Perl 6 dianggap berbeda dari Perl. Saya mencoba mengatur C di jalan dengan menambahkan
"%
setelahprintf
, semoga seseorang menggunakannya.Cobalah online!
sumber
Jawaban 48: RProgN2 , jarak 9
Menambahkan a
"
ke awal yang menghentikan semuanya dari kerusakan,[[[
pada akhirnya membersihkan memori, dan268*^
menghitung jawaban baru. Dicetak secara implisit.Cobalah online!
sumber
Jawaban 66, es (shell) +
bc
, jarak 8Diubah
exit
menjadiquit()
, dan ditambahkaniker
setelah yang pertamar
. Saya tidak bisa menolak dan saya ingin menambahkan 4 karakter lagi.sumber