Đây là bản đăng lại của Evolution of World Hello World!, Được viết bởi người dùng Helka Homba
Nó không nên được đóng lại như là một bản sao, do sự đồng thuận meta ở đây .
Bản gốc đã được hỏi hơn hai năm trước và hoạt động lần cuối cách đây hơn sáu tháng. Tôi được sự cho phép của Helka Homba để đăng bài này tại đây
Kể từ bản gốc, nhiều ngôn ngữ đã được phát minh và nhiều người đã tham gia trang web chưa bao giờ có cơ hội trả lời bản gốc, vì vậy tôi cảm thấy rằng bài đăng này có thể chấp nhận được.
Thách thức là tạo ra một chương trình in 2^n
ra thiết bị xuất chuẩn, n
số lượng chương trình của bạn ở đâu. Điều hấp dẫn là chương trình của bạn phải có khoảng cách Levenshtein từ 10 trở xuống so với chương trình trong câu trả lời được gửi trước bạn.
Làm thế nào điều này sẽ làm việc
Dưới đây tôi sẽ gửi câu trả lời đầu tiên bằng C #, in 2 ^ (n = 1) = 2
.
Người tiếp theo trả lời phải sửa đổi mã với tối đa 10 ký tự chèn, xóa hoặc thay thế ký tự để khi nó được chạy bằng ngôn ngữ của câu trả lời mới, nó sẽ in ra 2^n
(với n
số câu trả lời). Ví dụ: câu trả lời thứ 25 (giả sử là trong Pyth) sẽ in 2 ^ 25 hoặc 33554432.
Điều này sẽ tiếp tục cho đến khi mọi người gặp khó khăn vì không có ngôn ngữ mới, chương trình của câu trả lời cuối cùng có thể được thực hiện để chỉ chạy thay đổi 10 ký tự. Mục tiêu chung là để xem chúng tôi có thể duy trì điều này trong bao lâu, vì vậy hãy cố gắng không thực hiện bất kỳ chỉnh sửa nhân vật mơ hồ hoặc không chính đáng nào (tuy nhiên đây không phải là một yêu cầu).
Định dạng
Vui lòng định dạng bài viết của bạn như thế này:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Trong đó N là số câu trả lời (tăng dần, N = 1, 2, 3, ...).
Bạn không cần phải nói chính xác các ký tự đã được thay đổi. Chỉ cần đảm bảo khoảng cách Levenshtein là từ 0 đến 10.
Nếu bạn trả lời bằng một số ngôn ngữ hoặc mã kết quả chỉ là một mớ hỗn độn, vui lòng giải thích những gì bạn đã làm và tại sao nó hoạt động, mặc dù điều này không bắt buộc.
Quy tắc
Điều quan trọng để hiểu về thử thách này là chỉ một người có thể trả lời tại một thời điểm và mỗi câu trả lời phụ thuộc vào câu hỏi trước nó .
Không bao giờ nên có hai câu trả lời giống nhau. Nếu hai người tình cờ trả lời đồng thời cho một số N, người trả lời sau (ngay cả khi đó là một vài giây khác nhau) nên xóa câu trả lời của họ.
Hơn nữa ...
- Một người dùng không thể gửi hai câu trả lời liên tiếp. (ví dụ: kể từ khi tôi gửi câu trả lời 1, tôi không thể trả lời 2, nhưng tôi có thể làm 3.)
- Cố gắng tránh đăng quá nhiều câu trả lời trong một khung thời gian ngắn.
- Mỗi câu trả lời phải bằng một ngôn ngữ lập trình khác nhau.
- Bạn có thể sử dụng các phiên bản chính khác nhau của ngôn ngữ, như Python 2/3
- Ngôn ngữ được tính là khác biệt nếu chúng được gọi theo truyền thống bởi hai tên khác nhau. (Có thể có một số sự mơ hồ ở đây nhưng đừng để điều đó phá hỏng cuộc thi.)
- Bạn không phải dính vào ASCII, bạn có thể sử dụng bất kỳ ký tự nào bạn muốn. Khoảng cách Levenshtein sẽ được đo bằng các ký tự unicode .
- Đầu ra chỉ nên
2^n
và không có ký tự khác. (Khoảng trắng hàng đầu / dấu là tốt, như là đầu ra không thể nhấn như>>>
hoặcans=
) - Nếu ngôn ngữ của bạn không có thiết bị xuất chuẩn, hãy sử dụng bất cứ thứ gì thường được sử dụng để nhanh chóng xuất văn bản (ví dụ:
console.log
hoặcalert
bằng JavaScript). - Khi sức mạnh của hai bạn phải xuất ra rất lớn, bạn có thể giả sử bộ nhớ vô hạn, nhưng không phải là kích thước nguyên vô hạn. Xin hãy cảnh giác với số nguyên tràn.
- Bạn có thể sử dụng ký hiệu khoa học hoặc bất cứ ngôn ngữ nào mà cách biểu đạt tự nhiên nhất của bạn là. (Ngoại trừ unary, KHÔNG xuất ra unary)
Hãy chắc chắn rằng câu trả lời của bạn là hợp lệ. Chúng tôi không muốn nhận ra rằng có một sự phá vỡ trong chuỗi năm câu trả lời. Câu trả lời không hợp lệ nên được sửa chữa nhanh chóng hoặc xóa trước khi có câu trả lời bổ sung.
Đừng chỉnh sửa câu trả lời trừ khi thực sự cần thiết.
Chấm điểm
Khi mọi thứ ổn định, người dùng gửi câu trả lời (hợp lệ) nhất sẽ thắng. Ties đi đến người dùng với số phiếu tăng tích lũy nhất.
Chỉnh sửa những điều này khi bạn gửi câu trả lời:
Bảng xếp hạng
13 ngôn ngữ
Ok
8 ngôn ngữ
zeppelin
4 ngôn ngữ
Pavel
Jonathan Allan
Kritixi Litva
Riker3 ngôn ngữ
boboquack
2 ngôn ngữ
đánh dấu
Conor O'Brien Trứng
dưa hấu phá hủy Tom Carpenter1 ngôn ngữ
ATaco
Blocks
Dennis
dzaima
Erik các Outgolfer
ETHproductions
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-derp
R. Kap
Taylor Scott
Tên mẫu
Mistah Figgins
PidgeyUsedGust
steenbergh
Ngôn ngữ được sử dụng cho đến nay:
- C # (Pavel)
- /// (boboquack)
- Võng mạc (Dennis)
- Thạch (Jonathon Allan)
- Pyth (boboquack)
- > <> (Dưa hấu phá hủy)
- Chồn (Kritixi Litva)
- Perl (Pavel)
- Con trăn (Qwerp-Derp)
- đc (R. Kap)
- Than (Jonathon Allan)
- Tự sửa đổi BrainFuck (Leo)
- SOGL (dzaima)
- ShapeScript (Jonathon Allan)
- Pyke (boboquack)
- Ruby (Nathaniel)
- 05AB1E (lò nướng)
- STATA (đánh dấu)
- bc (Kritixi Litva)
- Japt (Okx)
- 2sable (Kritixi Litva)
- Cheddar (Jonathon Allan)
- Giá treo (Okx)
- Bash (zeppelin)
- Đẩy (Okx)
- CJam (Erik the Outgolfer)
- MATL (Okx)
- MATLAB (Thợ mộc Tom)
- Octave (Kritixi Litva)
- R (lò nướng)
- JavaScript ES7 (Thợ mộc Tom)
- Lồi (Okx)
- Toán học (ghosts_in_the_code)
- Pip (Okx)
- Xếp chồng lên nhau (Conor O'Brien)
- GolfScript (Okx)
- Thật ra (Lynn)
- RProgN (Okx)
- Lược đồ (đánh dấu)
- Yếu tố (Okx)
- J (Khối)
- Cubix (Sản xuất ETH)
- zsh (zeppelin)
- VBA (Taylor Scott)
- Cá (zeppelin)
- Mạng lưới (Okx)
- Perl 6 (Pavel)
- RProgN2 (ATaco)
- PHP (Matheus Avellar)
- Jolf (Conor O'Brien)
- Haskell (nimi)
- Befunge-98 (Hình vẽ Mistah)
- Gnuplot (zeppelin)
- QBIC (steenbergh)
- FOG (Riker)
- Qwerty-RPN (Okx)
- Korn Shell (ksh) (zeppelin)
- Julia (Riker)
- Con trăn 3 (Pavel)
- Vimscript (Riker)
- Dấu gạch ngang (zeppelin)
- Vitsy (Okx)
- csh (zeppelin)
- Ồ (Okx)
- Bosh (zeppelin)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Câu hỏi này hoạt động tốt nhất khi bạn sắp xếp theo cũ nhất .