Zwei macht den Unterschied - Räuber

29

Für die Hauptherausforderung der Polizei klicken Sie hier

HINWEIS - Diese Herausforderung ist jetzt geschlossen. Alle Risse, die jetzt veröffentlicht werden, werden nicht in der Rangliste gezählt und die akzeptierte Antwort wird nicht geändert.

Herausforderung

Anhand des ursprünglichen Programms, seiner Ausgabe und der Ausgabe des geänderten Programms müssen Sie herausfinden, welche Zeichen geändert, entfernt oder hinzugefügt werden müssen, um die erwartete Ausgabe zu erhalten.

Wenn Sie den Code einer Person knacken, hinterlassen Sie einen Kommentar mit einem Link zu Ihrer Antwort.

Formatierung

# [<language>, <username of program owner>](<link to answer>)

## Description

<description of change and how you found it>

## Code

<changed code>

Gewinnen

Die Person, die die meisten Lösungen geknackt hat, gewinnt.

Bestenliste

13 Risse:

  • Dennis

8 Risse:

  • Alex Van Liew

5 Risse:

  • Sp3000
  • isaacg

3 Risse:

  • Luis Mendo
  • jimmy23013
  • Dom Hastings

2 Risse:

  • mbomb007
  • Sluck49

1 Riss:

  • Die Nummer eins
  • Jakube
  • ProudHaskeller
  • David Zhang
  • Samgak
  • paul.oderso
  • rayryeng
  • mgibsonbr
  • n̴̖̋h̴̖̋ã̷͉h̷̭̿d̷̰̀ĥ̷̳
  • Stewie Griffin
  • abligh
Beta-Zerfall
quelle
1
@ mbomb007 Kannst du es unterlassen, diesen Beitrag zu bearbeiten, weil es mir schwerer fällt zu wissen, wo ich bin, wenn ich die Bestenliste aktualisiere
Beta Decay

Antworten:

10

CJam, von Mauris

Beschreibung

Mauris 'ursprünglicher Code macht folgendes:

"f~"     e# Push that string on the stack.
    :i   e# Cast each to integer. Pushes [102 126].
      :# e# Reduce by exponentiation. Pushes 102^126.

Kein anderer mathematischer Operator von CJam würde für kleine Eingaben eine so große Zahl ergeben, dass er :#nicht geändert werden kann. Da #für die Potenzierung nur Ganzzahlen als Eingabe verwendet werden, :ikönnen diese nicht ebenfalls entfernt werden. Dadurch bleibt nur eine Stelle zum Ändern der Eingabe: die Zeichenfolge "f~".

Egal wie viele Zeichen die Zeichenfolge enthält, das Ergebnis ist ein linksassoziativer Power Tower. CJam unterstützt Zeichen im Bereich von 0 bis 65535 (mit Ausnahme von Surrogaten), daher müssen wir die Ausgabe als b n × k × j ausdrücken , wobei b , n , k und j ganze Zahlen in diesem Bereich sind.

Der Dezimallogarithmus der Ganzzahl, der sich aus dem geänderten Code ergibt, ist geringfügig kleiner als log 10 (2,44 × 10 242545 ) = log 10 (2,44) + 242545 , daher können wir diesen Wert durch die Logarithmen aller möglichen Basen dividieren, um die richtigen Werte zu finden für n × k × j .

Eigentlich:

$ cjam <(echo '65536,2>{2.44AmL242545+1$AmL/i:I#s8<"24399707"=}=SIN')
5 347004

Der Vergleich der ersten 8 Stellen hat sich als ausreichend herausgestellt.

Dies bedeutet , dass wir die Ausgabe als exprimieren können 5 347.004 = 15625 57.834 = 125 9 × 102 × 126 , so dass es genügt , zu ersetzen , "f~"mit "㴉"oder"} f~" .

Code

"㴉":i:#

oder

"}  f~":i:#

Beachten Sie, dass die Leerzeichen im ASCII-Code eigentlich ein Tabulator sein sollten.

