Zwei macht den Unterschied - Cops


60

HINWEIS - Diese Herausforderung ist jetzt geschlossen. Alle neuen Antworten werden ignoriert und die akzeptierte Antwort wird nicht geändert

Herausforderung

Schreiben Sie ein gültiges Programm, das die Ausgabe vollständig ändert, wenn nur zwei Zeichen im Programm geändert, entfernt oder hinzugefügt werden.

Die geänderte Ausgabe muss einen Levenshtein-Abstand von 15 oder mehr von Ihrer ursprünglichen Ausgabe haben.

Die Ausgabe darf nicht leer und endlich sein. Ihr Programm muss daher innerhalb von 1 Minute beendet sein.

Ihre Ausgabe muss deterministisch sein und bei jeder Ausführung des Programms dasselbe ausgeben. Es darf auch nicht plattformabhängig sein.

Alle Hash-Funktionen sind nicht zulässig , wie sie in PRNGs enthalten sind. Ebenso ist das Aussäen eines RNG nicht erlaubt.

Nach einem Zeitraum von drei Tagen wird eine ungerissene Vorlage sicher. Um diese Sicherheit zu beanspruchen, sollten Sie Ihre Antwort bearbeiten, um die richtige Antwort anzuzeigen. (Klarstellung: Bis Sie die Antwort enthüllen, sind Sie nicht sicher und können immer noch geknackt werden.)

Formatierung

Ihre Antwort sollte in folgendem Format vorliegen:

# <Language name>, <Program length>

## Code

<code goes here>

## Original Output

<output goes here>

## Changed output

<changed output goes here>

Räuber

Die Räuber müssen herausfinden, welche beiden Charaktere Sie geändert haben. Wenn ein Räuber Ihre Lösung geknackt hat, hinterlässt er einen Kommentar zu Ihrer Antwort.

Den Räuberfaden finden Sie hier .

Gewinnen

Die Person mit der kürzesten ungerissenen Lösung gewinnt.

Bestenliste

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>site = 'meta.codegolf';postID = 5686;isAnswer = false;QUESTION_ID = 54464;var safe_list=[];var uncracked_list=[];var n=0;var bycreation=function(x,y){return (x[0][0]<y[0][0])-(x[0][0]>y[0][0]);};var bylength=function(x,y){return (x[0][1]>y[0][1])-(x[0][1]<y[0][1]);};function u(l,o){ jQuery(l[1]).empty(); l[0].sort(o); for(var i=0;i<l[0].length;i++) l[0][i][1].appendTo(l[1]); if(l[0].length==0) jQuery('<tr><td colspan="3" class="message">none yet.</td></tr>').appendTo(l[1]);}function g(p) { jQuery.getJSON('//api.stackexchange.com/2.2/questions/' + QUESTION_ID + '/answers?page=' + p + '&pagesize=100&order=desc&sort=creation&site=codegolf&filter=!.Fjs-H6J36w0DtV5A_ZMzR7bRqt1e', function(s) { s.items.map(function(a) { var he = jQuery('<div/>').html(a.body).children().first(); he.find('strike').text(''); var h = he.text(); if (!/cracked/i.test(h) && (typeof a.comments == 'undefined' || a.comments.filter(function(b) { var c = jQuery('<div/>').html(b.body); return /^cracked/i.test(c.text()) || c.find('a').filter(function() { return /cracked/i.test(jQuery(this).text()) }).length > 0 }).length == 0)) { var m = /^\s*((?:[^,;(\s]|\s+[^-,;(\s])+)\s*(?:[,;(]|\s-).*?([0-9]+)/.exec(h); var e = [[n++, m ? parseInt(m[2]) : null], jQuery('<tr/>').append( jQuery('<td/>').append( jQuery('<a/>').text(m ? m[1] : h).attr('href', a.link)), jQuery('<td class="score"/>').text(m ? m[2] : '?'), jQuery('<td/>').append( jQuery('<a/>').text(a.owner.display_name).attr('href', a.owner.link)) )]; if(/safe/i.test(h)) safe_list.push(e); else uncracked_list.push(e); } }); if (s.length == 100) g(p + 1); else { var s=[[uncracked_list, '#uncracked'], [safe_list, '#safe']]; for(var p=0;p<2;p++) u(s[p],bylength); jQuery('#uncracked_by_length').bind('click',function(){u(s[0],bylength);return false}); jQuery('#uncracked_by_creation').bind('click',function(){u(s[0],bycreation);return false}); } });}g(1);</script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><style>table th,table td { padding: 5px;}th { text-align: left;}.score { text-align: right;}table a { display: block;}.main { float: left; margin-right: 30px;}.main h3,.main div { margin: 5px;}.message { font-style: italic;}</style><div class="main"><h3>Uncracked submissions</h3><table> <tr> <th>Language</th> <th class="score">Length</th> <th>User</th> </tr> <tbody id="uncracked"></tbody></table><div>Sort by: <a href="#" id="uncracked_by_length">length</a> <a href="#" id="uncracked_by_creation">creation</a></div></div><div class="main"><h3>Safe submissions</h3><table> <tr> <th>Language</th> <th class="score">Length</th> <th>User</th> </tr> <tbody id="safe"></tbody></table></div>


@BetaDecay Wie definieren Sie eine Hash-Funktion?
isaacg

1
@xnor Theoretisch, aber die Anzahl der Möglichkeiten steigt mit zunehmender Programmlänge enorm an und kann daher sehr lange dauern
Beta Decay

1
@ RedPanda Ja, ich denke schon
Beta Decay

5
@isaacg Ich habe beschlossen, das sichere Datum auf drei Tage zu ändern
Beta Decay

4
Wäre es möglich, den Leaderboard-Code in weniger Zeilen einzufügen, damit weniger visueller Raum benötigt wird?
Isaacg

Antworten:


6

CJam, 13 Bytes (sicher)

J{m!_)mQ%2b}/

Probieren Sie es online aus.

Originalausgabe

000010010101001010001101111000111011100110100100001011101101010100011111110010010010001111111111010000010011001110001010011111000010001001110111100000010110000010000111011011110101110010000011100111100

Geänderte Ausgabe

11101101100011110001011010000100111011000010011101100000001010100111011010011011010111101000000011101111100000000110001000111110110110101111110100101110000101110100110011110000010101110

Lösung

J{m!_)ci%2b}/

Probieren Sie es online aus.

Wie es funktioniert

Dadurch wird ausgenutzt, wie CJam nach Ausführung des Programms implizit den gesamten Stapel druckt.

Durch einfaches Ablegen der Basis-2-Darstellungen einiger ganzer Zahlen auf dem Stapel werden sie ohne Trennzeichen gedruckt. Daher sollte es schwierig sein, herauszufinden, wo eine von ihnen beginnt und eine andere endet.

Der ursprüngliche Code führt Folgendes aus:

J{   e# For each I from 0 to 18, do the following:
  m! e#   Calculate the factorial of I.
  _) e#   Push a copy and add 1.
  mQ e#   Compute the result's integer square root.
  %  e#   Calculate the residue of the factorial divided by the square root.
  2b e#   Push the array of base 2-digits of the resulting integer.
}/   e#

