Nếu bạn nghĩ rằng điều này có thể thú vị, nhưng quá nhiều công việc, hãy xem xét tham gia vào thử thách nhỏ hơn nhiều này .
Một chút thú vị (và có thể là sự thất vọng!) Cho năm 2016 ... "câu đố của năm" của Dyalog . Thưởng thức!
Mục tiêu
Tìm các biểu thức DyL APL ( tải xuống ) (các ngôn ngữ khác được cho phép, xem Đủ điều kiện bên dưới) liên quan đến chính xác các chữ số 2 0 1 6 theo thứ tự đó để bằng các số từ 0 đến 100. Ví dụ:
20=16
×2016
2⌊016
2+0+1*6
...
Mục đích là sử dụng càng ít ký tự càng tốt trong mỗi biểu thức (số lượng ký tự tối thiểu cho một biểu thức là 5 - bốn chữ số 2 0 1 6 và một hàm / toán tử nguyên thủy duy nhất).
Những quy định
- Mỗi biểu thức phải chứa các chữ số 2 0 1 6 (theo thứ tự đó) và không có chữ số nào khác. Các hằng số đặt trước và các biến cũng không được phép.
- Ngoài bốn chữ số 2 0 1 6, chỉ có thể sử dụng các ký hiệu và tên tích hợp, dấu ngoặc đơn / dấu ngoặc, dấu cách, dấu trừ cao và dấu thập phân có thể được sử dụng. Các biểu thức kết quả phải có tính xác định (nghĩa là đưa ra kết quả tương tự trên các đánh giá lặp đi lặp lại). Đối với những người không phải APL, các hàm / toán tử có tên cũng được cho phép; quy tắc tương tự như ở đây .
- Giả sử tất cả các cài đặt mặc định cho ngôn ngữ của bạn. Đối với Dyalog APL, điều này có nghĩa
⎕ML
và⎕IO
cả 1, và⎕PP
là 10. - Mỗi mục bao gồm các biểu thức chính xác cho tất cả các số từ 0 đến 100 đã bao gồm sẽ được xếp hạng theo số lượng ký tự được sử dụng bởi các biểu thức đó, ngoại trừ khoảng trắng thừa (tối thiểu 505 cho tất cả 101 biểu thức).
Đủ điều kiện
Bất cứ ai cũng có thể nhập. Bạn có thể trả lời bằng bất kỳ ngôn ngữ nào, nhưng chỉ những câu trả lời của APL mới được xem xét để chấp nhận. Nếu bạn sử dụng ngôn ngữ khác ngoài APL, bạn có thể sử dụng đoạn trích, chương trình, chức năng, v.v. làm phương án thay thế cho biểu thức và bạn có thể in, để số ở vị trí bộ nhớ có thể truy cập hoặc trả lại kết quả, miễn là mã của bạn trực tiếp ước tính đến số mong muốn như bất kỳ loại dữ liệu số tiêu chuẩn nào cho ngôn ngữ của bạn.
Ngày đóng cửa
Ngày 30 tháng 11 năm 2016.
Giải thưởng
- Có câu trả lời của bạn được chấp nhận
- Được bất tử trong Đại sảnh Danh vọng 2016 của Dyalog!
Gửi bài dự thi của bạn
Sau ngày 30 tháng 11 năm 2016, tôi sẽ chấp nhận câu trả lời ngắn nhất và gửi câu trả lời của bạn, dưới tên của bạn , đến Hội trường Danh vọng 2016 của Dyalog.
Câu hỏi thường gặp
- Được
J
(ví dụ 37 =⌈⍟!20J16
) cho phép? - Không: Ngoài bốn chữ số 2 0 1 6, chỉ có thể sử dụng các ký hiệu và tên tích hợp, dấu ngoặc đơn / dấu ngoặc, dấu cách, dấu trừ cao và dấu thập phân có thể được sử dụng.
- Là đầu ra như một chuỗi chấp nhận được?
- Không: bằng các số từ 0 đến 100.
- Chữ số vật lý, hay chữ số dữ liệu?
- Các chữ số dữ liệu, theo OP: cùng quy tắc như ở đây , trong đó một trong các ví dụ chứa
LOG10(
. - Việc gán các biến sau đó sử dụng chúng như một phần của biểu thức (ví dụ 56 =
a+16+a←20
) có được phép không? - Có, nhưng bạn không thể sử dụng một bài tập từ một biểu thức trong một biểu thức khác.
Tôi có giấy phép rõ ràng để gửi thử thách này ở đây từ tác giả ban đầu của thử thách này. Vui lòng xác minh bằng cách theo liên kết được cung cấp và liên hệ với tác giả. Tôi đã cho tác giả cạnh tranh ban đầu liên kết đến trang này trong vòng một phút tôi đăng nó, để họ có thể kiểm tra xem tôi có gửi câu trả lời của ai đó cho riêng mình không.
⎕ML
và ⎕IO
(giả sử là 1
) có thể được chấp nhận?