Quine Anagrams! (Нитка копів)


22

Це нитка копів. Для нитки розбійників натисніть тут .

Завдання копів

  • По-перше, напишіть лайку мовою, яку ви вибрали.
  • Далі, обтрушуйте лайку. Не забудьте зробити це добре, бо грабіжники намагатимуться його розшифрувати та знайти оригінальний вихідний код! Зауважте, що скремтований код не повинен працювати.
  • Опублікуйте відповідь на цій темі. Включіть мову, кількість байтів і скремтований код.

Ваша програма може не друкувати на STDERR.

Ось приклад подання поліції:

Пітон, 29 байт

nt _%=_r;_riinp;pr_='t _%%%_'

Завдання розбійників

Для нитки розбійників натисніть тут .

Безпечні подання

Якщо ваше повідомлення ще не було зламано через тиждень публікації, ви можете додати рішення та вказати, що це безпечно. Якщо цього не зробити, ваше подання все одно може бути зламано.

Оцінка балів

Це , тому користувач із безпечним поданням з найменшими байтами стане переможцем цього розділу.

Таблиця лідерів

Ось фрагмент стека, щоб створити бардову дошку для цього завдання. Щоб воно відображалося належним чином, відформатуйте подання так:

# Language Name, N bytes

... other stuff ...

Якщо ваше надсилання зламається, будь ласка, відформатуйте такий текст:

# Language Name, N bytes, [Cracked!](link)

... other stuff ...

Якщо ваше подання надійне, форматуйте такий:

# Language Name, N bytes, Safe!

... other stuff ...

<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 99469;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>


7
Тісно пов'язані. (Той самий виклик, за винятком того, що відповіді не повинні бути лайками.)
Мартін Ендер

1
Чи повинен скремований код також бути королевою? Чи потрібно навіть це бути дійсною програмою? Я спробував запустити зразок Python на кодовій панелі, але він отримує синтаксичну помилку.
молоко

@milk Ні, це не має бути дійсною програмою.
Олівер Ні

Відповіді:


15

C #, 288 байт

Stag is a great shoW.        "="=""="="Agent"plastic"Was"tryin"to"Release"an"Astroid"."$Money$"st@le"tigers"and"Agent"plastic"got"mad"."$Money$"sic","man","t0tally"rad"."Sistrs"Rms"titAnic";"Civic"Ace"in"{sC@m}{hic}{vicis}..{cats}sAc}((@))((@)){{{>>{{{{{{}}}}}}}}}\\\\\\\;;;(@)((@)()),,;;

Моя стратегія полягає в тому, щоб усі короткі були зламані, і ніхто не турбується цим, враховуючи, наскільки це триває ... Також я гадаю, що слід зазначити, що це повноцінна програма, а не лише функція.


10

JavaScript, 1574 байт, безпечно!

Я витратив надто багато часу на це. Ось примхливість.