Der Versuch, diesen Code im Online-Interpreter auszuführen, ist wahrscheinlich eine schlechte Idee. Sie können die Ergebnisse jedoch folgendermaßen über die Befehlszeile überprüfen:

$ wget -q https://bpaste.net/raw/f449928d9870
$ cjam <(echo '[15625 57834]:c`":i:#") > mauris.cjam
$ cat mauris.cjam; echo
"㴉":i:#
$ cjam mauris.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical
$ echo -en '"}\tf~":i:#' > mauris-ascii.cjam
$ cat mauris.cjam; echo
"}  f~":i:#
$ cjam mauris-ascii.cjam | diff -s - f449928d9870
Files - and f449928d9870 are identical
Dennis
quelle
11
In CJam
Fatalize
Wie haben Sie herausgefunden, welche Nummern Sie verwenden sollen?
Alex Van Liew
@AlexVanLiew Brute Force. Ich schreibe gerade eine Erklärung. Ich wollte nur den Riss veröffentlichen, bevor es jemand anderes tat.
Dennis
@ Tennis: Fair genug. Ich habe es versucht, aber ich kenne CJam nicht. Ich dachte mir die beabsichtigte Lösung aus, die tatsächlich ~firgendwo im Programm verwendet wird.
Alex Van Liew
1
@ Mauris Die Frage besagt, wann nur zwei Zeichen im Programm geändert werden (Hervorhebung von mir), also nahm ich an, dass dies in Ordnung war. Wie auch immer, die Zahl zu faktorisieren war der schwierige Teil.
Dennis
15

Rubin, Histokrat

Beschreibung

X wurde durch Hinzufügen zu einem Array anstelle von skalar geändert *

Der letzte wurde 9durch Hinzufügen zu einer Zeichenfolge anstelle einer Zahl geändert?

Das Ergebnis besteht aus einem Array mit einem einzelnen Element ( [9]), das neunmal multipliziert und dann "9"als Trennzeichen implodiert wird .

Code

x=*9;puts x*9*?9
Razvan
quelle
12

Python 2, Schlammfisch

Beschreibung

Durch Prüfungen und Schwierigkeiten, bei denen große Zahlen faktorisiert und nach Folgefaktoren gesucht wurden, wurde mir klar, dass ein Wechsel von 87654 zu 58116 ausreichen würde. Dann habe ich 58116 als 87 * 668 faktorisiert. Dann erkannte ich, dass 01234 = 668, so dass ich nur 87654 auf 87 ändern und die 01234 vollständig entfernen musste. Dies geschieht mit einem Kommentar.

Code

print (sum(range(054321)*9876)*87)#654)/01234
isaacg
quelle
Ja, fast genau so, wie ich es hatte (meins war print sum(range(054321)*9876)*87#654)/01234)
Blau
Clever schlau! Ich bin froh, dass es jemand bekommen hat und dass es interessanter war als "mit Zahlen spielen"!
Alex Van Liew
11

Shakespeare, über Feuer

In Szene III muss man Claudius in folgendem Ausschnitt in Claudio umwandeln:

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

Geänderter Code:

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudio:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!
[Exeunt]

Bei Verwendung des durch @AboveFire verknüpften Compilers wird dies gedruckt 11.

Plannapus
quelle
2
Können Sie bitte klarstellen, welche Zeichen geändert wurden? Es ist nicht gerade einfach zu sehen, wie man hin und her schaut.
mbomb007
Verdammt, 15 Minuten zu spät. Herzliche Glückwünsche.
Sumyrda - Wiedereinsetzung von Monica
2
Jeebus H. Christ. Gute Arbeit!
rayryeng - Wiedereinsetzung von Monica
1
@ mbomb007 Ich hoffe meine Bearbeitung hat es klarer gemacht. AboveFire: Entschuldigung :)
Plannapus
3
@plannapus Haha, es ist okay, aber der beabsichtigte Weg, es zu klären, bestand darin, das Wort "König" durch "Schwein" zu ersetzen. Mit dieser Änderung war Helena gleich 0 und "die Summe von dir und dem Produkt des Produkts von mir und Helen und Helena "war gleich 1. Ich hatte eine Liste aller Wörter erstellt, die mit zwei Buchstaben invertiert werden konnten, und viele davon in meinem Code verwendet (z. B .: Freude-> Schwein-> Sohn, Kriegs-> Katze, road-> toad, Hero-> Hell, curse-> purse, helen-> helena, claudio-> claudius und viele andere) Das einzige, was ein Shakespeare-Programm mit 2 char ändern kann, ist die Änderung einer Variablen, die Änderung von ein Nomen und die Änderung eines goto.
AboveFire
10

Prolog, Fatalize

Beschreibung

Addiere zwei \s. \ist bitweise Negation und \/ist bitweise oder.

Code

X is \1\/42.
Sp3000
quelle
Richtige Lösung
Fatalize
7

C, LambdaBeta

Beschreibung

Biegen Sie main(a,_)in main(_). Das erste Argument von main ist argcdas, das als initialisiert wird1 .

Code

main(_){puts(_*_-1||_*_*_-1||_*_*_*_-1?"Expected Output":"?");}
Die Nummer eins
quelle
Das ist die Lösung, die ich mir vorgestellt hatte. Schöner Fang. Im Übrigen funktioniert dies nicht, wenn das Argument zufällig in die Speicherzelle 1 geladen wird. Ich kann mir einfach kein System vorstellen, mit dem die verschiedenen interpretierten Sprachen auf dieser Seite ausgeführt werden können.
LambdaBeta
6

Python 2, rp.belrann

Ändern Sie das äußerste Listenverständnis in ein Mengenverständnis. Teilweise Dank an @ mbomb007, der alle "langweiligen" Lösungen beseitigt hat (Tauschen xund yHerumtauschen, Ändern der Reichweite, Ändern der Operatoren).

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

Erläuterung:

[(x,y)[x%2]for x in[y for y in range(8)]]Generiert im Original die folgende Liste:

[0, 7, 2, 7, 4, 7, 6, 7]

Dies liegt daran , in Python 2.7, die yin den inneren Liste Verständnis Lecks es der letzten bekannten Wert in den umschließenden Umfang an (die, am Ende eines Bereichs, 7). Also ist im Tupel yimmer 7. xDurchläuft die Liste jedoch wie gewohnt und reicht von 0 bis 7. Wenn xgerade, wählt es den Wert von x, wenn es ungerade ist, wählt es y(was immer 7 ist). Ich bemerkte, dass ich, wenn ich genau eine 7 und den Rest der Werte von einbezog, x19 bekam; dann wurde mir klar, dass ich das äußere Verständnis in ein Mengenverständnis umwandeln könnte, das alle doppelten Werte eliminieren und mir genau 19 zurücklassen würde.

Das war ziemlich clever, ich glaube, ich habe noch nie zuvor ein Set-Verständnis verwendet. Ein dickes Lob.

Alex Van Liew
quelle
Nee. Das ist es nicht. print len('~'*sum([(x,y)[x%2]for x in[y for y in range(6)]]))kehrt zurück 21. Weisen Sie den Code einfach einer Variablen zu und drucken Sie ihn, wenn er der gewünschten Zeichenfolge entspricht. Wenn Sie sehen True, haben Sie es geknackt.
mbomb007
Bizarr. _Ich glaube, er hat mich betrogen.
Alex Van Liew
@ mbomb007 Ich habe es verstanden.
Alex Van Liew
Du hast mich. Gut gemacht.
rp.beltran
6

Jonas, Matlab / Octave

Beschreibung

Ich bemerkte, dass die Antwort war i^pi, also musste ich mich sinin ein Nein verwandeln .

Code

0i+(i^pi)

s-> 0, n->+

isaacg
quelle
Gut gemacht, Sir.
Rayryeng - Wiedereinsetzung von Monica
Sehr gut gemacht!!
Luis Mendo
5

Bash, Dennis

Originalcode:

echo {{{1..9}}}

Originalausgabe:

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

Geänderter Code:

echo {,{1..9},}

Geänderte Ausgabe:

1 2 3 4 5 6 7 8 9

Erläuterung:

In Bash können Sie eine durch Kommas getrennte Liste von Elementen in geschweiften Klammern wie folgt ausgeben:

echo {a,b,c}

druckt

a b c

Der geänderte Code gibt also eine Liste mit nichts aus, die Zahlen 1..9, nichts.

Samgak
quelle
5

MATLAB, Luis Mendo

Originalcode:

-sin(2:.5:3)    
ans =    
   -0.9093   -0.5985   -0.1411

Neue Antwort:

psi(2:.5:3)
ans =
    0.4228    0.7032    0.9228

Beschreibung:

Geändert -sinin psi, die Polygammafunktion in MATLAB. Das -Zeichen wird durch ersetzt pund das nentfernt.

Stewie Griffin
quelle
4

C, LambdaBeta

Beschreibung

Ändern Sie -1in, *0so dass das Ergebnis der Multiplikation ist0 (ein falscher Wert) ist.

Code

main(a,_){puts(_*_*_*_*_*0?"Expected Output":"?");}
Jakube
quelle
Hoppla, es sieht so aus, als hätte ich beim Golfen eine (Sicherheitslücke?) Eingeführt. Ich werde müßig darüber nachdenken, um zu sehen, ob ich es reparieren kann. Netter Fang.
LambdaBeta
4

Brainfuck, Kurousagi

Beschreibung

Entfernen Sie die erste >und ändern Sie die erste <in.

Getestet bei brainfuck.tk . Beachten Sie, dass die Ausgabe nicht genau mit Kurousagis Beitrag übereinstimmt , da SE nicht druckbare Zeichen aufnimmt.

Code

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[>.+<-]
Sp3000
quelle
@muddyfish Ich habe diese Antwort in meinem zweiten Kommentar verlinkt, warte aber immer noch auf die Bestätigung von Kurousagi
Sp3000,
4

Fantom, Kain

Sicherheit durch Unbekanntheit ist eine sehr schlechte Form der Sicherheit (insbesondere wenn die beiden Methoden in den Fantom-Dokumenten direkt nebeneinander stehen und jeder, der weiß, wie ein Float aussieht, sofort weiß, was zu tun ist).

Float.makeBits32(1123581321)
Alex Van Liew
quelle
1
Du hast mich um 1 Minute geschafft !!! gut gespielt
AboveFire
1
Haha du hast mich, genieße den freien Riss
Cain
@Cain War das absichtlich oo
The_Basset_Hound
1
@BassetHound Ich meine, es war eher ein soziales Experiment, um zu sehen, ob sich die Leute die Mühe machen würden, eine dunkle Sprache für den Riss zu lernen. Ich hätte es mir allerdings schwerer machen sollen, konkrete Arbeit anzunehmen.
Cain,
4

CJam, von Basset Hound

25me

Berechnet e 25 . Probieren Sie es online aus.

Der Online-Dolmetscher führt in meinem Browser zu einem etwas anderen Ergebnis, was ein Rundungsproblem zu sein scheint.

Der Java-Interpreter druckt 7.200489933738588E10die gewünschte Ausgabe, jedoch in einem anderen Format.

Dennis
quelle
Hehe, es war leicht. Besonders für einen CJam-Gott. Richtig.
The_Basset_Hound
4

Python 2, Sp3000

Beschreibung

Geändert 01234zu 0x1234und minzu9in .

Die Tatsache, dass 4669 = (01234-1)*sum(m<<m in R for m in R) irreführend ist.

Code

R=range(0x1234);print sum(m<<9in(m,n)for m in R for n in R)
jimmy23013
quelle
Schön gemacht! Ich hatte m<<m in(m,n), aber die Hauptsache war , die sich ändern minzu in.
Sp3000,
4

MATLAB / Octave, Stewie Griffin

Beschreibung

Dies erforderte das Negieren der Eingabe in die anonyme Funktion gsowie das Ändern des Skalierungsfaktors vong Funktion auf 2 anstelle von 7:

Code

>> f=@(x)x^.7;g=@(x)2/f(x);g(-7)

ans =

  -0.3011 - 0.4144i
rayryeng - Setzen Sie Monica wieder ein
quelle
Vielen Dank für Ihren Kommentar zu meiner (jetzt gelöschten) Antwort. Ich habe ein neues (sehr ähnliches) gepostet, das mit WolframAlpha geknackt werden kann. Ich glaube, es ist fairer.
Dr. Belisarius
4

Perl, hell erleuchtet

Beschreibung

Fügen Sie den Operator für die String-Wiederholung hinzu xund fügen Sie eine weitere Ziffer ein!

Code

print sin 95x7
Dom Hastings
quelle
3

Java, TheNumberOne

Beschreibung

Das Programm ist eine einmalige Implementierung von Random.next()mit einem Anfangsstartwert von Integer.MAX_INTund allen Hexadezimalzahlen, die in Dezimalzahlen konvertiert wurden. Wenn Sie den Startwert in das Komplement von MAX_INTändern, wird die Ausgabe generiert:

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

(da es genau zwei Änderungen geben muss, wählen Sie eine beliebige No-Op-Änderung aus: Hinzufügen eines Leerzeichens, eines zusätzlichen Semikolons usw.)

Alex Van Liew
quelle
1
Schön, du Integer.MAX_VALUEInteger.MAX_VALUE+1Integer.MIN_VALUE
hättest
Oh, weißt du was? Ich habe es versucht, +1aber seit ich es in Python gemacht habe, hat es sich zu einem langen, ahaha. Das war eigentlich mein erster Gedanke.
Alex Van Liew
3

Brainfuck, AboveFire

Bei diesem Programm handelt es sich um eine Änderung dieses Codes, die mir ein Cookie beantwortet. Diese Antwort funktioniert, indem zuerst eine Tabelle mit nützlichen ASCII-Codes von nützlichen Zeichen vorberechnet wird und dann drei bedingte Anweisungen aus drei Schleifen bestehen, die eingegeben werden, indem ein 1in der richtigen Position ist.

Der Anfang, wie ich den Code gebrochen habe, ist, dass das sich wiederholende Muster in der geänderten Ausgabe hauptsächlich das ist, was gedruckt wird, wenn Sie die dritte Schleife mit der Tabelle betreten, die nach links verschoben ist.

++++++++++[->++++++++<]>>++++++[-<---------->]<-------[----------->>>-<<+<[->->+<<]]>>>+<<>>>+++[->++++++++++<]>(<)++ .<+++++++++[->>>>>>>++++++++++<+++++<++++++++++++++<++++++++++<+++++<++++++++++<<]++++++++++>>+++++...>++>++>-->+>(>)++++<<<<<<<.<<<[->>>>>>.<<>>>>>.<<<<<.>>>>>.<<<<<>>>.<<<<.>>>>>.<<<<.>>>>>.<<<<<.>>>>.<<<<<.>>>>.<<...>.<<<<<<]>[->>>>>.<<...>>>.<<<<.>>>>>.<<<<...>>>>.<<<<<.>>>>.<<...>.<<<<<]>[->>>>.<<>>>>>>.<<<<<<..>>>.<<<<.>>>>>.<<<<>>>>>>.<<<<<<.>>>>>>.<<<<<<>>>>.<<<<<.>>>>.<<...>.<<<<]

(die zusätzlichen Zeichen sind mit Klammern markiert)

stolzer haskeller
quelle
3

Python 2, Schlammfisch

Beschreibung

Ändern Sie <<in <>(veraltete Version von !=) und 0x156in 0156, den Codepunkt für "n"(der in der Zeichenfolge der Länge 23 dreimal vorkommt)'<built-in function sum>' ).

