Odwrócone: Zaprojektowane z wyjątkowości (Wątek rabusia)


11

Biorąc pod uwagę dane wyjściowe programu policjanta ( o), liczbę bajtów ( n) i liczbę cużytych unikalnych bajtów ( ), otrzymujemy odpowiedni kawałek kodu o ndługości bajtów z cunikalnymi bajtami, które pasują do danych wyjściowych policjanta o.


To jest wątek rabusiów . Opublikuj rozwiązania, które tutaj złamałeś.

Wątek COPS znajduje się tutaj .


Rabusie powinni publikować takie rozwiązania:

#[Language], `n` Bytes, `c` Unique Bytes (Cracked)[Original Link to Cop Thread]

    [Solution]

(Explanation)

Zasady

  • Nie możesz przyjmować żadnych danych wejściowych dla swojego programu.
  • Program musi używać co najmniej 1 bajtu, ale nie może przekraczać 255 bajtów.
  • Sam wynik jest również ograniczony do 255 bajtów.
  • Program musi mieć spójne wyniki wyjściowe przy wielokrotnym wykonywaniu.
  • Jeśli zgłoszenie nie zostanie złamane w ciągu 7 dni, możesz oznaczyć je jako „bezpieczne”.
    • Oznaczając je jako bezpieczne, opublikuj zamierzone rozwiązanie i oceń je jako c*n.

Zwycięski

  • Niesprawdzony post z najniższym c*nwynikiem wygrywa wątek gliniarza.
  • Ktokolwiek pęknie najwięcej, wygrywa nić rabusiów, a najwcześniejsze pęknięcie zrywa krawat.
  • Decyzja zostanie podjęta po 10 bezpiecznych odpowiedziach lub po kilku tygodniach.

Ostrzeżenia

  • Jeśli czujesz się pewny siebie, możesz powiedzieć użytkownikowi algorytm za pomocą tagu spoiler .

Uwaga: Pamiętaj też, aby uprościć pęknięcia, zwykle są to imponujące części.

Odpowiedzi:



4

MATL , 4 bajty, 4 unikalne bajty, Stewie Griffin

1X2p

Wypróbuj online!

Wyjaśnienie

1X2   % Push predefined literal: string 'double'
p     % Product of array. For strings it uses code points. Implicit display

Znasz wszystkie predefiniowane literały ... Nie wiem ... To nie było dokładnie to samo, co ja, ale to oczywiście wynik 'double'. :)
Stewie Griffin

@StewieGriffin Ah, rozumiem, więc użyłeś czegoś takiego 1X%p. Właściwie znam tylko kilka predefiniowanych literałów. Byłem brutalnie zmuszony do 9:"@X1pDzmiany Xi1
Luis Mendo

4

MATL , 6 bajtów, 3 unikalne, Luis Mendo

FFFTZF

Wypróbuj online!

Natychmiast rozpoznałem wynik

1+0i 0+1i -1+0i 0-1i

jako 4-ty pierwiastek z jedynki, a ja wiedziałem, że fftna [0 0 0 1]spowodowałoby to.

Długo zajęło mi wymyślenie, że FFFTto popchnie [0 0 0 1]i nadal nie jestem pewien, jak to działa. EDYCJA: Luis Mendo to wyjaśnił Fi Tsą „lepkie”, więc sekwencja Fi Tautomatycznie horzcatje razem, dlatego FFFTpopycha [0 0 0 1].

Jest to wyrażone zwięźle w dokumentacji (kiedy to sprawdziłem):

W przypadku logicznych wektorów wierszowych nawiasy kwadratowe można pominąć; to znaczy notację [T F T]lub [TFT]można ją uprościć TFT. Separator może być potrzebne jeśli nowa tablica logiczna w następujący sposób: TFT TT. Ale to nie jest konieczne w innych przypadkach: TFT3.5.


1
Fi Tsą „lepkie”. Tak FFTdefiniuje wektor wiersza[false, false, true]
Luis Mendo

@LuisMendo dziękuję, to jest teraz jasne.
Giuseppe,

4

Haskell , 29 bajtów, 15 unikalnych, Laikoni

f<$>[1..74]
f 47='4'
f f1='3'

Wypróbuj online!

Wcześniej miałem dwa prawie rozwiązania:

do;d<-[2..74];'3':['4'|d==47]    -- 29,16
do;d<-[-41..31];'3':['4'|d==4]   -- 30,15

ahh, komentarz Laikoni doprowadził mnie do wniosku, że odpowiedź musi być pojedynczym wyrażeniem… najbliżej było ["34"!!(0^x^2)|x<-[-46..27]](28, 18).
Lynn

1
Poza tym nie miałem pojęcia, że ​​możesz po tym wstawić średnik do!
Lynn

1
Tak, miałem tam miejsce przez długi czas, zanim zgadłem, że może być ważne.
H.PWiz

@Lynn Laikoni twierdzi, że rozwiązaniem jest pojedyncze wyrażenie na czacie
H.PWiz


3

JavaScript (ES6), Brian H.

Dzięki @Milk za naprawienie ostatniej końcowej „5”

f=f=>1/44.4

console.log(f())

Unikalne postacie: ., /, 1, 4, =, >,f


1
Ta wyprowadza dodatkowe 5 na końcu:_=_=>1/44.4
mleko

@ mleko To rzeczywiście wygląda lepiej. Daj mi znać, jeśli chcesz go opublikować, a ja go usunę.
Arnauld,

To fajnie, możesz po prostu zaktualizować swój post, jeśli chcesz. Mam to z budowania twojego cracka.
mleko

powiedział, że to było łatwe: p
Brian H.,

3