Wie @AndreaBiondo in den Kommentaren festhält, sind die binären Darstellungen von 0! bis 8! finden Sie am Anfang der Ausgabe (Leerzeichen zur Verdeutlichung hinzugefügt):

1 1 10 110 11000 1111000 1011010000 1001110110000 1001110110000000

Die beabsichtigte Änderung war zu ersetzen , mQmit ci, der die ganze Zahl modulo 65536 nimmt, 16-Bit - Zeichen - Arithmetik (Gießen auf ein vorzeichenlose 16-Bit - Zeichen, dann zurück zu integer).

Ich hoffte, dass die Idee c, einen mathematischen Operator zu ersetzen, undurchsichtig genug wäre.


Beeindruckend. Wie kommst du darauf?
The_Basset_Hound

Ich habe versucht, dies für eine Weile zu knacken. Ich fand einen Teil des geänderten Musters heraus, aber mir fehlte etwas. Es ist jetzt sicher, denke ich.
Andrea Biondo

@ AndreaBiondo Es ist jetzt. Danke, dass du mich erinnert hast.
Dennis

@Dennis Ich hatte herausgefunden, dass _)mQdies in ein f(x!)solches f(x!) > x!für x <= 8und f(x!) < x!für geändert werden musste x >= 9, da x!es offensichtlich durch eine Zahl moduliert wurde, bei der die Fakultäten von 0 bis 8 in der Ausgabe intakt blieben. Ich habe nicht bemerkt, 9!war die erste Fakultät größer als 2^16. Trotzdem eine sehr schöne Herausforderung.
Andrea Biondo

39

Geknackt

Shakespeare, 1721 Bytes

Ich versuchte es mit einer Shakespeare-Antwort. Es ist nicht kurz und ich hatte Schwierigkeiten, die Ausgabe mit nur 2 Zeichen zu ändern, aber ich denke, es ist mir ganz gut gelungen. Viel Glück euch allen. Als Randnotiz habe ich den "Compiler" verwendet, der unter dieser Adresse verfügbar ist, und er funktioniert möglicherweise nicht mit einem anderen. (Funktioniert nicht mit dem Online-Interpreter.) Die Ausgabe enthält keine nicht druckbaren Zeichen.

Code

