Sử dụng 74 ký tự từ chuỗi viên nang thời gian 2016
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
viết đoạn mã N tất cả trong cùng một ngôn ngữ trong đó:
- Đoạn đầu ra đầu ra
1
. - Đoạn đầu ra thứ 2
2
. - Đoạn đầu ra thứ 3
3
. - ... vv ...
- Đoạn mã đầu ra Nth
N
(số, không phải chữ bằng chữ).
Một "đoạn mã" được định nghĩa là bất kỳ trong số này:
- Một chương trình đầy đủ không có đầu vào cần thiết mà đầu ra số bình thường .
- Một hàm không có đối số bắt buộc xuất / trả về số bình thường .
- Một biểu thức REPL ước lượng cho số.
(Bạn có thể trộn và kết hợp ba biến thể này trong đoạn N của mình.)
Các ký tự bạn được phép sử dụng trong bộ N đoạn kết hợp chính xác là 74 ký tự của viên nang thời gian, cộng với floor(N/2)
các byte "ký tự đại diện" bổ sung mà bạn có thể sử dụng ở bất cứ đâu.
Ví dụ: viên nang thời gian chứa ba phần @
trong toàn bộ đoạn mã N của bạn, chỉ có thể có tối đa ba @
món quà trừ khi bạn quyết định sử dụng một số floor(N/2)
byte ký tự đại diện của mình để thêm @
.
Do đó, không tính các ký tự đại diện, tập hợp các ký tự trong đoạn mã N của bạn phải là một tập hợp con của 74 ký tự dấu thời gian. Độ dài kết hợp của chúng không thể vượt quá 74. Bạn không được sử dụng lại các ký tự dấu thời gian hoặc byte ký tự đại diện giữa các đoạn.
Ghi chú
Không có giới hạn nào khác về độ dài đoạn trích hoặc số lượng ký tự đại diện có thể được sử dụng cho mỗi đoạn mã.
Bạn phải viết tất cả các đoạn từ 1 đến N. Không phải là 0 đến N-1, không phải k đến N + k-1.
Đoạn mã phải là riêng lẻ, không phải là một đoạn xuất ra danh sách
1, 2, 3, ..., N
.Các đầu ra có thể nổi như
3.0
ở vị trí3
và bạn có thể sử dụng một cơ sở khác với số thập phân nếu đó là cơ sở tự nhiên của ngôn ngữ của bạn . Bạn phải sử dụng cùng một cơ sở cho tất cả các đoạn.Các ký tự đại diện được tính là byte trong mã hóa ngôn ngữ của bạn . Đây có thể sẽ là ASCII nhưng ví dụ: nếu
∞
được tính là một byte trong mã hóa của bạn thì bạn có thể sử dụng nó như một byte ký tự đại diện duy nhất.Bạn có thể sử dụng byte ký tự đại diện cho các ký tự đa bào. ví dụ: thông thường
∞
là ba byte để bạn có thể sử dụng nó trong một đoạn nhưng nó sẽ tốn ba byte ký tự đại diện của bạn .floor(N/2)
Các dòng mới như
\r\n
có thể được coi là một byte.
Thí dụ
Trong Python, N = 4 có thể chỉ bằng cách sử dụng REPL. Có floor(4/2) = 2
ký tự đại diện.
1
từ viên nang thời gian là một biểu hiện mà evals đến1
.2
bao gồm một ký tự đại diện duy nhất, cụ thể là2
. Evals để2
.3
cũng bao gồm một ký tự đại diện duy nhất. Evals để3
. Không còn ký tự đại diện.4
là may mắn trong viên nang thời gian và nó tránh xa4
.
Những đoạn này ngắn và tầm thường. Một câu trả lời thực sự có thể sẽ phức tạp hơn nhiều.
(Năm và hơn thế nữa trong Python chắc chắn là có thể nhưng tôi sẽ để lại cho các chuyên gia.)
Chấm điểm
Câu trả lời có N thắng cao nhất; tức là cái leo lên thang số nguyên cao nhất.
Trong trường hợp hòa, câu trả lời sử dụng ít byte ký tự đại diện nhất sẽ thắng.
Trong trường hợp vẫn còn một ràng buộc, câu trả lời sử dụng ít nhân vật tích lũy nhất sẽ thắng.
Nếu vẫn còn hòa, câu trả lời trước đó sẽ thắng.
07
giống như 7
?
-
cũng không n
...
4
một đoạn mã hợp lệ trả về 4, trong các phiên bản cũ hơn của Perl không có REPL?)