Wolfram Language (Mathematica) , 8 bajtów, 3 unikalne, Jenny_mathy

7!!!/77!

Wypróbuj online!

Podział: Factorial[7!!] / Factorial[77]gdzie !!jest podwójnie silnia.

Najpierw zauważam długą sekwencję 0na końcu, więc myślę, że może to być jakiś czynnik. FactorIntegerdaje największy czynnik 103, więc próbuję n/103!, i otrzymam następny największy (ujemny) czynnik pierwszy to 73. Dopasowanie czynników przez jakiś czas daje 105!/77!, potem myślę, że „są już 3 symbole 7, !a /więc sposób na stworzenie 105 musi być z tych symboli!”. Więc próbowałem 7!!(co jest jedną z kilku rzeczy do wypróbowania) i otrzymałem 105 jako poprawny wynik.




2

Galaretka , 7 bajtów, 6 unikalnych, Erik the Outgolfer

- Z jakiegoś powodu zacząłem od końcowego zera w wyniku. Bez tego dałbym
8,16!PP
jako rozwiązanie.


8,⁴!PP0

Wypróbuj online!

W jaki sposób?

8,⁴!PP0 - Main link of a program taking no arguments and no input
  ⁴     - literal sixteen
8       - literal eight
 ,      - pair = [8,16]
   !    - factorial (vectorises) = [8!, 16!] = [40320, 20922789888000]
    P   - product = 40320 × 20922789888000 = 843606888284160000
     P  - product (no effect) = 843606888284160000
      0 - literal zero (just gets printed)
        - leaving STDOUT displaying 8436068882841600000, as required

... 8,⁴!’Pdla 6 bajtów 6 unikalnych byłoby znacznie trudniejszych do złamania, ponieważ wynik 843585965494231681 ( 40319 × 2092278988799 ) nie wygląda tak silnie na czynniki.


Alternatywnie: 8µḤ!×! (z końcową spacją)
202729

Lub 8,⁴!Pz 2 końcowymi spacjami (Lub qinnym niezaimplementowanym bajtem)
Jonathan Allan


2

PowerShell , 7 bajtów, 5 unikatowych bajtów, AdmBorkBork

1PB#---

Wypróbuj online!

Wyjście 1125899906842624jest równe 2^50i 2^50 Bytesrówne 1 Pebibyte. Rzeczywisty kod ma tylko 3 bajty, dlatego dodałem komentarz na końcu.


Ładny. Myślałem, że wstawienie komentarza rzuciłoby ludzi na pętlę, ale wygląda na to, że się myliłem. :)
AdmBorkBork

2

Excel, 22 bajty, 16 unikalnych bajtów, EngineerToast

Możliwym rozwiązaniem jest:

=BAHTTEXT(2^(480-300))

Unikalne postacie to =BAHTEX()^02348-.

Zrozumiałem, że BAHTTEXT został użyty podczas wyświetlania wyniku. Tłumacząc dane wyjściowe z języka tajskiego na angielski, udało mi się znaleźć wartość liczby. Domyślam się, że jest to potęga 2, którą rzeczywiście jest (a mianowicie 2 180 ). Następnie skonstruowano wyrażenie 480-300 = 180, aby upewnić się, że rozwiązanie zawiera 22 bajty z 16 unikalnymi.


2

Alice , 9 bajtów, 8 unikalnych bajtów, Lew

/Yr@
\no/

Wypróbuj online!

Tak jest nrYo@.

n  negate the implicit empty string: creates the string "Jabberwocky".
r  range expansion: produces a string that starts with J, 
   goes up in ASCII order to w, down to c, and then up to y.
Y  separate this string into even and odd positions
o  output the even positions
@  terminate

Nawiasem mówiąc, orientacja zwierciadeł w pierwszej kolumnie jest całkowicie nieistotna, więc można ją łatwo zmniejszyć do 7 unikalnych bajtów.


Masz rację co do luster! Stałam się zbyt zardzewiała z Alice :)
Leo


1

J , 8 bajtów, 6 unikalnych bajtów, Bolce Bussiere

;p.p:i.9

Wypróbuj online!

Wynik:

23 _0.677447j0.296961 _0.677447j_0.296961 0.125003j0.726137 0.125003j_0.726137 _0.379097j0.630438 _0.379097j_0.630438 0.518498j0.521654 0.518498j_0.521654

Oczywista wskazówka jest taka, że ​​na danym wyjściu liczby zespolone zawsze pojawiają się jako pary sprzężone. Podejrzewało mnie to do p.czasownika, który konwertuje między zwykłymi formami wielomianowymi a formami mnożnikowo-korzeniowymi.

Więc próbowałem:

p. 23;(...those complex numbers)
   2 3 5 7.00001 11 13 17 19 23

Tak, moja myśl była poprawna. Lista liczb pierwszych jest łatwa. Monadic ;spłaszcza listę zestawionych ramek do prostych liniowych. Wynikowe wyrażenie ma dwa p i dwie kropki, więc liczba bajtów jest idealna.



0

Galaretka , 8 bajtów , 6 unikalnych, Mr. Xcoder

7x7²¤ḌḤ²

Wypróbuj online!

W jaki sposób?

7x7²¤ḌḤ² - Main link: no arguments & no input
7        - literal 7
    ¤    - nilad followed by link(s) as a nilad:
  7      -   literal 7
   ²     -   square -> 49
 x       - repeat elements -> [7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7]
     Ḍ   - convert from a decimal list -> 7777777777777777777777777777777777777777777777777
      Ḥ  - double -> 15555555555555555555555555555555555555555555555554
       ² - square -> 241975308641975308641975308641975308641975308641926913580246913580246913580246913580246913580246916
         - implicit print
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.