Die versteckte Veränderung.

Helen, eine junge Frau mit einer bemerkenswerten Geduld.
Helena, eine ebenfalls junge Frau von bemerkenswerter Anmut.
Claudio, ein bemerkenswerter Mann, der mit Claudius viel zu tun hat.
Claudius, der Schmeichler.
Der Erzbischof von Canterbury, der Nutzlose.


          Akt I: Claudius Beleidigungen und Schmeichelei.

          Szene I: Die Beleidigung von Helen.

[Claudius und Helen treten auf]

Claudius:
 Du bist so haarig wie die Summe eines ekelhaften schrecklichen Waisen 
 staubige alte faule fettnierige Katze und ein großer schmutziger verfluchter Krieg.
 Du bist so dumm wie das Produkt von dir und stinkst fett 
 halbwitziger schmutziger elender gemeiner schwacher Sohn.

[Exeunt]

          Szene II: Das Kompliment von Helena.

[Claudio und Helena treten auf]

Claudio:
 Du bist die sonnige, erstaunliche, stolze, gesunde, friedliche, süße Freude.
 Du bist so erstaunlich wie das Produkt von dir und dem Hübschen
 reizender junger sanfter stattlicher reicher Held. Du bist so großartig
 als die Summe von dir und dem Produkt eines gerechten goldenen Triebes gut ehrlich 
 charmanter liebevoller edler König und ein gestickter reich glatter goldener Engel.

[Exeunt]

          Szene III: Die Beleidigung von Claudio

[Claudius und Helen treten auf]

Helen:
 Du bist so dumm wie die Summe der Summe von dir und einer Katze und mir.
[Ausfahrt Helen]

[Claudio kommt herein]

Claudius:
 Du bist so dumm wie die Summe von dir und dem Produkt von 
 Produkt von mir und Helen und Helena

[Exeunt]

          Szene IV: Der letzte Countdown

[Betreten Sie den Erzbischof von Canterbury und Claudius]

Claudius:
 Du bist die Summe von dir und einer Katze.

Der Erzbischof von Canterbury:
 Bin ich besser als eine gute Straße?

Claudius:
 Wenn nicht, kehren wir zur Beleidigung Claudios zurück.

[Verlassen Sie den Erzbischof von Canterbury]

[Claudio kommt herein]

Claudius:
 Öffne dein Herz!
 Öffne dein Herz!
[Exeunt]

Originalausgabe

11324620811132462081

Ausgabe geändert

11

9
Wirklich wunderbar. Diese Geschichte brachte mir Tränen in die Augen.
Alex Van Liew

6
@AlexVanLiew Ich habe sehr lange gebraucht, um zu schreiben. Es ist mein Meisterstück!
AboveFire


Sehr nette Antwort
stolzer Haskeller

24

J, 76 Bytes (sicher)

Code

,:|.,.<,:>><|.,:>,.<|.>,:<<|.>|.,:,.<,.<,:,.<,:>|.<,:>,.|.<,:,.|.<<,:>126$a.

Originalausgabe

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│
││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐││
│││┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│││
││││┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐││││
│││││     ┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}│││││
││││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││││
│││└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│││
││└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘││
│└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘│
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Ausgabe geändert

┌──────────────────────┐
│┌────────────────────┐│
││┌──────────────────┐││
│││┌────────────────┐│││
││││┌──────────────┐││││
│││││┌───────────┬┐│││││
││││││0 0 0 0 0 0│││││││
│││││└───────────┴┘│││││
││││└──────────────┘││││
│││└────────────────┘│││
││└──────────────────┘││
│└────────────────────┘│
└──────────────────────┘

