Anagram Quines (Soyguncuların Konusu)


11

Bu bir Polisler Konuya meydan okumak burada bulunabilir

Zorluklar, soyguncular olarak polisin iş parçacığından çıktılar almak ve bir program olarak çalıştırıldığında sağlanan orijinal çıktı çıktı çıktı anagramları bulmaktır.

Kazanan, bu soruda en geçerli çatlaklara sahip olan kişi olacaktır.

kurallar

  • Sağlanan bir programla güvenli olarak işaretlenmiş yanıtları kıramazsınız.

  • Eğer bir polis amaçlanan çözümün içinde olduğu bir dil sağlıyorsa, o dili o dilde kırmanız gerekir, eğer sizin için seçmezlerse bu dili herhangi bir rakip dilde çatlatabilir.

  • Quines için standart kurallar geçerlidir.

  • Çatlaklar mükemmel olmamalıdır Quines. yani kaynaklarının tam çıkışını değil, yeniden sıralanmasını sağlamalıdırlar (sipariş polis tarafından sağlanır).


Yanıtlar:


5

Belirtilmemiş dil (CJam), 254 bayt, DJMc

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       ..............

Çevrimiçi deneyin!

Nasıl çalışır

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

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

Çevrimiçi deneyin!

açıklama

Bu beklediğimden biraz daha kolaydı.

Her ayraç türünü yazdırmak için 3 ayrı döngü yazdım:

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

<...>Monad kullanmaktan kaçınmak ve dürüst olmak gerekirse standart Mini-Flak tekniğini kullandım ve gerçekten <>nilad kullanma ihtiyacını hissetmedim.

Bu, Riley'nin ilk etapta yaptığı şeylere çok benzemeliydi çünkü bittiğinde fazladan bir şey kaldım (). Bu bir sorun değil çünkü ()aslında en üst düzeyde bir hayır-op bu yüzden programımın önünde sıkışmış.


1
Bunu tam olarak ne / nasıl yazdım. Ben ()maç için her şeyi almak için ekstra gerekiyordu. Aferin!
Riley

4

Haskell, 107 bayt, Laikoni

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

Artı bir satırsonu.

Çevrimiçi deneyin! (çalıştırmak için birkaç saniye gerekir, çünkü tüm unicode karakterler arasında geçiş yapar).

Program bir sahiptir id(hakkı önce ['$'..]program mantığına için gerekli değildir), ancak her nasılsa harcamak zorunda ive d.


Çıktı aynı sırada değil.
Laikoni

1
@ Laikoni: Görevi yanlış okudum. Şimdi düzeltildi.
nimi


3

Pyth, 32 bayt, Çubuk

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

Çevrimiçi deneyin!

Pyth'i o kadar iyi tanımıyorum, ancak gerekli çıktıyı basmaya başladım ve oradan gittim.

 +"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 bayt, İş Kedisi

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

Çevrimiçi deneyin!

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.