Code

print sum((ord(i)<>0156 for i in `sum`))
Sp3000
quelle
3

JavaScript von Razvan

Beschreibung

Die geänderte Ausgabe ist eindeutig Eulers natürliche Nummer, auf die zugegriffen werden kann als Math['E'].

Durch den Wechsel ''zu '3'und 32nach 36wird das String.fromCharCodeerzeugt E.

Code

a=1,b=a*2,c=a+b,d=[a+b];while(c>b)c-=a;for(i=1;i<=c;i++)d.push(i);i='3'+c*d['length']*d['length'];alert(Math[String.fromCharCode(i.charCodeAt(0) * i.charCodeAt(1) / 36)])
Dennis
quelle
Ja das ist richtig. Es war immer noch etwas Tieferes, aber es scheint, dass Sie es mit diesem Trick umgehen könnten. Ich werde an etwas anderes denken und ich werde zurückkommen.
Razvan
3

Fantom, Kain

Beschreibung

Die Array-Indizierung ist bereits eingerichtet, daher muss ich nur eine 55 erstellen. Ehrlich gesagt war der schwierigste Teil das Herunterladen der Sprache.

Code

[7115432d/9,219.or(64),37,55,55][3]

(Komma eingefügt, 0-> 3)

isaacg
quelle
Scheiße, das war nicht die beabsichtigte Lösung, mein roter Hering war eine echte Lösung
Cain
3