EDIT: Lösung {:hinzugefügt (angezeigt zwischen ###)

,:|.,.<,:>><|.,:>,.<|.>,:<<|.>|.,:,.<,.<,:,.<,###{:###:>|.<,:>,.|.<,:,.|.<<,:>126$a.

Nutzt die Monade {::Karte . Der Rest des Codes ist größtenteils unnützer Müll.


Beachten Sie, dass ich den Code sicherlich um eine lächerliche Menge von Zeichen erweitern könnte, um es schwieriger zu machen, die Stellen zu finden, an denen die beiden Zeichen hinzugefügt / entfernt / geändert werden müssen
Fatalize

Ich denke, es sind 3 Tage vergangen, wenn Sie also die Antwort posten, sind Sie in Sicherheit.
isaacg

@isaacg Richtig, die Antwort wurde bearbeitet
Fatalize

12

Geknackt

Rubin, 14

Code

x=9;puts x*9*9

Originalausgabe

729

Ausgabe geändert

99999999999999999

4
Das sieht so unschuldig aus. Ich habe es versucht und ich habe es versucht, aber ich weiß nicht, woher ich die 17 bekomme ...
Dennis

1
Ich dachte, es wäre 18.9, also wollte ich so etwas wie '99'*2. wc, Du hast mich betrogen!
Alex Van Liew

@AlexVanLiew 18 wäre einfach. Beschuldige deine Shell, einen Zeilenvorschub angehängt zu haben.
Dennis

@Dennis Wie würdest du es mit 18 machen? Ich konnte es nicht herausfinden (aber ich kenne Ruby auch nicht).
Alex Van Liew


12

Geknackt

Bash, 15 Bytes

echo {{{1..9}}}

Originalausgabe

{{1}} {{2}} {{3}} {{4}} {{5}} {{6}} {{7}} {{8}} {{9}}

Geänderte Ausgabe

1 2 3 4 5 6 7 8 9


2
Gut gemacht. Das dauerte länger als ich dachte.
Dennis

10

Geknackt

Prolog, 10 Bytes

Code

X is 1/42.

Originalausgabe

X = 0.023809523809523808.

Ausgabe geändert

X = -2.


2
Aus irgendeinem Grund übersehen ich völlig die Tatsache , dass dies auch so gelöst werden kann: X is 1//4-2., die viel leichter zu sehen , als meine ursprüngliche Lösung, die @ SP3000 geknackt ...
Fatalize

10

Geknackt

Python 2, 43 Bytes

Code

print (sum(range(054321)*9876)*87654)/01234

Originalausgabe

334960491355406

Ausgabe geändert

222084148077792

Die Levenshtein Entfernung beträgt genau 15. Sowohl das Original als auch das Geänderte laufen auf meinem Computer unter 1 Minute.


1
Ich habe Ihren Beitrag bearbeitet, um zu berücksichtigen, dass es sich aufgrund der fehlenden Klammern für printund der Multiplikation rangemit einer Ganzzahl um eine Python 2-spezifische Übermittlung handelt. Allerdings scheine ich MemoryErrors von der großen Liste zu bekommen ...
Sp3000

1
Da dies kein Code-Golf ist, können Sie die Speicherauslastung verringern, indem Sie xrangestattdessen verwenden, rangeund ich glaube, dass itertoolses einen Generator-Builder gibt, der eine Sequenz so xoft wiederholt .
Alex Van Liew

1
@AlexVanLiew Aber die Wertung ist in gewisser Weise Code-Golf, am kürzesten ungerissen. Trotzdem gibt es unnötig Platz und ein Paar Parens ... oder sind sie notwendig? ;)
Sp3000

2
IMO diese Antwort scheint irgendwie nicht interessant zu sein, wenn dies nur auf der Änderung der beteiligten Zahlen beruht (wir wissen nicht, ob dies der Fall ist), weil Sie in diesem Fall wahrscheinlich kürzer machen können und der einzige Weg, wie es jemals geknackt wird, einfach ist durch rohe Gewalt, nicht durch Klugheit.
Fatalize

3
Geknackt Das hat Spaß gemacht!
isaacg

8

Geknackt

BrainFuck, 504 Bytes

Niemand sollte jemals einen Brainfuck-Code analysieren müssen. Dies ist eine modifizierte Version eines früheren Codes, aber jede Änderung an einem Brainfuck-Code hat einen großen Einfluss auf die Ausgabe. Ich benutze den Interpreter unter http://esoteric.sange.fi/brainfuck/impl/interp/i.html , um meinen Code zu testen. Viel Glück !

Code

++++++++++[->++++++++<]>>++++++[-<---------->]<-------[----------->>>-<<+<[-->->+<<]]>>>+<<>>>+++[->++++++++++<]>++.<+++++++++[->>>>>>>++++++++++<+++++<++++++++++++++<++++++++++<+++++<++++++++++<<]++++++++++>>+++++...>++>++>-->+>++++<<<<<<<.<<<[->>>>>>.<<>>>>>.<<<<<.>>>>>.<<<<<>>>.<<<<.>>>>>.<<<<.>>>>>.<<<<<.>>>>.<<<<<.>>>>.<<...>.<<<<<<]>[->>>>>.<<...>>>.<<<<.>>>>>.<<<<...>>>>.<<<<<.>>>>.<<...>.<<<<<]>[->>>>.<<>>>>>>.<<<<<<..>>>.<<<<.>>>>>.<<<<>>>>>>.<<<<<<.>>>>>>.<<<<<<>>>>.<<<<<.>>>>.<<...>.<<<<]

Originalausgabe

 ___
/   \
|   |
\___/

Ausgabe geändert

}}}\}}}|.}}}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\\}}|.}.|///\

Hinweis: Die geänderte Ausgabe enthält mehrere STX- (ASCII 2) und EOT- (ASCII 4) Zeichen

