Trò chơi chính thức năm 2016 của Dyalog APL


26

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⎕IOcả 1, và ⎕PPlà 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.



Rất nhiều câu trả lời và không có một giải pháp APL?
Akangka

1
@ChristianIrwan Phải, đó là điều được mong đợi: bất kỳ ai làm điều đó trong APL có thể muốn gửi đến cuộc thi thực sự thay vì tiết lộ bí mật của mình ở đây.
Adám

@ Adám, điều này có thể là muộn, nhưng việc sử dụng ⎕ML⎕IO(giả sử là 1) có thể được chấp nhận?
Zacharý

@ZacharyT Bạn có nghĩa là đặt tên quad vào biểu thức? Âm thanh như rất nhiều nhân vật phụ cho chiến thắng nhỏ. Bạn có thể cho tôi một ví dụ?
Adám

Câu trả lời:


7

Thạch, 686 byte

20=16
20>16
2+0%16
201%6
20%16
20%16‘
201a6
20>1+6
20%16Ḥ
2016DS
20Ho16
2016BL
20:1.6
20_1_6
20×1_6
20+1_6
20&16
20:+16
2+0+16
20+1^6
20|16
20|16‘
20|16‘‘
20%16!’
20%16!
20²:16
20H+16
20+1+6
20×1_6Ḥ
20×1_6Ḥ‘
20+1_6Ḥ
2016&½’
2016&½
201:6
201:6‘
20Cạ16
20+16
20+16‘
20+1^6Ḥ
20|16Ḥ’
20|16Ḥ
20|16Ḥ‘
20|16‘Ḥ
2016½Ḟ’
2016½Ḟ
2016½Ċ
2016½Ċ‘
20Ḥ+1+6
2r0×16S
201a6‘²
20²:16Ḥ
2r016+S
201ÆC+6
20&16ÆN
20H_1×6
20ạC+16
20Ḥ+16
20_1×6H
20_1×6H‘
20_1×6H‘‘
20+1_6ḤḤ
2+0+16ÆN
20:.16H
20+1×6H
2²+0×16
201:6Ḥ’
201:6Ḥ
201Ḥ:6
201Ḥ:6‘
20Cạ16Ḥ’
20Cạ16Ḥ
20+16Ḥ’
20+16Ḥ
20+16Ḥ‘
20+16Ḥ‘‘
20+ÆN_16
20+1^6ḤḤ
20+1^6ḤḤ‘
20×16HH’’
20×16HH’
20×16HH
20×16HH‘
20|16Ḥ‘Ḥ
20|16Ḥ‘Ḥ‘
20|16‘ḤḤ
201½×6Ḟ
201½×6Ċ
20ÆN+16
2016½ḞḤ
20Æn16¡
20r16S
20r16S‘
20r16S‘‘
20Ḥ+1+6Ḥ’
20Ḥ+1+6Ḥ
20ḤḤ+16’
20ḤḤ+16
20ḤḤ+16‘
201a6‘²Ḥ
201’Ho6’
201’Ho6

Tôi đã viết khoảng 50 trong số này, sau đó tự động tạo phần còn lại bằng cách nối thêm (× 2) và ‘’(± 1) khi cần. Tôi sẽ cải thiện chúng sau!


46 có thể trở thành 201ÆCo6. Tôi không nghĩ rằng bạn có thể sử dụng (được thực hiện vào tháng hai), nhưng 20|16Ḥ‘Ḥ20|16‘ḤḤ’được bình đẳng ngắn.
Dennis

@Dennis Oops, tập lệnh Python của tôi thực sự được ưa thích hơn ‘’- 46, trong số bốn số khác, nên có một ký tự ngắn hơn. Tôi đã thay thế nó bằng nó 2016½Ċ‘miễn là của bạn.
Lynn

9

Lục giác , 888 byte

Được rồi, đầu tiên một số quy tắc cơ bản cho Hexagony, trong trường hợp bất cứ ai muốn đánh bại điều này:

  • Tôi đang giải thích "đoạn trích" là một đoạn mã tuyến tính có thể được đổ vào bất kỳ chương trình đủ lớn nào, miễn là các cạnh bộ nhớ hiện tại và liền kề bằng không.
  • Đoạn mã phải được nhập từ bên trái và thoát khỏi bên phải. Tôi có thể lưu khá nhiều byte mà không cần điều đó (ví dụ như 2|016cho 22), nhưng dường như hầu hết trong tinh thần của thử thách.
  • Đoạn mã "tạo ra" một số đã cho, nếu bất kỳ cạnh bộ nhớ nào (không nhất thiết là số hiện tại) giữ giá trị đó sau khi thực hiện.
  • Quy tắc cấm bất kỳ số nào khác trong đoạn trích ảnh hưởng đến cả các chữ số khác cũng như bất kỳ chữ cái nào, vì chúng thực sự hoạt động như các chữ số nguyên trong Hexagony. (Những thứ đó sẽ tiết kiệm được một tấn byte.)

Vì vậy, đây là danh sách. Tôi đã kiểm tra hầu hết trong số họ nhưng không phải tất cả (một số là sửa đổi nhỏ của người khác), vì vậy tôi hy vọng tôi đã không phạm phải bất kỳ sai lầm nào:

