Chuỗi chơi gôn (Cops 'Thread)


13

Đây là một thử thách Cops và Robbers. Đối với chủ đề của Cướp, hãy vào đây .

Cảnh sát có ba nhiệm vụ.
1) Chọn một chuỗi từ OEIS .

2) Chọn một ngôn ngữ (ngôn ngữ này được đề xuất là golflang, nhưng không nhất thiết phải là), khi được đưa vào đầu nra, đầu ra A(n)(trong đó A(n)là chuỗi được chọn) sử dụng tất cả các quy tắc thông thường .
Gọi ngôn ngữ này L Một và mã C Một .
Ví dụ: JellyJelly_code .

3) Sau đó, chọn một ngôn ngữ khác (ngôn ngữ này được đề xuất là không phải là golflang, nhưng không phải như vậy) và viết mã không có đầu vào và đầu ra mã C A , một lần nữa tuân theo tất cả các quy tắc thông thường . (Lưu ý:. Điều này có thể được obfuscated mã và không nhất thiết cần phải được golfed, nhưng còn mã này là dễ dàng hơn nó sẽ được cho tên cướp để crack trình của bạn)
Gọi này ngôn ngữ L B và mã C B .
Ví dụ: PythonPython_code .

Trình của Cop để thách thức này là chụp liên tục (quy định cho dù 0- hoặc 1-lập chỉ mục), tên của hai ngôn ngữ L MộtL B (và cái nào phá được phần nào), và byte-count của C B mà thôi. Giữ mã thực tế của cả hai phần và độ dài của C A , bí mật.

Đối với Cop, các liên kết đến tài liệu cho L AL B , hoặc một trình thông dịch (hoặc liên kết TIO, vì bao gồm cả hai), được đánh giá cao nhưng không bắt buộc.

Thách thức của Robber là chọn mục nhập của Cops và viết mã C C trong cùng ngôn ngữ L B tạo ra một số mã trong cùng ngôn ngữ L A để giải quyết nhiệm vụ OEIS ban đầu. Độ dài của C C có thể không dài hơn chiều dài của C B như được tiết lộ bởi cảnh sát (mặc dù có thể ngắn hơn). Lưu ý: Các mã được tạo ra bởi C C không không có để phù hợp với C Một .

Ví dụ của chúng tôi, điều này có nghĩa là Robber phải viết mã Python tạo ra mã Jelly giải quyết chuỗi OEIS ban đầu và mã Python phải dài hơn độ dài được tiết lộ bởi Cop.

Điều kiện chiến thắng

Câu trả lời chưa bị bẻ khóa trong một tuần có thể tiết lộ các giải pháp của họ, tại thời điểm đó, chúng được coi là An toàn . Lưu ý rằng nếu bạn không tiết lộ giải pháp của mình sau một tuần, nó vẫn có thể bị bẻ khóa. Các Cop với câu trả lời an toàn ngắn nhất sẽ thắng.



Chúng tôi có giữ bí mật trình tự OEIS không?
juniorRubyist

@juniorRubyist Không, Cop phải nêu rõ trình tự họ đã sử dụng và cho dù đó là 0 hay 1 chỉ mục.
admBorkBork

Câu trả lời:


3

OEIS A000041 , bị bẻ khóa bởi ETHproductions

Hãy thử cách khác: golflang tạo ra non-golflang.

a (n) = số phân vùng của n (số phân vùng).

  • a (n) (0-index) được trả về bởi hàm JavaScript (ES6)
  • Chương trình xuất ra hàm JS được viết bằng Jelly
  • Độ dài của chương trình Jelly là 35 byte

Giải pháp dự định

Jelly: “¦ṚoIwƭ- ḊFæSḂ¥¶Ẉ|ḊJƓƝʋnrB⁾’b28+40Ọ

kết quả đầu ra

JS:C=(A,B=A)=>A<0?0:A?B?C(A,B-1)+C(A-B,B):0:1


Nứt . Điều đó khá thú vị, mặc dù tôi dường như đã mất một vài giờ :-)
ETHproductions