Hier ist die Version mit ASCII-Codes in Klammern anstelle von nicht druckbaren Zeichen:

(2)}}}(2)\}}}|(2).}}}.(2)|///\\(4)}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|/(4)/\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\\(4)}}|(2).(4)}(4).(2)|///\

3
Du bist böse. Aber ich werde es finden!
RedPanda

@ RedPanda Mein Code hat eine Struktur. Zumindest ist es nicht zufällig! Viel Glück!
AboveFire

Sind in der Ausgabe nicht druckbare Elemente enthalten?
stolzer Haskeller

@ proudhaskeller Ja, tut mir leid, ich bearbeite den Beitrag, es gibt eine Reihe von Zeichen STX (ASCII 2) und EOT (ASCII 4)
AboveFire


8

geknackt

Wolfram Language (Mathematica oder WolframAlpha), 3 Bytes

Code

8.!

Originalausgabe

40320.

Ausgabe geändert

2.67182 - 0.891969 I

Für diejenigen, die es auf WolframAlpha ausprobieren, wird das Ergebnis als angezeigt

Mathematica-Grafiken

Ich habe meine vorherige Antwort gelöscht, da sie nur in Mathematica und nicht in WolframAlpha funktioniert hat . Das brachte Räuber hinter eine Paywall (anstelle der verdienten Bars), was nicht fair war.



@abligh Schön! :)
Dr. belisarius

1
Was war die Antwort des anderen? Ich bin sehr neugierig.
Brain Guider

7

Geknackt

MATLAB / OCTAVE, 7 Bytes

Code:

cos(pi)

Originalausgabe:

ans =

     -1

Geänderte Ausgabe:

ans =

   1.5708 - 0.8814i

Dies ergibt einen Levenshtein-Abstand von genau 15.



3
Der große Tipp für mich war zu bemerken, dass der Realteil Ihrer veränderten Ausgabe pi / 2 ist. Von dort aus war es nicht schwer, die Lösung zu erraten.
David Zhang

7

Geknackt

Jam, 8 Zeichen

Code

"~f":i:#

Originalausgabe

17290024234092933295664461412112060373713158853249678427974319674060504032816100667656743434803884485234668769970047274563123327020396104330878852891146011372048615474145637592955298601510765168228550988848615653376

Ausgabe geändert

Die Ausgabe nach Änderung erfolgt hier . Beides dauert auf meinem 2-GHz-Laptop weniger als eine Minute.

Erläuterung

Die Leute scheinen erstaunt zu sein, wie das funktioniert. Der Code funktioniert so:

"~f"       Push a string
    :i     Convert to a list of bytes [126 102]
      :#   Fold with # (power)

Dies berechnet 126 ^ 102. Die Lösung war:

"}\t~f"
       :i     Convert to a list of bytes [125 9 126 102]
         :#   Fold with # (power)

Dies berechnet ((125 ^ 9) ^ 126) ^ 102, was Hunderttausenden von Ziffern entspricht.


6
Das ist kriminell.
Alex Van Liew

Was zum ... Ich möchte wirklich wissen, wie das funktioniert! ;)
Beta Decay


@BetaDecay Ich könnte erklären, wie das Original funktioniert, aber nicht Dennis 'Version. Ich frage mich, wie Mauris es gemeint hat, gelöst zu werden ...
Alex Van Liew

Heilige Bananen! WTF!
Brain Guider

7

Geknackt

Pyth, 8 Bytes

Code:

%CG^3y21

Ausgangsleistung:

51230235128920219893

Geänderte Ausgabe:

58227066

1
Die geänderte Ausgabe ist gleich CG mod (2^21 * 28). Ich kenne Pyth nicht, also kann ich nicht sehen, wie ich das ändern kann (3 ^ (2 * 21))...
Lynn

1
Auch CGgleich sum(256**n * (122-n) for n in range(26)).
Lynn

1
Die geänderte Ausgabe ist auch gleich CG mod (2^21 * 28 * 2*n), wo 1 <= n <= 4, sowie für n=6und n=12. Außerdem CGwird nur das Kleinbuchstaben als Basis-256-Zahl interpretiert. Ich frage mich, ob es ein anderes Modulo mit Basis 3 gibt.
Alex Van Liew

%CG^2 26oder %CG^4y13, aber beide haben einen Abstand von 3 ...
Jakube


6

Geknackt

Python 2, 58 Bytes

Code

R=range(01234);print sum(m<<min(m,n)for m in R for n in R)

Originalausgabe

2444542772018013876036977350299418162656593659528311114655474359757543862791958572561591492595632222632192542272836836649846934427359810217936317967768095940470375690509652583392001888886352103127515963142

Ausgabe geändert

4669

