Bu , aslında Helka Homba kullanıcısı tarafından yazılmış, “Merhaba Dünya!” Nın Evrimi'nin bir listesi.
Buradaki meta fikir birliği nedeniyle kopya olarak kapatılmamalıdır .
Orijinal iki yıl önce soruldu ve altı aydan daha uzun bir süre önce aktif kaldı. Helka Homba'dan bunu buraya gönderme iznim var
Orijinalden beri, birçok dil icat edildi ve orijinaline cevap verme fırsatı bulamayan birçok kişi siteye katıldı, bu yüzden bu görevin kabul edilebilir olduğunu düşünüyorum.
2^n
Zorluk stdout'a basan bir program yapmaktır, programınızın n
numarası nerededir . İşin püf noktası, programınızın püf noktası, programınızın sizinkinden önce gönderilen cevapta programdan 10 veya daha az Levenshtein mesafesine .
Bu Nasıl Çalışacak?
Aşağıda ilk cevabı 2 ^ (n = 1) = 2 olan C # kullanarak göndereceğim.2
.
Yanıtlayacak bir sonraki kişi, kodu 10 adede kadar tek karakter eklemesi, silme veya ikame ile değiştirmelidir, böylece yeni cevabın dilinde çalıştırıldığında yazdırılır 2^n
( n
cevap numarası ile). Örneğin, 25. cevap (diyelim ki Pyth'te) 2 ^ 25 veya 33554432 yazdırabilir.
Bu, herkes sıkışıp kalıncaya kadar devam edecek, çünkü son cevaplayıcı programında sadece 10 karakter değiştirilerek çalıştırılabilecek yeni bir dil yok. Ortak amaç, bunu ne kadar süre tutabileceğimizi görmektir, bu nedenle belirsiz veya sınırlandırılmamış karakter düzenlemeleri yapmamaya çalışın (ancak bu bir zorunluluk değildir).
Biçimlendirme
Lütfen yayınınızı şu şekilde biçimlendirin:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Burada N cevap numarasıdır (artan şekilde, N = 1, 2, 3, ...).
Hangi tam karakterlerin değiştirildiğini söylemek zorunda değilsiniz. Sadece Levenshtein mesafesinin 0 ile 10 arasında olduğundan emin olun.
Bir dilde cevap verirseniz veya ortaya çıkan kod sadece bir karışıklıksa, lütfen ne yaptığınızı ve neden gerekli olmadığını açıklayın.
kurallar
Bu zorlukla ilgili anlaşılması gereken en önemli şey , bir kerede yalnızca bir kişinin yanıt verebilmesi ve her bir cevabın öncekine göre değişmesidir. .
Aynı N ile hiçbir zaman iki cevap olmamalıdır. Bazı N'ler için aynı anda iki kişi aynı anda cevap verirse, daha sonra cevap veren (birkaç saniye fark olsa bile) cevaplarını nezaketle silmelisiniz.
Dahası ...
- Bir kullanıcı arka arkaya iki cevap gönderemez. (örneğin, 1. cevabı gönderdiğimden beri 2. cevabı yapamam, ancak 3. yapabilirim.)
- Kısa sürede çok fazla cevap göndermekten kaçının.
- Her cevap farklı bir programlama dilinde olmalıdır.
- Python 2/3 gibi bir dilin farklı ana sürümlerini kullanabilirsiniz.
- Diller, geleneksel olarak iki farklı adla adlandırılıyorsa, belirgin olarak sayılır. (Burada bazı belirsizlikler olabilir, ancak bunun yarışmayı mahvetmesine izin vermeyin.)
- ASCII'ye bağlı kalmak zorunda değilsiniz, istediğiniz karakterleri kullanabilirsiniz. Levenshtein mesafesi unicode karakterlerle ölçülecektir .
- Çıktı yalnızca
2^n
başka karakterlerden oluşmalı ve olmamalıdır . (Lider / takip eden boşluk,>>>
ya da benzeri bastırılamaz bir çıktı gibi iyidirans=
) - Dilinizde stdout yoksa, hızlı bir şekilde metin çıktısı almak için yaygın olarak kullanılanları kullanın (ör.
console.log
Veyaalert
JavaScript'te). - Çıkmanız gereken ikisinin gücü çok büyüdüğünde, sonsuz belleği varsayabilir, ancak sonsuz bir tamsayı boyutunda olmayabilir. Lütfen tamsayı taşmalarına karşı dikkatli olun.
- Bilimsel gösterimi veya dilleri ne olursa olsun, sayıları temsil etmenin en doğal yolunu kullanabilirsiniz. (Tekli dışında, DO NOT tekli içinde çıkışı)
Lütfen cevabın geçerli olduğundan emin ol. Beş cevap kadar zincirde bir mola olduğunu anlamak istemiyoruz. Geçersiz cevaplar hızlı bir şekilde düzeltilmeli veya ilave cevaplar verilmeden önce silinmelidir.
Kesinlikle gerekli olmadıkça cevapları düzenlemeyin.
puanlama
İşler bir kez düzelince, en geçerli cevapları veren kullanıcı kazanır. En birikimli oylarla bağlar kullanıcıya gider.
Cevap gönderirken bunları düzenleyin:
Liderler Sıralaması
13 dil
Okx
8 dilde
zeplin
4 dil
Pavel
Jonathan Allan
Kritixi Lithos
Riker3 dil
boboquack
2 dil
bmarks
Conor O'Brien
yıkılabilir karpuz
ovs
Tom Carpenter1 dil
ATaco
Blokları
Dennis
dzaima
Erik Kurban
ETHproductions
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-Derp
R. Kap
Taylor Scott
nimi
Mistah Figgins
PidgeyUsedGust
steenbergh
Şimdiye kadar kullanılan diller:
- C # (Pavel)
- /// (boboquack)
- Retina (Dennis)
- Jöle (Jonathon Allan)
- Pyth (boboquack)
- > <> (Yıkılabilir Karpuz)
- Minkolang (Kritixi Lithos)
- Perl (Pavel)
- Python (Qwerp-Derp)
- dc (R. Kap)
- Kömür (Jonathon Allan)
- Kendini Değiştiren BrainFuck (Leo)
- SOGL (dzaima)
- ShapeScript (Jonathon Allan)
- Pyke (boboquack)
- Yakut (Nathaniel)
- 05AB1E (ovs)
- STATA (işaretler)
- bc (Kritixi Lithos)
- Japt (Okx)
- 2sable (Kritixi Lithos)
- Çedar (Jonathon Allan)
- Direkler (Okx)
- Bash (zeplin)
- Pushy (Okx)
- CJam (Outgolfer Erik)
- MATL (Okx)
- MATLAB (Tom Carpenter)
- Oktav (Kritixi Lithos)
- R (ovs)
- JavaScript ES7 (Tom Carpenter)
- Dışbükey (Okx)
- Mathematica (ghosts_in_the_code)
- Pip (Okx)
- Yığılmış (Conor O'Brien)
- GolfScript (Okx)
- Aslında (Lynn)
- RProgN (Okx)
- Şema (işaretler)
- Öğe (Okx)
- J (Bloklar)
- Cubix (ETHproductions)
- zsh (zeplin)
- VBA (Taylor Scott)
- Balık (zeplin)
- Retiküler (Okx)
- Perl 6 (Pavel)
- RProgN2 (ATaco)
- PHP (Matheus Avellar)
- Jolf (Conor O'Brien)
- Haskell (nimi)
- Befunge-98 (Mistah Figgins)
- Gnuplot (zeplin)
- QBIC (steenbergh)
- SİS (Riker)
- Qwerty-RPN (Okx)
- Korn Shell (ksh) (zeplin)
- Julia (Riker)
- Piton 3 (Pavel)
- Vimscript (Riker)
- Çizgi (zeplin)
- Vitsy (Okx)
- csh (zeplin)
- Ohm (Okx)
- Bosh (zeplin)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Bu soru en eskiye göre sıraladığınızda en iyi sonucu verir .