Shakespeare, über Feuer

NICHT RICHTIG - sorry :(

Werde es weiter untersuchen, wenn ich von der Arbeit nach Hause komme. Im Original ist Claudios Wert 1132462081 und Claudius 'Wert 1

In der letzten Szene wird Claudios Wert zweimal gedruckt.

[Enter Claudio]

Claudius:
 Open your heart!
 Open your heart!

öffne dein Herz x2 = Druckwert der anderen Person auf der Bühne (Claudio). Wenn Sie also Claudius in Claudio (2 Zeichen) ändern, wird der Wert von Claudius gedruckt. Dies ist 1 - zweimal

The Hidden Change.

Helen, a young woman with a remarkable patience.
Helena, a likewise young woman of remarkable grace.
Claudio, a remarkable man much in dispute with Claudius.
Claudius, the flatterer.
The Archbishop of Canterbury, the useless.


          Act I: Claudius's insults and flattery.

          Scene I: The insulting of Helen.

[Enter Claudius and Helen]

Claudius:
 Thou art as hairy as the sum of a disgusting horrible fatherless 
 dusty old rotten fat-kidneyed cat and a big dirty cursed war.
 Thou art as stupid as the product of thee and a fat smelly 
 half-witted dirty miserable vile weak son.

[Exeunt]

          Scene II: The complimenting of Helena.

[Enter Claudio and Helena]

Claudio:
 Thou art the sunny amazing proud healthy peaceful sweet joy.
 Thou art as amazing as the product of thee and the pretty
 lovely young gentle handsome rich Hero. Thou art as great 
 as the sum of thee and the product of a fair golden prompt good honest 
 charming loving noble king and a embroidered rich smooth golden angel.

[Exeunt]

          Scene III: The insulting of Claudio

[Enter Claudius and Helen]

Helen:
 Thou art as stupid as the sum of the sum of thee and a cat and me.
[Exit Helen]

[Enter Claudio]

Claudius:
 Thou art as stupid as the sum of thee and the product of the 
 product of me and Helen and Helena

[Exeunt]

          Scene IV: The Final Countdown

[Enter The Archbishop of Canterbury and Claudius]

Claudius:
 Thou art the sum of you and a cat.

The Archbishop of Canterbury:
 Am I better than a fine road?

Claudius:
 If not, let us return to the insulting of Claudio.

[Exit The Archbishop of Canterbury]

[Enter Claudio]

Claudio: << changed Claudius to Claudio
 Open your heart!
 Open your heart!
[Exeunt]
Alex Carlsen
quelle
Nein, Claudio-Wert ist nicht 1 xD. Viel Glück beim nächsten Mal.
AboveFire
@AboveFire - grob .. Ich werde es mir noch einmal ansehen, wenn ich nach Hause komme, dachte wirklich, ich hätte es :(
Alex Carlsen
Das war auch meine erste Vermutung, aber ich hatte noch keine Chance, es zu versuchen. Der einzige Teil, den ich noch nicht verstanden habe, ist der mit dem Erzbischof, also werde ich mir das ansehen, wenn ich nach Hause komme.
Sumyrda - Wiedereinsetzung von Monica
3

VBA von JimmyJazzx

Geändert IRRzu MIRRund geändert 5zu a, ,so dass es 3 Parameter gibt.

Ich habe dies gefunden, als ich nach der IRRFunktionsweise von Excel gesucht habe . Es gab einen Artikel: Wie die MIRR-Funktion von Excel die IRR-Funktion reparieren kann . Das hat mir einen Tipp gegeben. Ein kluger Versuch. Ich hatte noch nie zuvor VBA verwendet, das war also auch interessant.

Sub q()
Dim a(2) As Double
a(0)=-5
a(1)=10
msgBox MIRR(a,0.2,3)
End Sub
mbomb007
quelle
Nett. Technisch habe ich sowohl das M als auch das hinzugefügt, so dass das mittlere Argument 0,25 war, aber ich denke, dass sie sowieso das gleiche Ergebnis haben. Der Gedanke, einige Finanzfunktionen zu verwenden, könnte die Programmierer überraschen, wurde jedoch in der Dokumentation deutlich. Gute Arbeit
JimmyJazzx
3

Matlab / Octave, Jonas

Beschreibung

Fügen Sie in der letzten Zeile hinzu, um 'sie arg'in die Zeichenfolge umzuwandeln 'arg', die dann als ASCII-Zahlen interpretiert wird. Fügen Sie 'am Ende eine weitere hinzu , um das Spaltenformat beizubehalten.

Das 'im Originalcode fast Unnötige war der Haupthinweis. Auch im Nachhinein sollte die Tatsache, argdie separat (anstatt direkt innerhalb der sinZeile) definiert wurde, verdächtig ausgesehen haben.

Code

format long
arg = [.1 .2 .3];
sin('arg'*exp(9))'
Luis Mendo
quelle
3

bc, abligh

Nur die mathematischen Operatoren eingefügt. Es dauerte ungefähr 1 Minute, um zu lösen, als ich nachschaute, was bc war und welche mathematischen Operationen es hatte. Das erste, woran ich dachte, war Spaltung, aber es gab keine gemeinsamen Faktoren, die gut aussahen. Also habe ich mich sofort für Potenzierung und Modul entschieden. Für den Modul b / c der erwarteten Ausgabe waren mindestens 15 Stellen erforderlich. Danach habe ich zweimal geraten und es gefunden.

4518^574%615489737231532
mbomb007
quelle
3

Lua, TreFox

Beschreibung

"_G" ist die globale Tabelle, wobei "_G.load" auf die globale Funktion "load" verweist. Das Konvertieren einer Funktion in einen String führt zur Rückgabe der Adresse der Funktion, die dann vom Längenoperator "#" in die Länge des Strings umgewandelt wird.

Code

G={load="lfkjgGsHjkU83fy6dtrg"}
print(#tostring(_G.load))

Da dies hier mein erster Beitrag ist, kann ich die ursprüngliche Antwort nicht kommentieren.

Xrott
quelle
Ich habe einen Kommentar zur Antwort des Polizisten hinterlassen. Das funktioniert bei mir übrigens nicht ganz. Die Adresse ist die ich bekomme 0x321a40c6d0, für eine endgültige Ausgabe von 22.
Dennis
Ich bin nicht sicher, warum Sie 22 bekommen ... auf alles, was ich getestet habe, war es 18 oder 26.
TreFox
@ Tennis Probieren Sie es in der offiziellen Lua-Demo.
Xrott
Aha, ich war so nah! Ich wusste, dass ich das Globale brauchte load, und ich wusste, dass ich mich _Gauf die globale Symboltabelle bezog ... Ich habe die beiden einfach nicht zusammengefügt.
Alex Van Liew
3

Python, rp.beltran

Beschreibung

Mir ist aufgefallen, dass die benötigten Buchstaben immer 2 vor einer Ziffer waren. Ändern der dritten, \wum \dalle richtigen Buchstaben mit Ausnahme der Leerzeichen zu erhalten. \Dwar die einzige \Gruppe, die Buchstaben und Leerzeichen erlaubte.

Code

import re;''.join(re.findall('\D(?=\w\d)','t74q joh7 jv f9dfij9j bfjtf0e nnjen3j nnjrb6fgam3gtm5tem3hj s3eim7djsd3ye d5dfhg5un7ljmm8nan3nn6n k m2ftm5bsof5bf r5arm4ken8 adcm3nub0 nfrn6sn3jfeb6n d m6jda5 gdif5vh6 gij7fnb2eb0g '))

w-> D, w-> din der Regex.

isaacg
quelle
3

Pyth, Isaacg

Beschreibung

Der ursprüngliche Code führt Folgendes aus:

 CG      Convert "abcdefghijklmnopqrstuvwxyz" from base 256 to integer, yielding
         156490583352162063278528710879425690470022892627113539022649722.
   ^3y21 Compute 3^(2 * 21).
%        Calculate the modulus.

Schon seit 156490583352162063278528710879425690470022892627113539022649722 - 58.227.066 gibt 156490583352162063278528710879425690470022892627113538964422656 , die gleich 2 26 × 3 × 7 × 7477 × 381.524.422.711 × 17007550201751761 × 2288745700077000184147 kann der gewünschte Ausgang durch Ersatz erhalten werden , ^3y21mit etwas , das zu einem Divisor auswertet dieses Produkt und ist größer als 58.227.066 .

Der ^im Originalcode vorgeschlagene Wert legt nahe, dass wir ihn zur Berechnung einer Potenz von 2 verwenden könnten , der 3- Wert , mit dem wir einen passenden Divisor der Form 3 × 2 n berechnen könnten .

Beide sind irreführend. Lösungen mit einem Levenshtein Abstand von 3 ( %CG^2 26, %CG^y2 13, %CG^4y13) oder 4 ( %CG.<3y13) sind leicht zu finden, aber die Lösung auf Distanz 2 erfordert einen anderen Ansatz.

Das Kleinbuchstaben (G ) besteht aus 26 Buchstaben, sodass seine Potenzmenge (die Menge aller streng ansteigenden Folgen von Kleinbuchstaben) 2 26 Elemente enthält. Durch Ersetzen y2durchyG berechnen wir diese Potenzmenge.

Wir können die Länge des Sets von abrufen Sie ersetzt 3mitl , die Blätter uns mit ^lyG1, dh 2 26 zur ersten Potenz erhoben.

Code

%CG^lyG1

Beachten Sie, dass dies nur auf einem Computer mit genügend verfügbarem Speicher funktioniert (ungefähr 6,43 GiB, laut time ), sodass es nicht mit dem Online-Interpreter funktioniert.

So können Sie die Ergebnisse über die Befehlszeile überprüfen:

$ \time -v pyth -c '%CG^lyG1'
58227066
        Command being timed: "pyth/pyth.py -c %CG^lyG1"
        User time (seconds): 30.73
        System time (seconds): 2.12
        Percent of CPU this job got: 100%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:32.85
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 6742564
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 2269338
        Voluntary context switches: 1
        Involuntary context switches: 58
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0
Dennis
quelle
Richtig! Gut gemacht.
Isaacg