Diese 15-Distanz-Regel machte die Sache sicher schwierig. Ich hoffe das geht gut.


Die Tatsache, dass 4669 = 667 * 7 und das letzte Element von range (01234) 667 ist, ist mir verdächtig ...
Fatalize

Wenn Sie [m<<min(m,n)for m in R for n in R]im Interpreter ausdrucken , erhalten Sie einige wirklich gruselige, rauschähnliche Muster.
Alex Van Liew


6

Geknackt

Python 2, 50 Bytes

Ursprünglicher Code:

'~'*sum([(x,y)[x%2]for x in[y for y in range(8)]])

Originalausgabe:

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

Geänderte Ausgabe:

'~~~~~~~~~~~~~~~~~~~'

Nicht allzu kurz und vielleicht auch nicht zu hart, ich weiß es nicht wirklich. Ich werde versuchen, bald etwas Besseres zu finden.


Sind das 40 Tilden und dann 19 Tilden? Und ich nehme an, das läuft im Interpreter?
Alex Van Liew


2
Eine Zusammenfassung dessen, was ich bisher gefunden habe: Keine Kombination aus Ersetzen xdurch y, ydurch xoder Ändern der Ziffer im rangeErgebnis in 19 Tilden. Ich experimentierte auch mit dem Einfügen von -entweder vorher xoder ymit dem Ändern %zu einem + - / *ohne Erfolg. Ich bin mir ziemlich sicher, dass 1 oder 2 Beilagen erforderlich sind.
mbomb007

1
Okay, mein erster Link knackt es jetzt richtig.
Alex Van Liew

2
Ich fügte eine kleine Erklärung hinzu, ich finde diese wirklich klug. Ich weiß nicht, dass ich jemals ein Set-Verständnis gesehen habe, und es ywar auch eine nette Geste, sich darauf zu verlassen, dass Python in das umschließende Oszilloskop eindringt.
Alex Van Liew

6

Geknackt

PHP, 164 Bytes

Code

$S_U_M_M_E_R = 1;
$A_U_T_U_M_N = 2;
$T_I_M_E = 1;

if ($T_I_M_E == $S_U_M_M_E_R) {
    $A_C_=$T_I_=$O_N= 'SWIM' ? 'TAN' : 'DRINK';
}

print $T_I_M_E * $A_U_T_U_M_N;

Originalausgabe

2

Ausgabe geändert

-1.1306063769532


Gut gemacht! Ich hätte nicht gedacht, dass es so einfach ist, geknackt zu werden.
Razvan,

6

GolfScript, 15 Bytes (sicher)

Code

10,{1+3?}%{*}*]

Code geändert

107,{1+3?}%{^}*]

Originalausgabe

47784725839872000000

Ausgabe geändert

557154

Erklärungen:

10,             # numbers from 0 to 10
   {1+3?}%      # add one and raise to the cube. (%=for each)
          {*}*] # take the product and place it in a list(useless)`

Code geändert

107,             # numbers from 0 to 107
    {1+3?}%      # add one and raise to the cube. (%=for each)
           {^}*] # xor them and place it in a list(useless)

Ich glaube, dass dies jetzt sicher ist. Wenn Sie also Ihren Beitrag bearbeiten möchten
Beta Decay

@BetaDecay bin ich!
Baconaro,

5

Geknackt

APL , 7 Bytes

Code

-/3⍴157

Originalausgabe

157

Ausgabe geändert

0.11479360684269167J0.37526348448410907

Ist das Jein Beweis dafür, dass es sich um eine komplexe Zahl handelt?
mbomb007

@ mbomb007 Ja, aJbbezieht sich auf die komplexe Zahl a + bi.
Dennis


4

Geknackt

C 53 Bytes

Code

main(a,_){puts(_*_*_*_*_-1?"Expected Output":"?");}

Originalausgabe

Expected Output

Ausgabe geändert

?

Wahrscheinlich zu einfach, aber wer weiß. (Hinweis: Es ist technisch systemabhängig, aber die Art des Systems, auf dem es fehlschlägt, würde auch alle anderen Einreichungen hier fehlschlagen. Ich dachte, es ist ein strittiger Punkt.)

Geknackt

Bearbeiten

Ich machte einen Fehler. Neuer Code, der vor offensichtlichen Angriffen sicherer ist:

main(a,_){puts(_*_-1||_*_*_-1||_*_*_*_-1?"Expected Output":"?");}

gleiche Ausgänge. Neue Größe von 65 Bytes. Hoffentlich schwieriger ... obwohl es wahrscheinlich immer noch zu einfach ist.




2
(Randnotiz - dies sollte wahrscheinlich zwei Antworten gewesen sein)
Sp3000

