Chuỗi chơi gôn (Chủ đề của kẻ cướp)


8

Đây là một thử thách Cops và Robbers. Đối với chủ đề của Cảnh sát, 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à chuỗi (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.

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

The Robber với các giải pháp bẻ khóa nhất sẽ thắng.

Câu trả lời:


6

Brain-Flak , 90 byte bởi Mr. Xcoder

((((((((((()()()){}){}){({}[()])}{}())[(((()()()){})){}{}()]))){}{}()()())([][][]){})[][])

Hãy thử trực tuyến!

Kết quả này:

ÑÉ·<O

Câu trả lời đầu tiên của 05AB1E!

Làm thế nào nó hoạt động?

Giả sử chúng ta có 24 là đầu vào.

Ñ       # Divisors. 
        # Stack: [1, 2, 3, 4, 6, 8, 12, 24]
 É      # Odd?
        # Stack: [1, 0, 1, 0, 0, 0, 0, 0]
  ·     # Double
        # Stack: [2, 0, 2, 0, 0, 0, 0, 0]
   <    # Decrement
        # Stack: [1, -1, 1, -1, -1, -1, -1, -1]
    O   # Sum
        # Stack: -4

Mã não bộ chủ yếu chỉ sử dụng các thủ thuật để đẩy số lượng lớn trong vài byte. Điều rất thuận tiện (và không chủ ý) là các giá trị ASCII đang tăng lên:

209
201
183
60
79

Thật tuyệt khi 60 * 3 ~=~ 183tăng gấp ba lần và thêm một vài cái có thể tiết kiệm được rất nhiều byte.

((((((

    # Push 79
    ((((()()()){}){}){({}[()])}{}())
    # Minus 19 (60)

    [(((()()()){})){}{}()])
    # Push that two extra times
    ))

    # Push that ^ (60) Plus the two extras popped (60 + 120 == 180)...
    {}{}
    # + 3 (183)
    ()()())

    # Plus stack-height * 3 * 2 == 3 * 3 * 2 == 18 (201)
    ([][][]){})

    # Plus stack-height * 2 == 4 * 2 == 8 (209)
    [][])

ồ, chương trình 05AB1E của tôi là 8 byte. idk bất kỳ nội dung / nhún
05AB1E nào







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.