Quines Quines (Chủ đề của kẻ cướp)


10

Đây là một thách thức Chủ đề của Cảnh sát có thể được tìm thấy ở đây

Thách thức của bạn, vì những tên cướp là lấy đầu ra từ luồng của cảnh sát và tìm đảo chữ của đầu ra mà khi chạy như một chương trình đầu ra, đầu ra ban đầu được cung cấp.

Người chiến thắng sẽ là người có vết nứt hợp lệ nhất cho câu hỏi này.

Quy tắc

  • Bạn không thể bẻ khóa các câu trả lời được đánh dấu là an toàn với chương trình được cung cấp.

  • Nếu một cảnh sát cung cấp một ngôn ngữ mà giải pháp dự định có trong bạn phải bẻ khóa nó bằng ngôn ngữ cụ thể đó, nếu họ không chọn bạn có thể bẻ khóa nó trong bất kỳ ngôn ngữ cạnh tranh nào.

  • Quy tắc tiêu chuẩn cho Quines áp dụng.

  • Các vết nứt không phải là Quines hoàn hảo. tức là họ không được xuất nguồn chính xác của mình mà là sắp xếp lại nó (thứ tự được cung cấp bởi cảnh sát).


Câu trả lời:


5

Ngôn ngữ không xác định (CJam), 254 byte, DJMcMayhem

0000000: 3235 362c 583e 3130 2d5b 445d 2f41 612a  256,X>10-[D]/Aa*
0000010: 3a63 6523 0102 0304 0506 0708 090b 0c0e  :ce#............
0000020: 0f10 1112 1314 1516 1718 191a 1b1c 1d1e  ................
0000030: 1f20 2122 2425 2627 2829 2b2e 3334 3738  . !"$%&'()+.3478
0000040: 393b 3c3d 3f40 4243 4546 4748 494a 4b4c  9;<=?@BCEFGHIJKL
0000050: 4d4e 4f50 5152 5354 5556 5759 5a5c 5e5f  MNOPQRSTUVWYZ\^_
0000060: 6062 6466 6768 696a 6b6c 6d6e 6f70 7172  `bdfghijklmnopqr
0000070: 7374 7576 7778 797a 7b7c 7d7e 7f80 8182  stuvwxyz{|}~....
0000080: 8384 8586 8788 898a 8b8c 8d8e 8f90 9192  ................
0000090: 9394 9596 9798 999a 9b9c 9d9e 9fa0 a1a2  ................
00000a0: a3a4 a5a6 a7a8 a9aa abac adae afb0 b1b2  ................
00000b0: b3b4 b5b6 b7b8 b9ba bbbc bdbe bfc0 c1c2  ................
00000c0: c3c4 c5c6 c7c8 c9ca cbcc cdce cfd0 d1d2  ................
00000d0: d3d4 d5d6 d7d8 d9da dbdc ddde dfe0 e1e2  ................
00000e0: e3e4 e5e6 e7e8 e9ea ebec edee eff0 f1f2  ................
00000f0: f3f4 f5f6 f7f8 f9fa fbfc fdfe ff0a       ..............

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

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

256,                Push the range [0 ... 255].
    X>              Remove the first item (0).
      10-           Remove 10 (0x0a).
         [D]/       Split at occurrences of 13 (0x0d).
             Aa*    Join, separating by 10 (0x0a).
                :c  Cast all integers to character.
                e#  Begins a comment, terminated by the linefeed at the very end.

5

Brain-Flak , Riley

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

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

Giải trình

Điều này là một chút dễ dàng hơn tôi mong đợi.

Tôi đã viết 3 vòng riêng biệt để in từng loại nẹp:

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

Tôi đã sử dụng kỹ thuật Mini-Flak tiêu chuẩn để tránh sử dụng <...>đơn nguyên và thành thật mà nói tôi không bao giờ thực sự cảm thấy cần phải sử dụng <>nilad.

Điều này hẳn là cực kỳ giống với những gì Riley đã làm ở nơi đầu tiên bởi vì khi tôi hoàn thành, tôi còn thừa (). Đây không phải là một vấn đề vì ()về cơ bản là không có hoạt động ở cấp cao nhất nên tôi đã dán nó ở phía trước chương trình của mình.


1
Đó chính xác là những gì / làm thế nào tôi viết nó. Tôi cần thêm ()để có được mọi thứ để phù hợp. Làm tốt!
Riley

4

Haskell, 107 byte, Laikoni

main=print$id=<<['|':[d]>>[d|i<-"$$'''',--..:<<<<====>>[[[[]]]]addddddiiiiiimnnprt|||",i==d]|d<-id['$'..]]

Cộng với một dòng mới.

Hãy thử trực tuyến! (cần một vài giây để chạy, bởi vì nó lặp qua tất cả các ký tự unicode).

Chương trình có một id(ngay trước ['$'..]đó) không cần thiết cho logic chương trình, nhưng bằng cách nào đó tôi phải chi tiêu id.


Đầu ra là không theo cùng một thứ tự.
Laikoni

1
@Laikoni: Tôi đọc sai thử thách. Bây giờ nó đã được sửa.
nimi


3

Bình, 32 byte, Rod

J+"J+J=JJ 1-2#pTN%"N #%2J=T-1pJJ

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

Tôi thực sự không biết rõ về Pyth, nhưng tôi đã bắt đầu với việc in đầu ra cần thiết và đi từ đó.

 +"J+J=JJ 1-2#pTN%"N             # Add a '"' to the string in quotes
J                                # Assign result of above step to J
                     #           # Start an infinite loop
                      %2J=T-1    # Loops one iteration, then breaks
                                 # (I have no idea why this works)
                             pJ  # Explicitly print J
                               J # Implicitly print J

2

CJam, 46 byte, Mèo kinh doanh

93]_:c58]99]95]93]e__:c36]95]95]101]101]e_$_:c

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

93]                                             # Push [93] onto the stack
   _                                            # Copy
    :c                                          # Push ascii char 93 ']'
      58 99 95 93                               # Push these numbers...
        ]  ]  ]  ]                              # Push entire stack as array
                  e__                           # Flatten and copy
                     :c                         # Map ascii values to all elements
                       36]95]95]101]101]        # Same as above
                                        e_      # Flatten
                                          $     # Sort
                                           _    # Copy, implicitly print
                                            :c  # Map ascii values to all elements
                                                # Implicitly print

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.