@ Sp3000 Du magst Recht haben, obwohl das Ziel des Originals darin bestand, die gleiche Lösung zu finden, habe ich mich nur zu sehr auf das Problem der ungeraden Zählung konzentriert (bei der du die mittlere in ein / verwandeln kannst) und die nicht berücksichtigt einfacher * 0 ändern.
LambdaBeta

4

Durch issacg geknackt

MATLAB, 20 Bytes

Code

format long
sin(i^pi)

Originalausgabe

0.331393418243797 - 1.109981778186163i

Ausgabe geändert

0.220584040749698 - 0.975367972083631i

Ich habe einige Ideen im Octave-Interpreter online ausprobiert. Immer noch nichts. Ich habe versucht , Dinge wie mit sinh, asin, tan, pi^i, etc ...
mbomb007

@ mbomb007 - Ich bin auch hier ratlos ... und insgesamt auf Rang 5 bei StackOverflow in MATLAB!
rayryeng - Wiedereinsetzung von Monica



4

CJam, 28 Bytes (sicher)

"jK=\~"5*)ib257b~{G$5$+}*]Jb

Probieren Sie es online aus .

Originalausgabe

7705397905065379035618588652533563996660018265606606763127193120855297133322151462150247488267491212817218321670720380456985476811737021068519164822984561148339610474891720342171053455881107227302663880445203851079295537592154028123394687360216561235621729967011148112746984677807932995700334185726563970223018774

Geänderte Ausgabe

16650180159137697345989048346412185774444335111603430666402604460993564226370500963166158223117360250140073061887053326627468495236957122711656527124216908303912850181595147494475577084810653496778801228980874902968634143062

Lösung

"jK=\~"5*Wcib257b~{G$5$+}*]Jb

Probieren Sie es online aus.

Wie es funktioniert

Ich bin ein wenig über Bord gegangen mit diesem ...

Der ursprüngliche Code führt Folgendes aus:

"jK=\~"5* e# Push "jK=\~jK=\~jK=\~jK=\~jK=\~".
)i        e# Pop the last character and cast it to integer.
b257b     e# Convert the remainder of the string from that base to base 257.
~         e# Dump all resulting base-257 digits on the stack:
          e# 137 72 124 88 81 145 85 32 28 251 118 230 53 13 245 147 256 116 187 22 224
{         e# Do the following 224 times:
  G$5$+   e#   Add copies of the 5th and 17th topmost integers on the stack
          e#   (recurrence of a lagged Fibonacci sequence).
}*        e#
]         e# Wrap the entire stack in an array.
Jb        e# Convert from base 19 to integer.
          e# The resulting integer is printed implicitly.

Die beabsichtigte Änderung ersetzt (imit Wci.

Dadurch bleibt die wiederholte Zeichenfolge unangetastet und wird 65535 verschoben (durch Umwandeln in ein 16-Bit-Zeichen ohne Vorzeichen und dann zurück in eine Ganzzahl), sodass die ersten Elemente der verzögerten Fibonacci-Sequenz erhalten werden

87 225 162 210 73 196 142 219 175 61 40 147 0 93 75 55 103 116 237 188 108 122 176 133 135 240 251 155 224 82 181 75 23 87 139 49 148 169 84 109 110 166 52 103 83 185 78 73

und die Schleife wird 126 mal wiederholt .


Das ist jetzt sicher, nicht wahr?
Betazerfall

@BetaDecay Ich habe in beiden CJam-Antworten so ziemlich den gleichen Trick verwendet, also musste ich warten, um beide Lösungen gleichzeitig zu veröffentlichen. Es ist jetzt sicher.
Dennis

Nachdem ich herausgefunden hatte, was das ist, stellte ich fest, dass es so viele Dinge gibt, die man optimieren kann, dass ich nicht einmal die Mühe habe, diese zu brachialisieren ... nette Arbeit :)
Sp3000

4

Javascript, 47 (sicher)

Code

for(var i=64460,x=773;i>=1324;)x=i--/x;alert(x)

Originalausgabe

11.948938595656971

Ausgabe geändert

3.679331284911481

Die Entfernung beträgt genau 15.

Getestet in Chrome und IE.

Lösung

for(var i=64460,x=773;i>>=1<324;)x=i--/x;alert(x)

Dies verwendet den Bitzuweisungsoperator i>>=1, um das Schleifenintervall nichtlinear zu machen. Auch dies hat die amüsante Eigenschaft, dass jemand, der versucht, eine Lösung zu erzwingen, auf mehrere Varianten stößt, die unendlich laufen.


3

Geknackt

Fantom , 26

Code

Float.makeBits(1123581321)

Originalausgabe

5.55122931E-315

Ausgabe geändert

124.24518585205078

