Инвертированный из уникальности (нить грабителя)


11

Учитывая вывод программы полицейского ( o), byte-count ( n) и количество используемых уникальных bytes ( c), придумали соответствующий фрагмент кода длиной в nбайты с cуникальными байтами, который соответствует выводу полицейского o.


Это нить грабителей . Опубликовать решения, которые вы взломали здесь.

Нить COPS находится здесь .


Грабители должны публиковать такие решения:

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

    [Solution]

(Explanation)

правила

  • Вы не можете принимать какие-либо данные для вашей программы.
  • Программа должна использовать как минимум 1 байт, но не может превышать 255 байт.
  • Сам вывод также ограничен 255 байтами.
  • Программа должна иметь согласованные выходные результаты при многократном выполнении.
  • Если ваша заявка не была взломана в течение 7 дней, вы можете пометить ее как «безопасную».
    • Помечая это как безопасное, опубликуйте предполагаемое решение и отметьте его как c*n.

выигрыш

  • Не взломанный пост с наименьшим количеством c*nочков, выигрывает ветку полицейского.
  • Тот, кто взломает больше всего, выигрывает нить грабителей, причем самая ранняя трещина разорвет связь.
  • Это будет решено после 10 безопасных ответов или нескольких недель.

Предостережения

  • Если вы чувствуете себя дерзким, вы можете сообщить пользователю алгоритм, используя тег спойлера .

Примечание: также, пожалуйста, не забывайте повышать рейтинг трещин, они обычно являются впечатляющей частью.

Ответы:



4

MATL , 4 байта, 4 уникальных байта, Стьюи Гриффин

1X2p

Попробуйте онлайн!

объяснение

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

Вы знаете все предопределенные литералы ... я не ... Это было не совсем то же самое, что и я, но это, конечно, результат 'double'. :)
Стьюи Гриффин

@ StewieGriffin Ах, я вижу, ты использовал что-то вроде 1X%p. На самом деле я знаю только несколько предопределенных литералов. Я 9:"@X1pDX1
Луис Мендо

4

MATL , 6 байтов, 3 уникальных, Луис Мендо

FFFTZF

Попробуйте онлайн!

Я сразу узнал вывод

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

как 4-х корни из единицы, и я знал , что fftна [0 0 0 1]приведу это.

Мне потребовалось много времени, чтобы понять, что FFFTбудет толкать, [0 0 0 1]и я все еще не уверен, как это работает. РЕДАКТИРОВАТЬ: Луис Мендо объяснил, что Fи T«липкие», поэтому последовательность Fи Tбудет автоматически horzcatих вместе, следовательно, FFFTтолкает [0 0 0 1].

Это выражено кратко в документации (как только я посмотрел это):

Для логических векторов строк квадратные скобки могут быть опущены; то есть обозначения [T F T]или [TFT]могут быть упрощены до TFT. Сепаратор может быть необходим , если новый логический массив следующим образом : TFT TT. Но это не обязательно в других случаях TFT3.5.


1
Fи T"липкие". Так FFTопределяется вектор строки[false, false, true]
Луис Мендо

@ LuisMendo спасибо, теперь все ясно.
Джузеппе

4

Haskell , 29 байтов, 15 уникальных, Laikoni

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

Попробуйте онлайн!

Ранее у меня было два почти решения:

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

ах, комментарий Лайкони привел меня к мысли, что ответом должно быть единственное выражение ... самое близкое, что я получил ["34"!!(0^x^2)|x<-[-46..27]](28, 18).
Линн

1
Кроме того, я понятия не имел, что вы можете поставить точку с запятой сразу после doэтого!
Линн

1
Да, у меня было место в течение долгого времени, прежде чем догадаться, что это может быть действительным.
H.PWiz

@ Линн Лайкони утверждает, что решение - это одно выражение в чате
H.PWiz


3

JavaScript (ES6), Брайан Х.

Спасибо @Milk за исправление последнего трейлинга '5'

f=f=>1/44.4

console.log(f())