(notice that an unmatch parenthesis remains throughout the entire text.

dear "sir",

|    i cannot express my loathing to you and your things. they truly are a loathsome sight. (regar'less of their quality, they function as the most appalling devices...)[1]

|    these avocads of thine possession are most unpleasent. (ce n'est pas faux.) Queer; Careful; An' in total repulsing. in this form, those are not seulement cringe... So; CAB's is quite Cruel. (Cruel indeed...)

|    intention is not great (heh, intention, ;}) run, no, run, since {tu est le ;AqC;};

{{{{============================================}}}}

[1]: see? am i not insane? You may dictate the opposite, so i dictate thus.

9 + 4 is 13. Y is this. Y + 4 is 9 + 9 minus one. N is this. f(x) is {x + x}, so f(N) is N plus N is N + N is 3.

:^) i'm cruel; not so cruel.)
                                  rrrrrrrrrr 0nnnccnnggrrrrttssBBC
{({[}(<[<))(((((){{})}[}][[]{}(]))))|} f f r 0nnnccnngrrrrrttesBBA
())(((()))))()))()()()((((()))}{{})((} f f r 0nnnccnngrrrrrttesBBY
]]}(([][]{{{}}})()({}(){}{()}{}()[])][ f f r 4nnnccnngrrrrrttesBSY
))({})(}{)({{{{(()))())))))))()))()()( f f r 4nnnccnngrrrrrtpesqSY
)()()((((((((((Z))))))))()(()((()((((( f f r 5nnnccnngrrrrrtlefoSY
(((;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''' f f r 3nnncccngrrrrxtleifSY
''''''''''''''''''',,,,,,,,[[[[[[]]]]] f f r 3nnncccngrrrrxtleifZQ
[ ] ] + + + + + + + + + + + + + + + ++ f f r 9nnncccggrrrrxtleifZQ
+ + + + too not fun...fffffffffffffuuu f f r 5nnncccggrrrrxtlli0ZQ
uuuuuuuuuuuu.. | | | |99S            ) f f r 0nnncccggrrrrxxll01QQ

Ось першоджерело!

function Y(x){return x.charCodeAt()};
function Q(x){return String.fromCharCode(x)};
N=Array.prototype;
function B(f,g,h){return function(){
  return f(g.apply(h||this,arguments));
}};
function S(f,h){return function(){
  return f.apply(h||this,N.reverse.call(arguments))}}
function id(x){return x};
function format(){
  args = N.slice.call(arguments);
  str = args.shift(); res = []+[];
  for(i = 0; i < str.length; i++){
    c = function(){return str[i]};
    if(B(Y,c) == 95){
      res += args.shift();
    } else if(S(B)(c,Y)() == 94){
      res += q = B(id,Q)(34);
      res += args.shift();
      res += q;
    } else if(Y(c()) == 39){
      i++;
      res += c() == ([][0]+[])[1] ? Q(10) : []+[];
    } else res += c();
  }
  return res;
}
console.log(format(Z="function Y(x){return x.charCodeAt()};'nfunction Q(x){return String.fromCharCode(x)};'nN=Array.prototype;'nfunction B(f,g,h){return function(){'n  return f(g.apply(h||this,arguments));'n}};'nfunction S(f,h){return function(){'n  return f.apply(h||this,N.reverse.call(arguments))}}'nfunction id(x){return x};'nfunction format(){'n  args = N.slice.call(arguments);'n  str = args.shift(); res = []+[];'n  for(i = 0; i < str.length; i++){'n    c = function(){return str[i]};'n    if(B(Y,c) == 95){'n      res += args.shift();'n    } else if(S(B)(c,Y)() == 94){'n      res += q = B(id,Q)(34);'n      res += args.shift();'n      res += q;'n    } else if(Y(c()) == 39){'n      i++;'n      res += c() == ([][0]+[])[1] ? Q(10) : []+[];'n    } else res += c();'n  }'n  return res;'n}'nconsole.log(format(Z=^,Z))",Z))


avocadsтріщить мене!
Kritixi Lithos


5

Низький навантаження , 20 байт, тріщини!

~*)(a):*(*a:S(*S*~S)

Я розібрався з цим, рандомізувавши порядок символів, бо що може бути більш скремоване, ніж випадкове?

Правильно написаний інтерпретатор Underload виходить з ладу під час перегляду нового рядка на верхньому рівні програми. Як зазвичай у змаганнях з гольфу, в кінці програми немає нового рядка; Я просто розміщую тут це нагадування, тому що його дуже легко помилково додати під час копіювання програми до перекладача.


Ласкаво просимо до PPCG! :)
Мартін Ендер

2
Ну, я деякий час побічно коментував PPCG, відстежуючи користувачів PPCG на інших форумах (Reddit, IRC тощо) і кричачи на них, поки вони не розмістять те, що я хочу. Також може це зробити безпосередньо :-)

Тріснув. Дякую, це було веселим викликом. :)
Мартін Ендер

5

Сітківка , 20 байт, тріщини

S`(\?)\1*

S`(\?)\1*

Програма (і вихід) містить рівно два канали ліній.

Ви можете спробувати Retina онлайн тут.

Невеликий натяк:

У процесі розробки цього поліцейського я знайшов нову найкоротшу сітківку сітківки, яку я опублікую перед нашою проблемою з королевою, як тільки ця відповідь буде зламана або безпечна.


Я збираюся здогадуватися, що там є сухий пробіг *, і \як варіант конфігурації, щоб запобігти додатковій передачі ліній.
mbomb007

5

CJam, 39 байт, безпечно

!""$)+023345679:AEORYZZ\_```bbceeffimmz

Рішення:

")A!0z`eZOmRZ$Yei`E"_`\32fm95b67b43f+:c

Для обфускування використовується деяка базова кодування. Однак, оскільки всі персонажі в ASCII, я б подумав, що хтось може зрозуміти, 32fm95b??b??f+:cчого вистачить, щоб жорстоко змусити решту.


Я не знав, як вибрати перестановку, якби відповів. Сортування - хороша ідея
Луїс Мендо

4

Pyth, 38 байт, безпечно

Не зовсім гольф, але працює.

````::""@@@@++++22ggKKKKKKKKNNNNZZZZ

Несортійна версія:

K"K++@KZ:`K@`NZNgK2"++@KZ:`K@`NZNgK2

1
У мене є квітка, але у неї відсутні два @та одна 2... Це так близько!
Стівен Х.

Швидкий! У вас мало часу!
FliiFe

Я думаю, що це закінчилося. Я не можу це зрозуміти ... :( Вітаю, як отримати безпечне рішення!
Стівен Х.

Там у вас є рішення! З цікавості, що було знайдено у вас квіточка?
FliiFe

Я мав K"K2:K@Kg`Z`Z++NKN":K@Kg`Z`Z++NKN.
Стівен Х.



3

JavaScript, 147 байт, Cracked по ETHProductions

Я буду дуже вражений, якщо комусь вдасться зламати це ...

   """"''''((((()))))+++++++++.//99;;;;;;=========>>[[[[[]]]]]``````````````cccdddddddeeeeeeeeeeeffiiiiiiinnnnnnnoooooooorrrrrrrrsttttuuwwwwwwx{{}}

Задумане рішення:

e=o=>{n=o;``[r=`constructor`][r](`return e=>{`+o+`}`)````};d=e+"";e`for(i in window)if(/ert/.exec(i))w=window[i];w('e='+d+';d=e+"";e'+d[9]+n+d[9])`

Чи не @ETHproductions Так, там немає lдля alertабо console.log, що не mдля confirmчи prompt... Та я зла>: D я повинен присудити Баунті до зломщикові?
jrich

Ну, є ця функція, яка повертається, а не оповіщає (і я впевнений, що версія ОП працювала так), і я міг легко зробити те саме з вашим рішенням ... але це законно?
ETHproductions

@ETHproductions, які б це повністю зіпсували :( Я хочу сказати "ні", але якщо популярна думка диктує інакше, я думаю, що порушує більшість проблем JS
jrich

Так, мені не подобаються зворотні лайки, але я на 99% впевнений, що немає іншого способу зламати саме це рішення. Я спробую отримати дійсну тріщину для вашої :)
ETHproductions

@ETHproductions Я, можливо, зробив це liiiiiiitle занадто важким в огляді, але удачі!
jrich

3

Хаскелл, 86 байт, розламаний німі

putStr$"Study:ric====>>>>yummy:candy:circus:party:in:syrirrr!!!!!!$[;['=['[$]']='];]$"

Це дійсний вираз Haskell, який друкує:

Study:ric====>>>>yummy:candy:circus:party:in:syrirrr!!!!!!$[;['=['[$]']='];]$

Тож якщо Рік вчиться, він може піти на смачну циркову вечірку! Тобто, якщо він з'ясує, де знаходиться Сиріррр .



3

V , 20 байт - Безпечно!

"$ 033lpqxx | ääéééñññ

Зверніть увагу на останній рядок.

Я не був дуже впевнений, як їх розшифрувати, тому просто сортував персонажів за значенням ASCII.

На відміну від більшості V відповідей, цей містить нульові недруковані символи. Ось шістнадцятковий набір:

0000000: 2224 3033 336c 7071 7878 7ce1 e4e9 e9e9  "$033lpqxx|.....
0000010: f1f1 f10a                                ....

Нешифрований код:

éññ3äl0éé $ áx3 | "qpñx

Спробуйте в Інтернеті!

Сторона не стосується цього посилання. У попередніх версіях V новий рядок завжди автоматично друкувався, саме тому ця версія має зворотний новий рядок. Перекладач на той момент, коли я це писав, був дійсною квітами, хоча тепер ви можете просто видалити новий рядок, щоб зробити його дійсним.

Пояснення:

éñ                      " Insert a 'ñ' character
  ñ              ñ      " Put all of the following into register 'q' and run it when it's done recording
   3äl                  " Make 3 copies of the character under the cursor
      0                 " Move to the first column
       éé               " Insert an 'é' character
         $              " Move to the last column
          áx            " Append an 'x'
            3|          " Move to the third column
              "qp       " Paste register 'q' (all of the commands we just ran)
                  x     " Delete a character

3

Haskell, 99 байт, сейф

"super.quine?"=>#$$$%%%%%&&(())))**++++,,,,/;<<==>>STaabbdeffggghhhjlmmnoppqqrrsssttttuuuvvwwwwxxxx

Ще одна квітка Haskell, цього разу з чудовими 99 байтами.

g% w = (g <$> w) ++ w ++ чистий (g.last $ w); main = putStr $ pred% "h & x>) h =%? x * ,, x ,, qvsf) h / mbtu% x * qvuTus% qsfe & # "
Спробуйте це на Ideone. Пробіли в "g <$> w" повинні бути видалені, я помістив їх туди, оскільки в іншому випадку <, $ і> зникнуть (швидше за все, інтерпретуються як тег html). Рядок гібриду - це рядок програми з кожним символом, відображеним на спадкоємця, включаючи остаточний "(який можна включити до рядка, не виходячи з нього, оскільки він відображений #). Хелперна функція %бере рядок і відображає кожну таблицю до попередника, використовуючи pred(поступаючись code"), потім додаючи початкову рядок (вихід code"gibberish_code) та останню таблицю декодованої рядки (вихід code"gibberish_code"). Для перетворення знаку cв рядок, як правило, досить занести його до списку, [c]оскільки рядки в Haskell - це просто списки char, однак наступник[ є\ , яка потребує бігу в рядку, кодованому наступником, натомістьpure використовується який перетворює довільні типи в монаду (яку використовувати Monad, виводиться з контексту).


Майже там. У мене є додатковий spaceі !, але не знають , як позбутися від нього. Гарна ідея, є +1.
німі

@nimi Tahnks, мені цікаво, що ваш підхід зробив інакше.
Лайконі

I had g%w=g w++w++pure(last.g$w);main=putStr$(pred<$>)%"...#". So basically I failed to move the <$> into the function %. Now that I see your solution it's obvious.
nimi


1

Javascript ES6, 49 bytes (cracked)

{{$((((((('`fuck rent =+> turn off fin`')))))))}}

Is it bad if I focused more on forming coherent words in the scrambled solution?

In any case, this is my first Cops and Robbers challenge.

Update: see comments for cracked code.



1

FurryScript, 199 bytes, Safe!

UT  TTEDU DT   T U T D   ES DGT GEL L   GL
-<<<<<<+++++++[[[[#BESTQUINEEVER!#BESTQUINEEVER!#BESTQUINEEVER!#BESTQUINEEVER!#BESTQUINEEVER!#]]]]+++++++>>>>>>-

X   XG WPW   SS  X  PW S US WWTLWP  XS  PE

Should be fairly easy to crack.

Unscrambled Code

BESTQUINE[ DUP LT +SW +GT +< BESTQUINE#> ]
EVER![ DUP EX+ SW EX- LT +SW +GT +< EVER!#> ]
<BESTQUINE[ DUP LT +SW +GT +< BESTQUINE#> ]> BESTQUINE#
<EVER![ DUP EX+ SW EX- LT +SW +GT +< EVER!#> ]> EVER!#

Just the regular quine, but with two subroutines and some more code to swap the strings.


1

Vim, 17 bytes

<CR>""&(())::::\npps

The <CR> is Enter (^M or ^J) in the input and an added newline in the output. It is not the implicit end of file newline (see :help 'eol'). The 17 bytes are what is added to an empty buffer. (Newlines in a text editor are weird; let me know if this isn't clear.)




0

Python 2, 105 bytes, Cracked!

    ######%%%%''(((((((())))))))****--0011::::;;==@@@@@@@@@@[[[[]]]]aaaaaaggggggiiiiiiiinnpprrrrrrrrrtt~~

The other one was cracked, so this one is more difficult.

print'To find the solution, get to work!'



@Sp3000 Oh gosh yeah, but I actually had an original quine doing something more than that. Anyways, you did it the lazy way :P
Erik the Outgolfer


0

QB64, 89 bytes

(_+cad:effecs:fact), =+cred:scarf:attaccd?, =+eff4c3d:cars:craccd?, (_+csc:f4c3d:fact), "

Some salient points:

  • The code will not work in QBasic: it uses QB64-specific features
  • Syntax expansion is off
  • No dollar signs and only one quotation mark
  • "Poetry" would be a stretch, but it does rhyme


0

OIL, 77 bytes, Safe

0
0
1
1
1
1
1
1
1
1
1
2
2
4
4
4
6
8
10
11
11
11
12
17
18
18
18
18
22
26
26
32

Good luck with that.

Solution, "commented" (remove comments before running or it won't work):

0 # nop twice
0
1 # copy element from cell 1 to 1 (so do nothing again)
1
1
4 # print what's in cell 1 (a zero)
1
11 # print a newline
4 # and the same thing again; printing zero and a newline
1
11
1 # copy what's in cell 2 (a 1) into cell 2
2
2
1 # copy what's in cell 12 (two lines before; a 2) into cell 18
12
18
10 # check if the value in the cell of the following line (starting with 2; we'll jump back here)
18 # (this is cell 18)
1 # is equal-ish to the one in cell 1 (a zero)
32 # if yes, jump somewhere
22 # otherwise jump one cell ahead
1 # copy what's currently in cell 18 (first a 2) into cell 26
18
26
4 # print cell 26
26
8 # increment cell 18
18
11 # print a newline
6 # and jump back to cell 17
17

So to summarize, it works by first printing two zeros, and then comparing every line starting with the third one with zero, and if it isn't zero, printing it, else exiting (since OIL reads zero from any empty/non-existent cell). Any variable lines contain the value they have when they are printed (since I'm lazy, I obtained this by first making a near-quine where those cells have some arbitrary non-zero value, and using the result, which is a quine).


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.