Nếu bạn thích điều này, hãy xem xét tham gia:
Tạo 12 đoạn / biểu thức , trong cùng một ngôn ngữ, dẫn đến các số từ 0 đến 10 và 42 tương ứng, nhưng không ghi bất kỳ dữ liệu số, chuỗi hoặc ký tự nào.
Dữ liệu tích hợp, như PI()
và ALPHABET()
, đều ổn, và ví dụ như các hằng số U, X, Y, Z và A của CJam, và BLEND, CHORD, TRUNG TÂM, BREAK và DÒNG xử lý.
Mỗi đoạn mã phải có khả năng tự đứng vững, tức là chúng có thể không phụ thuộc lẫn nhau. Tuy nhiên, bên trong một đoạn mã duy nhất, bạn có thể chỉ định một biến và sử dụng nó một cách tự do, miễn là bạn tham chiếu trực tiếp đến tên đó và không thông qua một chuỗi chứa tên của nó.
Tất cả các đoạn mã phải hợp lệ trên máy tính của người gửi tại thời điểm gửi (như báo cáo của SE), nhưng không được dựa vào các điều kiện địa phương bất thường như số lượng tệp trong một thư mục, ngày hoặc giờ chính xác hoặc đầu vào cụ thể từ người dùng .
Ví dụ về đoạn trích hợp lệ
3: INT(LOG10(YEAR(TODAY())))
bởi vì nó vẫn đúng trong tương lai
4: CUBICROOT(LEN(CHARACTERSET()))
vì một bộ ký tự 256 chữ rất phổ biến
8: SQRT(SYSTEMTYPE())
vì các hệ thống 64 bit rất phổ biến
Ví dụ về đoạn trích không hợp lệ
5: LEN(USERNAME())
bởi vì hầu hết mọi người không sử dụng Đăng nhập của quản trị viên Đăng nhập :-)
9: LOG10(SYSTEMMEMORY())
vì nó chỉ hoạt động trên các hệ thống có chính xác 1 GB bộ nhớ
42: CODE("*")
vì nó chứa một chuỗi / ký tự bằng chữ
Kết quả của mỗi đoạn mã phải dẫn đến một số thực tế (giá trị, int, float, v.v.) có thể được sử dụng để tính toán thêm bằng cách sử dụng cùng ngôn ngữ với đoạn mã, tức là không phải là một chuỗi văn bản đại diện cho số đó.
Chỉ cho phép các ngôn ngữ dựa trên ký tự.
Điểm là tổng số byte của tất cả 12 đoạn được kết hợp. Các dòng mới phân tách các đoạn không được tính vào.
Lưu ý rằng các quy tắc trên có thể ngăn một số ngôn ngữ tham gia, ngay cả khi chúng hoàn thành Turing.
Câu hỏi thường gặp
Q Các chương trình có thể chấp nhận bất kỳ đầu vào?
A Có, nhưng bạn không chỉ yêu cầu nhập và nhập số liên quan.
Q Các chữ số vật lý (không phải dữ liệu) có được phép không?
A Có, vd LOG10()
.
Q Do Symbols trong Ruby được tính là chữ?
Một Yes.
Q Điểm có bao gồm các dòng mới giữa mỗi đoạn không?
Một số
Q TI-BASIC "dựa trên ký tự" có đủ hợp lệ không?
Một Yes.
Q Làm sai và đúng là số chữ?
Một Không, họ được chấp nhận.
H Chúng ta có thể sử dụng một số bằng chữ để gọi một hàm nếu đó là cách duy nhất và số đó không ảnh hưởng đến đầu ra của hàm?
A Có, nếu đó là cách thông thường để viết mã bằng ngôn ngữ của bạn.
Q Ngôn ngữ của tôi giả sử có [một cái gì đó] ở đầu mỗi chương trình / biểu thức. Tôi phải bao gồm nó hay các đoạn trích của tôi chỉ hoạt động nếu được đặt ở giữa chương trình / biểu thức?
A Họ chỉ nên làm việc ở giữa một chương trình / biểu thức.
Q Điều gì về regex nghĩa đen?
Một Tử Cấm, ngoại trừ các ngôn ngữ chỉ làm regexes.
Q Có phải một đoạn mã có thể in tất cả các số được chỉ định có thể chấp nhận không?
Một Không, họ phải được tách biệt và đôi bên cùng có độc lập.
H Tôi có thể giả sử một cái nồi hơi giống int main() {}...
hoặc tương đương không?
Một Yes.
Q Kiểu dữ liệu đầu ra nào được phép?
A Bất kỳ kiểu dữ liệu số nào, như int, float, v.v.
H Tôi có cần in kết quả của từng đoạn không?
Một Không, làm cho kết quả có sẵn để sử dụng sau là đủ.
Q Các biến đặt trước có được phép không?
A Có và chúng sẽ được đặt lại (nếu thay đổi) cho mọi đoạn mã.
Q Có phải π và e được coi là số chữ?
Một Không, bạn có thể sử dụng chúng.
H Tôi có thể trả lại 4 và 2 trong các ô khác nhau cho 42 không?
Một Không, họ phải được kết nối như một số.
Q byte hay ký tự?
Một byte, nhưng bạn có thể chọn bất kỳ bảng mã mong muốn nào.
Q Có thể sử dụng các hàm hằng và các biến đặt trước như J 9:
, Trên thực tế 9
và Pretzel 9
không?
A Có, nếu từ vựng là hữu hạn (19 cho J, 10 cho Thực tế và Pretzel).