Уникальные персонажи: ., /, 1, 4, =, >,f


1
Этот выводит дополнительные 5 в конце:_=_=>1/44.4
молоко

@milk Это выглядит действительно лучше. Дайте мне знать, если вы хотите опубликовать это, и я удалю это.
Arnauld

Это круто, вы можете просто обновить свой пост, если хотите. Я получил это от создания твоей трещины.
молоко

сказал, что это было легко: р
Брайан Х.

3

Wolfram Language (Mathematica) , 8 байтов, 3 уникальных, Jenny_mathy

7!!!/77!

Попробуйте онлайн!

Разбивка: Factorial[7!!] / Factorial[77]где !!двойная факториал.

Сначала я замечаю длинную последовательность 0в конце, поэтому я думаю, что это может быть какой-то факториал. FactorIntegerдает самый большой фактор 103, поэтому я пытаюсь n/103!, и получаю следующий по величине (отрицательный) простой фактор 73. Изменение факторов в течение некоторого времени дает 105!/77!, тогда я думаю, что «уже есть 3 символа 7, !и /поэтому способ создать 105 должен быть из этих символов!». Поэтому я попытался 7!!(что является одним из немногих вариантов) и получил 105 в качестве правильного результата.




2

Желе , 7 байтов, 6 уникальных, Эрик Аутгольфер

- Почему-то я начал с конечного нуля в результате. Без этого я бы дал
8,16!PP
решение.


8,⁴!PP0

Попробуйте онлайн!

Как?

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,⁴!’Pдля 6 байтов было бы труднее взломать 6 уникальных, так как результат 843585965494231681 ( 40319 × 2092278988799 ) не выглядит так, как факториал.


Альтернатива: 8µḤ!×! (с завершающим пробелом)
user202729

Или 8,⁴!Pс двумя завершающими пробелами ( qили другим нереализованным байтом)
Джонатан Аллан


2

PowerShell , 7 байт, 5 уникальных байт, AdmBorkBork

1PB#---

Попробуйте онлайн!

Выход 1125899906842624равен 2^50и 2^50 Bytesравен 1 Pebibyte. Фактический код всего 3 байта, поэтому я добавил комментарий в конце.


Ницца. Я думал, что добавление комментария заставит людей зацикливаться, но похоже, что я ошибся. :)
AdmBorkBork

2

Excel, 22 байта, 16 уникальных байтов, EngineerToast

Возможное решение:

=BAHTTEXT(2^(480-300))

Уникальные персонажи =BAHTEX()^02348-.

Я понял, что BAHTTEXT использовался при просмотре вывода. Переведя вывод обратно с тайского на английский, я смог найти значение числа. Я догадался, что это степень 2, которая действительно есть (а именно 2 180 ). Затем было построено выражение 480-300 = 180, чтобы убедиться, что решение содержит 22 байта с 16 уникальными.


2

Алиса , 9 байтов, 8 уникальных байтов, Лев

/Yr@
\no/

Попробуйте онлайн!

В развернутом виде это 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

Между прочим, ориентация зеркал в первом столбце совершенно не имеет значения, поэтому ее можно легко уменьшить до 7 уникальных байтов.


Ты прав насчет зеркал! Я стал слишком ржавым с Алисой :)
Лев


1

J , 8 байтов, 6 уникальных байтов, Bolce Bussiere

;p.p:i.9

Попробуйте онлайн!

Выход:

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

Очевидный намек на то, что в данном выводе комплексные числа всегда появляются в виде сопряженных пар. Это заставило меня подозреватьp. глагол, который конвертирует между простыми полиномиальными формами и множителями.

Итак, я попробовал:

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

Да, моя мысль была правильной. Список простых чисел прост. одновалентный; сводит список штучных массивов к простому линейному. Полученное выражение имеет две точки p и две точки, поэтому число байтов является идеальным.



0

Желе , 8 байт , 6 уникальных, Mr. Xcoder

7x7²¤ḌḤ²

Попробуйте онлайн!

Как?

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.