2016
20&1}6
2}016
2)}016
20{16'-
201}6(
201}6
201}6)
2}016":
2(0(}16
2(0}16
2(0)}16
)2}016
)2)}016
20}16((
20}16(
20}16
20}16)
20}16))
20(}16
20}16
20)}16
20))}16
20)))}16
20}1)6((
20}1)6(
20}1)6
20}1)6)
201{6)':
2)0(}16
2)0}16
2)0)}16
2{016'*
201{6':
2{016)'*
20}1))6(
20}1))6
20}1))6)
20}1))6))
2))0(}16
2))0}16
2))0)}16
2))0))}16
2))0)))}16
20)){1)'6*
2){016('*
2){016('*)
2){016'*(
2){016'*
2){016'*)
2)))0}16
2){016)'*
2){016)'*)
2{01)6)'*(
2{01)6)'*
2{01)6)'*)
2{01)6)'*))
2{01)6)'*)))
2))))0((}16
2))))0(}16
2))))0}16
2))))0)}16
2)0){1)'6*
2)){016'*(
2)){016'*
2)){016'*)
2)){016'*))
2)){016'*)))
2{01))6('*(
2{01))6('*
2{01))6'*((
2{01))6'*(
2{01))6'*
2{01))6'*)
2{01))6)'*
2){01)6('*
2){01)6'*((
2){01)6'*(
2){01)6'*
2){01)6'*)
20{1)))'6*
2){01)6)'*
2){01)6)'*)
2){01)6)'*))
2){01)6))'*
2){01)6))'*)
2){01)6))'*))
2){01)6)))'*
2{01)))6(('*
2{01)))6('*(
2{01)))6('*
2{01)))6'*(
2{01)))6'*
2{01)))6'*)
2{01)))6)'*
2{01)))6)'*)
2{01)))6))'*
2(01((((}16
2(01(((}16
2(01((}16
2(01(}16

Tôi đã có một chút lười biếng cho đến cuối cùng, vì vậy tôi chắc chắn rằng điều này không tối ưu. Có thể thú vị (và có thể) để vũ phu những điều này.


Rất đẹp. Hãy nhớ rằng bạn có 10 tháng (hoặc mãi mãi, thực sự) để cải thiện điều này. Tôi cho rằng Hexagony có vài lệnh đủ để buộc vũ phu là hợp lý. Tôi đã mất một tuần sử dụng 100% lõi đơn để sử dụng 4 ký tự APL.
Adám

Vậy bạn đã làm được chưa? Bạn đã có được một giải pháp tối ưu?
jimmy23013

@NBZ Vì việc tăng và giảm kết quả luôn luôn có thể, đối với một byte đơn, Hexagony có thể dễ dàng kiểm tra các chương trình cho bất kỳ số nào (thay vì một số tại một thời điểm) và nếu tôi tìm thấy thứ gì đó ngắn hơn mức tốt nhất hiện tại cho điều đó số và có thể rút ngắn số đó và có khả năng một vài số xung quanh nó. Và vâng, một khi bạn loại bỏ các chữ số và chữ cái (và một số ký tự khác vô dụng ở đây), nó sẽ khá thô bạo.
Martin Ender

@ jimmy23013 Gần xong rồi. Thiếu giải pháp tối ưu cho hai trong số 101 số.
Adám

@NBZ Bạn chỉ phải dùng vũ lực cho các giải pháp 4 ký tự để chứng minh rằng không có giải pháp nào như vậy. Tôi nghĩ rằng có khả năng bạn có thể viết một giải pháp 5 ký tự bằng tay và điều đó sẽ là tối ưu.
jimmy23013

8

J, 1041 ... 838 byte

981 961 952 860 859

Tôi đã có một chút lười biếng cho đến cuối cùng, nhưng nó nên được cố định nhiều hơn ít hơn. Tôi không nghĩ mình sẽ vượt qua Hexagony, nhưng bạn không bao giờ biết! đập lục giác! Đã lưu 9 byte nhờ Zgarb! và nhiều hơn nữa cho Lynn!

20=16
*2016
2[016
2+01[6
20-16
p:2[016
201]6
2+0-1-6
-:20]16
2+01+6
-:20[16
p:20-16
+/2$01]6
<:20-1]6
20-1]6
<:20]16
20]16
p:201]6
2+016
20-1[6
20[16
20+1[6
20++~1[6
+/q:2016
20-(+:1)-6
<:20+1]6
20+1]6
20+1+6
+:20-1]6
p:2+01+6
-2-+:016
<:2*016
2*016
>.201%6
<.201%6
<:20+16
20+16
20+>:16
+~20-1[6
-20-p:16
+:20[16
p:2*01*6
>:p:2*01*6
<:<.%:2016
<.%:2016
>.%:2016
+/q:*:2016
p:20-1]6
>:p:20-1]6
*:2+0-1-6
+:20-1-6
20++:16
<.%:20^%:1+6
20+#i:i:16
*/2,01]$~-:6
<:<.o.2+016
<.o.2+016
>.o.2+016
<:p:20]16
p:20]16
>:p:20]16
2+p:016
<.o.20[16
<:2^01]6
2^01]6
>:2^01]6
<:p:2+016
p:2+016
>:p:2+016
>:>:p:2+016
<:p:20-1[6
p:20-1[6
+/+~20 16
p:20[16
>:p:20[16
>:>:p:20[16
-:+/2+i.016
<:<:p:20+1[6
<:p:20+1[6
20+p:16
20*.16
*:2+01+6
>:*:2+01+6
p:20++~1[6
<.o.20+1+6
>.o.20+1+6
>:>.o.20+1+6
<.o.+:20-1]6
>.o.+:20-1]6
p:+/q:2016
>:p:+/q:2016
<.o.p:2+01+6
>.o.p:2+01+6
(*:-:20)-1+6
>:(*:-:20)-1+6
<:(++:)2*016
(++:)2*016
p:20-(+:1)-6
2**~p:-:01]6
<:*:-:20[16
*:-:20[16

Điểm nổi bật và ghi chú

Tôi đã sử dụng số nguyên tố rất nhiều trong này. Trong thực tế, tôi đã sử dụng p:(số nguyên tố thứ N) 37 lần trong việc này.

 *:-:20[16

90 đã được thực hiện bằng cách sử dụng một ngã ba. Yay! Nó gần đúng với điều này:

(*+&1)2+01+6

Được dịch là

inc =: + &1
mul =: *
nin =: 2 + 1 + 6
NB. since (f g) y = y f (g y):
  (mul inc) nin   = nin mul (inc y)
                  =  9   *    9+1
                  =  90

54 sử dụng một ravel định hình!

*/2,01]$~-:6

Tương đương với

*/ 2 , $~ -:6
*/ 2 , -:6 $ -:6
*/ 2 , 3 $ 3
*/ 2 , 3 , 3 , 3
   2 * 3 * 3 * 3
   54

Vâng, bạn có 3/4 năm để cải thiện.
Adám

24: !20-1654: <.^20-1655: >.^20-1697:p:!20-16
Lynn

Thủ thuật hay với bốn nhân tố!
Conor O'Brien

94 đó có vẻ dài đáng ngờ ... còn khoảng +:p:-2-016(4 byte ngắn hơn)?
Lynn

Tôi nghĩ 7 có thể 2]01+6, 8 có thể 2%~016và 12 có thể 2*01]6.
Zgarb

7

JavaScript, 1021 byte

Đã sửa và lưu hai byte nhờ Charlie WynnETH Productstions .

201&6
-~!2016
2%016
201%6
20%16
2^0^1^6
2*0*1+6
2|0|1|6
2*01+6
2-~01+6
~2+016
~2+016
2^016
20-1-6
2|016
20+1-6
20&16
2-~016
2.0+16
20^1+6
20|16
-~20|16
20*1|6
20|1|6
-2*~01*6
20-1+6
20+1*6
20+1+6
2*016
-~(2*016)
2*-~016
~-(2.0*16)
2.0*16
-~(2.0*16)
2.0*-~16
~-20+16
20+16
-~20+16
-~-~20+16
-~2*~-016
20*-~1.6
~-(-~2*016)
-~2*016
~-~-(~2*~016)
~-(~2*~016)
~2*~016
20<<1|6
20*-~1-~6
~2*~-~016
-~(~2*~-~016)
~-~(~-~2*~-016)
~2*~-~-~016
-~-~2*~-016
20*-~-~1+~6
20*-~-~1-6
20*-~-~1-~-6
-~-~2*016
-~20*-~-~1-6
-~-~(-~-~2*016)
~-(20*~-~(1-6))
~-~2*~016
-~(20*~-~(1-6))
-~-~(20*~-~(1-6))
-~20*~-~(1-6)
~-~2*~-~016
20*-~-~1+~-6
20*-~-~1+6
20*-~-~1-~6
~-~2*~16
-~20*-~-~1+6
-~-~-~2*016
~-(~-~2*~-~16)
~-~2.0*~-~16
-~(~-~2*~-~16)
20*-~-~-~1-6
~-~-~2*~016
~-20*~(1-6)
-~(~-20*~(1-6))
~-~-(20*~(1-6))
~-(20*~(1-6))
20*~(1-6)
-~(20*~(1-6))
~-~-(~20*-~(1-6))
~-(~20*-~(1-6))
~20*-~(1-6)
20*-~-~-~1+~-6
20*-~-~-~1+6
20*-~-~-~1+-~6
20*-~-~-~1+-~-~6
~-(~-~-20*-(1-6))
~-~-20*-(1-6)
-~(~-~-20*-(1-6))
~-~-~-(~-20*-(1-6))
~-~-(~-20*-(1-6))
~-(~-20*-(1-6))
~-20*-(1-6)
-~(~-20*-(1-6))
~-~-~-(20*-(1-6))
~-~-(20*-(1-6))
~-(20*-(1-6))
20*-(1-6)

20 ^ 1 + 6 lưu một cho 19 (có ổn không nếu bạn đặt số bên cạnh mỗi mục?)
Charlie Wynn

20 << 1 | 6 lưu một cho 46 (tôi có nên chỉnh sửa câu trả lời của bạn không?)
Charlie Wynn

@CharlieWynn Không. Sử dụng đề xuất nhận xét. Có một bài viết meta trên đó.
mbomb007 ngày

Kiểm tra trên Firefox 44, số 1 của bạn thực sự là 2 và số 10 của bạn là 11. Bạn có thể sử dụng số 10 hiện tại của mình là 11 (ngắn hơn ba byte), 2-~01+6là 10 và -~!2016là 1.
ETHproductions 3/03/2016

wow ai đó đã xoay sở để đánh bại giải pháp 5244 ký tự của tôi
clamchowder314

7

JavaScript (ES7), 836 byte

Mọi thứ sẽ hoạt động trong mọi trình duyệt ngoại trừ 81, 88 và 97, sử dụng **toán tử mới .

Hầu hết mọi thứ ở đây đều được thực hiện bằng tay. Tôi đã làm việc với một bác sĩ vũ phu để cải thiện bất cứ điều gì có thể được cải thiện. Hiện tại nó đã lưu 103 byte trên các mục khác nhau.

  0: 201&6
  1: 2-01%6
  2: 2%016
  3: 201%6
  4: 20%16
  5: 201%~6
  6: 2%01+6
  7: 2-01+6
  8: 2*01+6
  9: 2+01+6
 10: 2-~01+6
 11: ~2+016
 12: 2^016
 13: 20-1-6
 14: 2|016
 15: 20+1-6
 16: 2+016
 17: 2-~016
 18: 2+0+16
 19: 20-1%6
 20: 20|16
 21: 20+1%6
 22: 20*1|6
 23: 20+1|6
 24: 20+~1+6
 25: 20-1+6
 26: 20*1+6
 27: 20+1+6
 28: 2*016
 29: 20-~1-~6
 30: -2*~016
 31: 20|~-16
 32: 20*1.6
 33: 20*~1^~6
 34: -20*~1-6
 35: 20+~-16
 36: 20+16
 37: 20-~16
 38: 20-~-~16
 39: -~2*~-016
 40: 20<<1%6
 41: -20*~1-~!6
 42: ~2*-016
 43: ~20^-1<<6
 44: ~20*~1^6
 45: ~2*~016
 46: 20<<1|6
 47: -20*~1-~6
 48: ~20*~1+6
 49: ~20*~1-~6
 50: ~2/.01/-6
 51: ~2.0*~16
 52: 20|1<<~-6
 53: -20*~-~1+~6
 54: ~2.0*~-~16
 55: -20*~-~1-~-6
 56: ~-~2*-016
 57: ~20*~-~1-6
 58: -20*~-~1^6
 59: ~(20/~1*6)
 60: -20/~1*6
 61: ~2^0-1<<6
 62: -2^0-1<<6
 63: ~20/~1*6
 64: 2-01<<6
 65: 2+~0|1<<6
 66: 2|01<<6
 67: 2-~0|1<<6
 68: 2*~!0*~16
 69: ~20*~-~1+6
 70: 20/~1*~6
 71: -~(20/~1*~6)
 72: 2+~0/.1*~6
 73: -20<<-~1^~6
 74: -20<<-~1^-6
 75: ~-~-~2*~016
 76: ~-20*(~1+6)
 77: ~-~20/~1*-~6
 78: ~-20<<-~1|6
 79: -20<<-~1^~!6
 80: 20*(~1+6)
 81: ~2*~0**(~1+6)
 82: ~-~-20|1<<6
 83: ~-20|1<<6
 84: 20|1<<6
 85: -~20|1<<6
 86: 20<<-~1|6
 87: 20<<-~1|-~6
 88: .2**~!0|1<<6
 89: ~20*~-~-~1+~-6
 90: ~2*~!0*~-16
 91: ~20*~-~-~1-~6
 92: ~-2/.01+~-~6
 93: ~-2/.01+~6
 94: ~-2/.01-6
 95: ~-20*1*~-6
 96: 2+01<<~-6
 97: ~2+.01**~.6
 98: ~-2/.01^6
 99: ~-2/.01+~.6
100: 20*1*~-6

Brute-forcer

Nó không phải là mã đẹp nhất, nhưng điều đó dường như không quan trọng xung quanh những phần này.

CẢNH BÁO: Không chạy trừ khi bạn chuẩn bị cho trình duyệt / công cụ của bạn đóng băng trong vài phút. Không ai thích tính 7 vòng lặp lồng nhau.

var a=new Array().fill("000000000000000000000000000"), // An array of non-solutions to start
    time=new Date(),                                   // For timing how long this takes
    o=["","+","-","*","/","%","&","|","^",".","<<"],   // Operators for between numbers
    p=["",".","~.","-","~","~-","-~","~-~","~-~-","~!"];        // Prefixes for each number
for(i=0;i<o.length;i++)
for(j=0;j<o.length;j++)
for(k=0;k<o.length;k++)
for(I=0;I<p.length;I++)
for(J=0;J<p.length;J++)
for(K=0;K<p.length;K++)
for(L=0;L<p.length;L++) {      // 7 nested loops = O(len(o)^3 * len(p)^4)
    z=      p[I]+2
      +o[i]+p[J]+0
      +o[j]+p[K]+1
      +o[k]+p[L]+6;            // Put all the current chars in one string. 
    try { v=eval(z) }          // Try setting v to the evaluated value of z.
    catch(e) { v=-1 }          // If an error occurs, set v to -1.
    if( (v === (v|0)) &&       // If v is an integer, and
        v>=0 && v<=100 &&      // v is between 0 and 100, inclusive, and
        z.length<a[v].length ) // z is shorter than the current entry,
        a[v]=z;                // overwrite the current entry.
}

console.log("time: " + ((new Date()-time)/1e3) + "seconds\n"
           + "length: " + (a.join("").length) + "\n"
           + a.map((x,y) => y + ": " + x).join("\n"))

3
Vâng, sự xinh đẹp không quan trọng ở đây. Chúng tôi không CR. : P
Rɪᴋᴇʀ

wow ai đó đã xoay sở để đánh bại giải pháp 5244 ký tự của tôi
clamchowder314

4

PowerShell v3 +, 1575 1499 byte

2*0*16
2*0+1%6
2%016
201%6
20%16
2*0+-1+6
2*0+1*6
2*0+1+6
2+0*1+6
2+01+6
2*(0-1+6)                #10
2*($a=01)*6-$a           ################################## First variable
2*01*6
20-1-6
20*1-6
20+1-6
2*0+16
!!20+16                  ################################## First Boolean not
2+016
2+!0+16
20+!16                   #20
20+1+!6
!2+0x16                  ################################## First use of 0x16
(20+1)-bor6              ################################## First binary or
2+0x16
20-1+6
20*1+6
20+1+6
20+($a=1)+6+$a
20+($a=1)+6+$a+$a
2*-bnot-016              #30 ############################## First binary not
-bnot(-2*016)
2*016
-(-bnot(2*016))
-2*-bnot016
-bnot(-20)+16
20+16
20-(-bnot16)
-(-bnot20)-(-bnot16)
(20-shl1)-!!6            ################################## First binary shl
(20-shl1)+!6             #40
(20-shl1)+!!6
($a=2)*0x16-$a
($a=2)*0x16-$a/$a
2*0x16
-(-bnot2)*(-bnot-016)
(20-shl1)+6
$a=20;$b=1;$a+$a+$b+6
-(-bnot2*016)
2*0+($a=1+6)*$a
(20-shr($a=1))*(6-$a)    #50
(-bnot2)*(-bnot016)
20+($a=16)+$a
($b=20*($a=1)+6)+$b+$a
($a=20+1+6)+$a
($a=20+($b=1)+6)+$a+$b
($a=20)+16+$a
(($a=(2+!0))+16)*$a
(20-shr($a=1))*6-$a-$a
(20-shr($a=1))*6-$a
(20-shr1)*6              #60
(20-shr($a=1))*6+$a
(($a=2)*0+1-shl6)-$a
-bnot-(2*0+1-shl6)
2*0+1-shl6
(2*0+($a=1)-shl6)+$a
(-bnot2)*-0x16
($a=201)/($a%6)
20+($a=16)+$a+$a
20+($a=16)+$a+$a+$a/$a
-($a=2)*-bnot016*$a+$a   #70
2*01*($a=6)*$a-$a/$a
2*01*($a=6)*$a
($a=2+01+6)*$a-$a+$a/$a
($a=2)*01*($b=6)*$b+$a
($a=20)+16+$a+$a-$a/$a
($a=20)+16+$a+$a
($a=20)+16+$a+$a+$a/$a
2*01*($a=6)*$a+$a
($a=20)%16*$a-$a/$a
($a=20)%16*$a            #80
($a=2+01+6)*$a
($a=2)*0x16*$a-$a*$a-$a
20+(($a=1)-shl6)-$a
20+(1-shl6)
20+(($a=1)-shl6)+$a
($a=2)*0x16*$a-$a
($a=2)*0x16*$a-$a/$a
($a=2)*0x16*$a
($a=2)*0x16*$a+$a/$a
($a=2)*0x16*$a+$a        #90
($a=2)*0x16*$a+$a+$a/$a
($a=2)*0x16*$a+$a+$a
20*(-1+($a=6))-$a-$a/$a
20*(-1+($a=6))-$a
20*($a=-1+6)-$a
2*(!0+1+($a=6))*$a
20*(($a=-1)+6)+$a+$a+$a
($a=2)*($b=01+6)*$b
20*(($a=-1)+6)+$a
20*(-1+6)                #100

Chơi golf thủ công 100% - không có chương trình vũ phu hoặc các công cụ hỗ trợ khác nhập ngũ.
Tôi cảm thấy 1500 có thể trong tầm với
Sub-1500 đạt được! Chúng ta hãy xem tôi có thể làm tốt như thế nào khi hạ thấp nó xuống. (NB - Điều này chỉ được thử nghiệm trong v4, nhưng sẽ hoạt động ở v3 và v5 mà không sửa đổi. Sẽ không hoạt động trong v2 hoặc v1 vì các phiên bản đó không có toán tử dịch chuyển bit.)

Các điểm chính được đánh dấu ##.hashes.##trong mã trên.

# 11 là nhiệm vụ đầu tiên cho biến $a. Không giống như một số ngôn ngữ khác, các biến không cần phải được khởi tạo trước để phân tích cú pháp và chỉ trong khi thực hiện, các biến được giải quyết. Vì ($a=01)được bao quanh bởi các parens, nó được đánh giá đầu tiên và do đó thứ hai -$atương đương với -1. Điều này được sử dụng khá rộng rãi từ đây trở đi, và là một trong những điều lớn nhất khiến cho bytecount giảm xuống.

# 17 cho thấy lần đầu tiên sử dụng !cho Boolean. Trong PowerShell, các kiểu được tạo ra khá lỏng lẻo, vì vậy nếu việc truyền có thể được ngụ ý, nó sẽ hoạt động. Ở đây, chúng ta đang sử dụng thực tế là !!20bằng !$false, $truecó thể được ngầm định đóng vai trò là [int]1kết quả 17. Điều này được sử dụng nhiều lần để có được một phần khác 1hoặc làm cho một phần đi đến 0.

# 22 Hiển thị 0xtoán tử đúc thập lục phân, ở đây biến 0x16thành 22. Tuy nhiên, vì 0x16là số duy nhất chúng ta có thể nhận được, tính hữu dụng của nó bị hạn chế.

# 23-bortoán tử, cho "nhị phân hoặc." Tuy nhiên, vì cả hai -bor-bxormức độ ưu tiên thấp hơn so với các toán tử số học đơn giản, nên việc sử dụng chúng thường đòi hỏi các phép tính, điều này hạn chế nghiêm trọng tính hữu dụng. Đây là người duy nhất tôi tìm thấy trong đó sử dụng nhị phân hoặc toán tử ngắn hơn (tôi đã loại bỏ -bxortoán tử từ 22).

# 30 là lần đầu tiên -bnotnhà điều hành được giới thiệu. Đây là toán tử "nhị phân không" và các chức năng tương tự như ~trong (ví dụ) JavaScript. Tuy nhiên, nó thường cần parens, vì phủ định sẽ hiển thị --bnotvà dẫn đến lỗi phân tích cú pháp / cú pháp và vì đó là năm ký tự so với một ký tự ~, nên nó được sử dụng một cách tiết kiệm.

# 39 là lần đầu tiên sử dụng toán tử dịch chuyển nhị phân của chúng tôi -shl-shr. Chúng tương tự <<hoặc >>trong các ngôn ngữ khác, nhưng rõ ràng là dyadic, có nghĩa là chúng ta cần một số ở cả hai phía để chúng hoạt động, điều này hạn chế tính hữu dụng của chúng trong thử thách này. Ngoài ra, quyền ưu tiên của chúng không được gọi ra một cách rõ ràng trong tài liệu, nhưng thử nghiệm cho thấy chúng thấp hơn số học đơn giản, có nghĩa là parens cần được sử dụng một cách tự do, vì vậy chúng không xuất hiện nhiều như trong các câu trả lời ngôn ngữ khác.


Câu trả lời chính xác. Cảm ơn đã giải thích kỹ thuật của bạn rất kỹ lưỡng.
Adám

4

CJam, 792 791 byte

Tôi đã lười biếng ở gần cuối, rất nhiều trong số chúng cuối cùng chỉ là tăng và giảm (101 là rất nhiều!), Mặc dù tôi không chắc có cách nào khác cho một vài con số không. Vẫn còn nhiều thời gian để chơi golf nếu tôi cần.

Khoảng # 40 có một số khuôn mặt nhăn nhó;)

2016!          e# 0
2016g
2016g)
201 6%
20 16-
20)16-
20 1>6*
20 1>6+
201mQ6-
201mQ6-)
2 01 6*(*      e# 10
2 01*6*(
2 01*6*
2~016+
-2 016+
2)016(|
20;16
2(016+
2 016+
2)016+
20 16|         e# 20
20)16|
20 1*6|
20 1|6|
20 16mQ+
20_*16/
20 1 6*+
20 1+6+
20 1)6++
20)1)6++
2 016(*        e# 30
2 016*(
2 016*
201 6/
2 016)*
20(16+
20 16+
20)16+
20)16)+
20_+16;(
20_+16;        e# 40
20_+16;)
20)_+16;
20)_+16;)
20(1m<6+
2)016(*
20 1m<6+
2)016*(
2)016*
2)016*)
2)016)*(       e# 50
2)016)*
20 16_++
20)1 6(m<+
20(_16++
20_16++(
20_16++
20_16++)
20)_16++
20)_16++)
20 16mQ(*      e# 60
20 16mQ(*)
2 01*6#((
2 01*6#(
2 01*6#
2 01*6#)
201_+6/(
201_+6/
201_+6/)
201mQ6(*(
201mQ6(*       e# 70
20_16_+++(
20_16_+++
20_16_+++)
20)_16_+++
20(16mQ*(
20(16mQ*
20(16mQ*)
20_16^*((
20_16^*(
20_16^*        e# 80
2)016mQ#
201mQ6*((
201mQ6*(
201mQ6*
201mQ6*)
201mQ6*))
201mQ6*)))
[20_16__]:+
[20_16__]:+)   
[20)_16__]:+   e# 90
[20_16)__]:+
[20__16_]:+
20(1*6(*((
20(1*6(*(
20(1*6(*
20(1*6(*)
201mQ6)*(
201mQ6)*
20 1*6(*(
20 1*6(*       e# 100

Muốn nâng cao khuôn mặt nhăn nhó, nhưng tôi nhận thấy bạn có chính xác 1.000 rep, vì vậy tôi không muốn làm hỏng nó. ;) Sẽ upvote sau. : P
Kevin Cruijssen

và bây giờ là 1089: P (một số ma thuật khác cho toán học: P)
masterX244

3

Mathicala , 2912 2502 2282 2180 byte

Có thể chắc chắn được golfed thêm. Chủ yếu chỉ giải một vài phương trình Frobenius riêng biệt, tạo ra các giải pháp độ dài O ( n ). Phần còn lại được tạo ra bởi bác sĩ vũ phu của tôi.

2 0 16
2-01^6
2 01^6
2+01^6
20-16
2 0-1+6
201;6
2-01+6
2 01+6
2+01+6
a=2;01 6+a+a
2#-01&@6
2 01 6
20-1-6
20 1-6
20+1-6
20;16
2^0+16
2+016
20-1^6
20 1^6
20+1^6
a=2;b=016;a+a+a+b
a=2;b=01;c=6;a+a+b+c+c+c
201;a=6;a+a+a+a
20-1+6
20 1+6
20+1+6
a=2;b=016;a+a+a+a+a+a+b
a=2;b=01;c=6;a+a+b+c+c+c+c
201;a=6;a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b
2 016
a=2;b=01;c=6;a+b+c+c+c+c+c
a=2;b=016;a+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c
20+16
2;a=01;b=6;a+b+b+b+b+b+b
a=2;b=016;a+a+a+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c
a=20;16;a+a
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b
a=2;b=016;a+a+a+a+a+a+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c
a=2;b=016;a+a+a+a+a+a+a+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c
201;6!!
2;a=01;b=6;a+b+b+b+b+b+b+b+b
2 01+6!!
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c
a=20;b=16;a+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b
a=20;16+a+a
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c
a=2;b=016;a+a+a+a+a+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c
a=20;16;a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+a+a+a+a+a+a+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c
2&@01^6
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b
20 1+6!!
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c
a=2;b=016;a+a+a+b+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c
2#01#&@6
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+a+a+a+a+b+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c
a=20;16+a+a+a
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b
a=20;16;a+a+a+a
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c
a=2;b=016;a+b+b+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c+c
a=20;b=16;a+b+b+b+b
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+a+a+b+b+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c
a=20;b=16;a+a+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c
201;a=6;a+a+a+a+a+a+a+a+a+a+a+a+a+a+a
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b
a=20;b=16;a+a+a+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c
a=2;b=016;a+a+a+a+a+a+a+b+b+b+b+b
a=2;b=01;c=6;a+a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c
2 01 6!!
2;a=01;b=6;a+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b
a=2;b=016;a+b+b+b+b+b+b
a=2;b=01;c=6;a+b+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c
a=20;16;a+a+a+a+a

Hrm, trừ khi tôi hiểu nhầm câu hỏi, bạn không nên tiết kiệm nhiều byte bằng cách gán ccho 16khi số chẵn và lớn? Giống như cho 96, v.v. Không chắc chắn cách giải phương trình của bạn hoạt động, nhưng sử dụng a=20cũng sẽ hữu ích cho một vài trong số này?
FryAmTheEggman

Vâng, sau đó tôi không biết sẽ mất bao lâu để chạy nó với 16 và 20, nhưng tôi hy vọng rằng nó sẽ cắt giảm khá nhiều cho số lượng lớn hơn.
FryAmTheEggman

3

Dyalog APL (Đây là một trò đùa, vui lòng không gửi), 25.957 byte.

2016⊢≢⍬
2016⊢(⊢+≢)≢⍬
2016⊢(⊢+≢)(⊢+≢)≢⍬
...

Vâng, đây là một mục đùa, chúng tôi cần một giải pháp APL, ngay cả khi nó hoàn toàn khủng khiếp. Hoạt động bằng cách tăng ≢⍬( 0) nlần. Tôi không muốn đưa ra bất kỳ bí mật nào từ bài nộp thực tế của mình.

Rõ ràng có thể được chơi golf nhiều hơn nữa.


LOL. Tôi đã nhận được hai upvote.
Zacharý

Nghiêm túc mà nói, tại sao mọi người lại nâng cao điều này?
Zacharý

2

JavaScript, 5244 ký tự

Có lẽ có thể được chơi golf hơn rất nhiều. Kiểm tra trong bảng điều khiển Chrome. Tôi đã từ bỏ lúc 10 tuổi.

201&6
!!2016
2%016
20+~16
20-16
-2+0+1+6
2*0*1+6
2*0+1+6
2*01+6
2+01+6
-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~20-16
20*1-6
!!2+016
2+016
!!20+16
2.0+16
2+!0+16
20+!16
20+!!16
-~20+!!16
-~-~20+!!16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
2*016
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
(2+0)*16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20-16
20+16
-~20+16
-~-~20+16
-~-~-~20+16
-~-~-~-~20+16
-~-~-~-~-~20+16
-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~20+16
20*-(1-6)

Nếu 101 biểu thức là một chút nhiều, bạn có thể muốn đi đến đây . Đã có câu trả lời JavaScript, nhưng có lẽ bạn có thể làm tốt hơn - hoặc khác ...
Adám 3/03/2016

1

Java 7, 1.083 byte

Đối với số đếm byte tôi chỉ đếm các biểu thức giữa dấu ngoặc đơn. Vì vậy, tôi đã loại trừ System.out.printlns và class. Bao gồm những cái đó sẽ là 3.049 byte .
PS: Không hoàn toàn chắc chắn nếu int-cast for 72có hợp lệ không .. Mặc dù vậy dù sao nó cũng thêm 5 byte ..

201&6
2-01%6
2%016
201%6
20-16
201%~6
2%01+6
2-01+6
2*01+6
2+01+6
~2+016
~2+016
2^016
20-1-6
2|016
20+1-6
2+016
2-~016
2+0+16
20-1%6
20|16
20+1%6
20*1|6
20|1|6
20+~1+6
20-1+6
20*1+6
20+1+6
2*016
20-~1-~6
-2*~016
20|~-16
(2+0)*16
20*~1^~6
-20*~1-6
20+~-16
20+16
20-~16
20-~-~16
-~2*~-016
20<<1%6
~-(-~2*016)
~2*-016
~20^-1<<6
~20*~1^6
~2*~016
20<<1|6
-20*~1-~6
~20*~1+6
~20*~1-~6
-20/~1*~-6
~2*~-~-~016
20|1<<~-6
-20*~-~1+~6
20*-~-~1-6
-20*~-~1-~-6
~-~2*-016
~20*~-~1-6
-20*~-~1^6
~(20/~1*6)
-20/~1*6
~2^(0-1)<<6
-2^(0-1)<<6
~20/~1*6
(2-01)<<6
(2+~0)|1<<6
2|01<<6
2-~0|1<<6
~-~2*~16
~20*~-~1+6
20/~1*~6
-~(20/~1*~6)
~-~(int)2.0*~-~16
-20<<-~1^~6
-20<<-~1^-6
~-~-~2*~016
~-20*(~1+6)
~-~20/~1*-~6
~-20<<-~1|6
~-(20*~(1-6))
20*(~1+6)
-~(20*~(1-6))
~-~-20|1<<6
~-20|1<<6
20|1<<6
-~20|1<<6
20<<-~1|6
20<<-~1|-~6
-~-~20*(~1+6)
~20*~-~-~1+~-6
~-~-20*-(1-6)
~20*~-~-~1-~6
~20*~-~-~1-~-~6
~2^~-~01<<~-6
-2^~-~01<<~-6
~-20*1*~-6
(2+01)<<~-6
-~(~2*~-~0*16)
~-~-(20*-(1-6))
~-(20*1*~-6)
20*-(1-6)

Mã thử nghiệm & mã hóa:

Hãy thử nó ở đây.

class M{
  public static void main(String[]a){
    System.out.println(201&6);
    System.out.println(2-01%6);
    System.out.println(2%016);
    System.out.println(201%6);
    System.out.println(20-16);
    System.out.println(201%~6);
    System.out.println(2%01+6);
    System.out.println(2-01+6);
    System.out.println(2*01+6);
    System.out.println(2+01+6);
    System.out.println(~2+016);
    System.out.println(~2+016);
    System.out.println(2^016);
    System.out.println(20-1-6);
    System.out.println(2|016);
    System.out.println(20+1-6);
    System.out.println(2+016);
    System.out.println(2-~016);
    System.out.println(2+0+16);
    System.out.println(20-1%6);
    System.out.println(20|16);
    System.out.println(20+1%6);
    System.out.println(20*1|6);
    System.out.println(20|1|6);
    System.out.println(20+~1+6);
    System.out.println(20-1+6);
    System.out.println(20*1+6);
    System.out.println(20+1+6);
    System.out.println(2*016);
    System.out.println(20-~1-~6);
    System.out.println(-2*~016);
    System.out.println(20|~-16);
    System.out.println((2+0)*16);
    System.out.println(20*~1^~6);
    System.out.println(-20*~1-6);
    System.out.println(20+~-16);
    System.out.println(20+16);
    System.out.println(20-~16);
    System.out.println(20-~-~16);
    System.out.println(-~2*~-016);
    System.out.println(20<<1%6);
    System.out.println(~-(-~2*016));
    System.out.println(~2*-016);
    System.out.println(~20^-1<<6);
    System.out.println(~20*~1^6);
    System.out.println(~2*~016);
    System.out.println(20<<1|6);
    System.out.println(-20*~1-~6);
    System.out.println(~20*~1+6);
    System.out.println(~20*~1-~6);
    System.out.println(-20/~1*~-6);
    System.out.println(~2*~-~-~016);
    System.out.println(20|1<<~-6);
    System.out.println(-20*~-~1+~6);
    System.out.println(20*-~-~1-6);
    System.out.println(-20*~-~1-~-6);
    System.out.println(~-~2*-016);
    System.out.println(~20*~-~1-6);
    System.out.println(-20*~-~1^6);
    System.out.println(~(20/~1*6));
    System.out.println(-20/~1*6);
    System.out.println(~2^(0-1)<<6);
    System.out.println(-2^(0-1)<<6);
    System.out.println(~20/~1*6);
    System.out.println((2-01)<<6);
    System.out.println((2+~0)|1<<6);
    System.out.println(2|01<<6);
    System.out.println(2-~0|1<<6);
    System.out.println(~-~2*~16);
    System.out.println(~20*~-~1+6);
    System.out.println(20/~1*~6);
    System.out.println(-~(20/~1*~6));
    System.out.println(~-~(int)2.0*~-~16);
    System.out.println(-20<<-~1^~6);
    System.out.println(-20<<-~1^-6);
    System.out.println(~-~-~2*~016);
    System.out.println(~-20*(~1+6));
    System.out.println(~-~20/~1*-~6);
    System.out.println(~-20<<-~1|6);
    System.out.println(~-(20*~(1-6)));
    System.out.println(20*(~1+6));
    System.out.println(-~(20*~(1-6)));
    System.out.println(~-~-20|1<<6);
    System.out.println(~-20|1<<6);
    System.out.println(20|1<<6);
    System.out.println(-~20|1<<6);
    System.out.println(20<<-~1|6);
    System.out.println(20<<-~1|-~6);
    System.out.println(-~-~20*(~1+6));
    System.out.println(~20*~-~-~1+~-6);
    System.out.println(~-~-20*-(1-6));
    System.out.println(~20*~-~-~1-~6);
    System.out.println(~20*~-~-~1-~-~6);
    System.out.println(~2^~-~01<<~-6);
    System.out.println(-2^~-~01<<~-6);
    System.out.println(~-20*1*~-6);
    System.out.println((2+01)<<~-6);
    System.out.println(-~(~2*~-~0*16));
    System.out.println(~-~-(20*-(1-6)));
    System.out.println(~-(20*1*~-6));
    System.out.println(20*-(1-6));
  }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.