@ETHproductions Đẹp! Giải pháp JS của tôi đã sử dụng một phạm vi các ký tự bị hạn chế để nó có thể được nén dưới dạng số nguyên cơ sở 28 ở phía Jelly.
Arnauld

@ETHproductions Man, tôi nên dành nhiều thời gian hơn để tối ưu hóa mã JS. Đây là một giải pháp 31 byte . ¯ \ _ (ツ) _ / ¯
Arnauld

2

OEIS A048272 , bị bẻ khóa bởi DJMcMayhem

Số ước số lẻ của n trừ số ước số chẵn của n (1-index).

  • Chương trình xuất ra một (n) được viết bằng 05AB1E .
  • Chương trình xuất ra chương trình 05AB1E được viết bằng Brain-Flak + -Acờ.
  • Độ dài của chương trình Brain-Flak là 198 byte (số byte không bao gồm cờ).

Lưu ý rằng tôi có thể dễ dàng đánh golf chương trình Brain-Flak bằng cách sử dụng các thủ thuật xếp chồng và các thủ thuật phức tạp kolmogorov khác mà tôi biết, nhưng tôi muốn giữ đơn giản như lần gửi đầu tiên của mình. Chúc may mắn, kẻ cướp!

Những gì tôi đã có trong tâm trí

05AB1E: ÑÈD<)O(O

Flak não:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})



@DJMcMayhem :( Tôi vừa hoàn thành
HyperNeutrino

@DJMcMayhem Đẹp quá! Tôi sẽ thử một cái gì đó khó hơn một chút tiếp theo.
Ông Xcoder

2

OEIS 000035 , bị bẻ khóa bởi betseg

Vấn đề được giải quyết trong Proton .
Mã Proton được xuất ra bởi Python .
Độ dài của chương trình Python là 13 byte .

Thực sự dễ dàng cho người mới bắt đầu (nếu bạn biết Proton: D). Không có chỉ mục.

Giải pháp dự định

Python: print("(2%)")
Proton: (2%)
Mặc dù tôi đã quyết định để n=>n%2đủ ngắn vì các phím tắt chức năng dyadic / monadic không được ghi lại.


7
Thực sự dễ dàng nếu bạn biết một ngôn ngữ dường như không có tài liệu chính xác. Vâng, tuyệt vời.
Peter Taylor

3
Tại sao liên kết đến A34 ...
user202729


@ user202729 cố định cảm ơn
HyperNeutrino

@PeterTaylor chính xác là không có đủ ở đây để bạn giải quyết nó ...
HyperNeutrino


1

OEIS A055642 , bị nứt bởi Lynn

Số chữ số trong phần mở rộng thập phân của n

Điều này có lẽ quá dễ dàng, nhưng tôi đã mất một thời gian vì vậy tôi hy vọng ai đó ở ngoài đó sẽ thất vọng như tôi khi cuối cùng tôi đã tìm ra nó: D

  • Chương trình viết ra một (n) được viết bằng 05AB1E
  • Chương trình in chương trình 05AB1E được viết bằng TeX
  • Chương trình TeX dài 6 byte

Những gì tôi đã có trong tâm trí:

Sgmã 05AB1E
Sg\byedưới dạng mã TeX



1
@Lynn có. Làm thế nào bạn thất vọng?
Simon Klaver

1

OEIS A000668 , bị nứt bởi Lynn

Số nguyên tố Mersenne (có dạng 2 p -1 trong đó p là số nguyên tố)

  • a (n) được xuất ra bởi một chương trình Jelly full.
  • n là 1 chỉ mục.
  • Chương trình Jelly được in bởi chương trình Tam giác , có độ dài là 38 byte .

Chiến lược khác nhau: giải quyết trình tự trong một golflang và xuất chương trình trong một esolang.

Giải pháp dự định


Bạn có chắc chắn độ dài là chính xác? Các tài liệu nói rằng một chương trình Tam giác phải có độ dài 2*n^2 - 1không thể là 38.
Lynn

1
@Lynn Điều đó đề cập đến số lượng ký tự , không phải số byte .
Ông Xcoder

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.