Sicherheit durch Dunkelheit: Wenn niemand die Sprache kennt, kann niemand sie knacken. Levenshtein Abstand von 15. Führen Sie es in fansh.


Ich denke, ich muss Fantom lernen ...
AboveFire


3

Geknackt

CJam, 6 Zeichen

25mse7

Originalausgabe

-1323517.5009777304

Ausgabe geändert

72004899337.38588

Das könnte zu einfach sein. : P


Geknackt? Die Ausgabe ist in meinem Browser etwas anders (und beim Java-Interpreter völlig anders).
Dennis

@Dennis Nicht ganz sicher warum, aber die Änderungen sind korrekt.
The_Basset_Hound

3

Geknackt

Java, 149 Zeichen

class T{public static void main(String[]a){System.out.print(((Integer.MAX_VALUE^25214903917L)&281474976710655L)*25214903917L+11L&281474976710655L);}}

Originalausgabe

174542852132661

Geänderte Ausgabe

106906909674100

Hinweis:

Random.java



3

Brainfuck, 100 Bytes

Code

++++++++++++++++++++++++++>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<[>.+<-]

Originalausgabe

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Ausgabe geändert

[
  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ

Hinweis: Möglicherweise leicht zu knacken. Aber dann ist in Brainfuck nichts einfach.


2
Enthält die Ausgabe nicht druckbare Zeichen?
Sp3000,

Scheint, als wären ein paar davon gefressen worden, aber beim Kopieren und Einfügen sind immer noch viele nicht druckbare Elemente übrig. Ich gehe also davon aus, dass dies der
Fall

@ Sp3000 Er- nein, es sollten keine Unprintables vorhanden sein. Welchen Dolmetscher verwenden Sie?
Kurousagi

Die Methode ist auch nicht mit meiner vergleichbar - versuchen Sie es weiter.
Kurousagi

5
Wenn Sie die tatsächlichen ASCII-Codes der Ausgabe posten können, wäre das fantastisch.
Alex Van Liew

3

geknackt

modernes Perl 5, 70

Code

@array = (qw smiles) x 11;
s/.*// foreach @array;
print "@array\n";

Originalausgabe

Eine einzelne Newline.

Ausgabe geändert

 mile mile mile mile mile mile mile mile mile mile

Die Ausgabe beginnt mit einem Leerzeichen und endet mit einer neuen Zeile.


@AlexVanLiew Beachten Sie, dass vor dem ersten m ein Leerzeichen steht!
Dennis

@ Tennis Oh nein! Ich wusste, dass es nicht so einfach sein konnte.
Alex Van Liew

Ich bin nicht sicher, aber ich glaube, ich habe es ...
Dom Hastings

@DomHastings Ja! Gut gelöst Wenn jemand Ihre Lösung kommentiert, kann das zusätzliche Zeichen überall ein zusätzliches Leerzeichen sein. Ich habe "modernes" Perl 5 gesagt, weil es eacherst seit einer bestimmten Version für ein Array gilt.
msh210

2
Wenn er es nicht geknackt hätte, hättest du dann gesagt "um eine Meile verpasst"? : D
mbomb007


3

Perl, 12 Bytes

geknackt

Code

print sin 97

Originalausgabe

0.379607739027522

Gewünschte Ausgabe

-0.64618863474386

1
Ich kann bestätigen, dass dies mit ziemlicher Sicherheit nicht der Fall print sin xxist print sin xx97, oder print sin 97xxwo xxzwei Zahlen stehen.
Alex Van Liew


@ DomHastings in der Tat - gut gemacht. Aus Interesse, wie hast du das gemacht?
abligh

3
Nach der Lektüre @ AlexVanLiew Kommentar testete ich ähnliche Zahlen 9.?7, 9.7?usw., aber klar , dass es ein Operator sein mußte. Ich habe alles versucht, was mir in Ausschnitten einfiel, als hätte ich perl -e 'print map{sin((+"9${_}")x7).$/}1..9'irgendwann die richtige Kombination!
Dom Hastings

@DomHastings verspätet +1 für deinen Riss dann.
abligh

3

Geknackt

SWI-Prolog, 54 Bytes

Code

assert(d(E,F):-(print(E),print(F))). d(123456,123456).

Originalausgabe

true.

123456123456
true.

Ausgabe geändert

true.

false.

Ich habe neulich versucht, einen SWI-Prolog-Dolmetscher zum Laufen zu bringen, konnte es aber nicht. Wenn Sie die Eund Fin den printAnweisungen entfernen , erhalten Sie, was Sie wollen?
Alex Van Liew

@ AlexVanLiew Ich bekomme Syntaxfehler daraus
Sp3000

@AlexVanLiew Incorrect
Fatalize

Ah, gut. Einen Versuch wert.
Alex Van Liew

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.