Aufgabe: Knacken Sie den verschlüsselten Code, um die Quadratwurzel einer ganzen Zahl n mit dem Quadrat davon zu multiplizieren !
Sie müssen einen Kommentar im Cops-Thread mit einem Link zu Ihrer Arbeitsquelle veröffentlichen und deutlich machen, dass Sie diesen geknackt haben . Im Titel Ihrer Antwort müssen Sie den Link zur ursprünglichen Antwort einfügen.
Regeln:
- Sie können nur die Reihenfolge der Zeichen in der Originalquelle ändern.
- Sichere Antworten können nicht mehr geknackt werden.
- Die anderen Regeln, die im Thread der Polizei erwähnt werden
- Bitte bearbeiten Sie die Antwort, die Sie knacken
GEWINNER: Emigna - 10 Submissons (hatte einige Probleme beim Zählen)
Lobende Erwähnungen: Notjagan, Plannapus, TEHTMI
code-golf
number
arithmetic
cops-and-robbers
Mr. Xcoder
quelle
quelle
JavaScript (ES7), Neil
Das Schwierige war natürlich, herauszufinden, was mit all den zusätzlichen Charakteren geschehen sollte. (Und auch diese Lösung nicht im falschen Thread zu posten, wie ich es am Anfang versehentlich getan habe. Oopsie ...)
quelle
_26_=>
definiert eine anonyme Funktion mit einem Parameter namens_26_
(Variablen können mit einem Unterstrich beginnen, aber nicht mit einer Zahl). Dann verwendet der Rest nur**
asMath.pow()
, um den Eingang auf die Potenz von 2,5 (6,25 Potenz 0,5) zu erhöhen._26_
sei etwas ES7-spezifisches. Wussten Sie nicht, dass Variablen auch in dieser Form vorliegen können? (Ich habe noch nie eine Variable ohne Alphabet gesehen). Das war ein sehr kluger Ansatz von @Neil. Und Sie waren auch sehr schlau darin, es zu knacken! Habe deine wohlverdiente +1! :)Python, 15 Bytes, Mr. Xcoder
Ziemlich einfach.
x
Nimmt es einfach und hebt es an2.5
th-Potenz.quelle
OCaml, 13 Bytes, shooqie
Probieren Sie es online!
quelle
C ++ (gcc) , 100 Bytes, Mr. Xcoder
Probieren Sie es online!
quelle
using
und gerade tutint main(){float n;std::cin>>n;std::cout<<pow(n,2.5);}
Haskell, Leo
Eine pointfree Funktion mit dem Namen
x
. Verbrauch:x 4
->32.0
quelle
Informiere 7 , corvus_192
Cool, ein Inform7-Eintrag. :) Ich musste es nur versuchen.
Ich bin mir ziemlich sicher, dass dies die beabsichtigte Lösung ist:
Beachten Sie, dass diese Lösung aufgrund der Verwendung der
real square root of
Funktion nur funktioniert, wenn sie mit dem Glulx-Backend kompiliert wurde .Übrigens sind die doppelten Anführungszeichen und eckigen Klammern eigentlich unnötig; nur
say n * n * real square root of n
würde genauso gut funktionieren. Die Punkte am Ende der Befehle könnten auch weggelassen werden; oder wir könnten die erste Periode beibehalten und stattdessen die Zeilenumbrüche entfernen. Andere Teile des Codes, die wir wegschneiden könnten, sind der Artikel "a" vor "room" und die Leerzeichen vor den Klammern und nach dem Doppelpunkt. Glücklicherweise können wir diese zusätzlichen Zeichen jederzeit auskommentieren, da wir ein Ersatzpaar von Klammern haben. ;) Das ist also auch eine gültige Lösung:Um diese Lösung interaktiv zu testen, können Sie dem Code den folgenden Testsatz hinzufügen:
Nach dem Kompilieren und Ausführen des Programms können Sie z. B.
f 4. f 6. f 9. f 25
an der>
Eingabeaufforderung Folgendes eingeben und erhalten:Übrigens ist mir gerade aufgefallen, dass Inform (oder vermutlich Glulx) die letzte
f 6
falsche Dezimalstelle rundet : Der richtige Wert liegt viel näher an 88.18163 als an 88.18164. Glücklicherweise glaube ich nicht, dass dies die Richtigkeit der Lösung (en) beeinträchtigt, zumal die Herausforderung "einen beliebigen Rundungsmechanismus Ihrer Wahl" spezifizierte. :)quelle
apt-get install gnome-inform7
.Mathematica, Greg Martin
Vielen Dank, dass Sie das Rundungsmaterial intakt gelassen haben!
Erläuterung:
#(#)#^(1/(1+1))&@y
macht die Hauptarbeit des Multiplizierensy
quadriert, akay(y)
, undy
‚s Quadratwurzely^(1/(1+1))
. Das#&@@@{1^(1),-1}
Bit ist nur Junk, um die anderen Buchstaben zu#&@@
verbrauchen , und wählt das nützliche Bit aus dem Junk aus.quelle
MATL , 12 Bytes, Luis Mendo
Berechnen Sie 10/4 = 2,5, wobei 4 aus der Länge der Zeichenfolge resultiert. Verwenden Sie dies als Exponent. P ist hier ein No-Op.
quelle
Python 3, 44 Bytes, Kyle Gullion
Diese
*
waren ziemlich irreführend. Sehr schlau!Aufgrund des recht eingeschränkten Zeichensatzes wäre ich sehr überrascht, wenn es neben der trivialen Umbenennung oder Neuordnung von Argumenten noch andere gültige Lösungen gäbe.
quelle
R, Steadybox
scheint ein Anagramm von zu sein
funny(p1)-tio(^*^)/pc(2)<p2;
quelle
Python 2, 60 Bytes, Anthony Pham
Basierend auf dem Verwerfen von Zeichen durch die Float-Division von Python 2 (die Standardeinstellung für
/
Ganzzahlen).quelle
C, 50 Bytes, Dave
Probieren Sie es online!
Dies erfordert ein
-lm
Compiler-Flag, aber ich weiß nicht, wie es möglich wäre, dies ohne es zu lösen.quelle
\uad2f
bei mir benannt). Gut gemacht; Ich dachte, ich hätte genug rote Heringe da drin gelassen, um die Leute noch viel länger zu beschäftigen! Auch die-lm
Flagge wurde für mich mit Clang nicht benötigt (ich hätte es schon erwähnt!), Aber Sie haben Recht, genau genommen ist es erforderlich.R, Flunder
Dies ist ein Riss der 33-Byte-Lösung von @Flounderer
Verwendung:
quelle
sin(pi)
, aber leider funktioniert es! +1scan()^(-floor(-sin(pi)*2e17)/10)
RProgN 2, ATaco
Anscheinend braucht StackExchange zusätzliche Zeichen, also kann es losgehen.
quelle
]š\2^*
, aber beide arbeiten auf die gleiche Weise.HODOR, 198, dieser Typ
Erläuterung:
Hinweis: Ich musste einige Änderungen am get-Interpreter vornehmen, um ihn auf meinem Computer ausführen zu können (der von Ihnen veröffentlichte Interpreter akzeptiert unter anderem keine Kleinbuchstaben h).
Außerdem scheine ich nicht genug Repräsentanten zu haben, um Kommentare abzugeben. Wenn jemand @This Guy wissen lassen könnte, wäre ich dankbar
Ich denke, dies hat den Fehler behoben. Der Code beginnt jetzt mit Walder anstelle von Wylis, wodurch das zusätzliche Byte hinzugefügt wird
quelle
C #, 172 Bytes, raznagul
Am schwierigsten war es, herauszufinden, was man mit all den Resten anfangen sollte.
quelle
EXCEL, 26 Bytes pajonk
A1 als Eingang IP2 enthält einen zweiten Eingang mit einem # N / A-Fehler. In diesem Fall gehört ISNA (IP2) zu 1
Gegen eine zusätzliche können
()
wir dies tunquelle
=SQRT(A1)*A1^2/SIN(PI()/2)
Wenn Sie den #NA-Fehler durch Formatieren oder etwas anderes setzen, würde ich ihn als zusätzlichen zweiten Eingang sehen. SQRT und ISNA sind die einzigen zwei Funktionen, die ein wenig Sinn ergeben. Aber bitte fragen Sie den Mann, der die Frage entwickelt hatPython 3.6, 64 Bytes, Mr. Xcoder
Vielleicht nicht was beabsichtigt war, aber funktioniert;)
Noch nicht genug Repräsentanten, um die Antwort des Cops-Threads zu kommentieren, sorry ... Würde mich freuen, wenn jemand das für mich tun könnte, danke!
quelle
from math import pi as pp0012223467899;f=lambda x:x**2.5*1*(1)/1
nur um zu sehen, dass ich geschlagen wurde. Ich habe einen Link zu diesem Beitrag im Cops-Thread für Sie hinzugefügt.Röda , 28 Bytes, Fergusq
quelle
Python 2.7, Koishore Roy
quelle
y=x=e=s
beide arbeiten :)) Trotzdem gute Arbeit!R, Flunder
Dies ist ein Bruchteil der 31-Byte-Lösung von @ Flounderer:
Ok, das war eine schwierige Frage. Es wird eine Funktion erstellt, die aufgerufen wird
`[.`
. Das Argument für die Funktion wird aufgerufen und`]`
durch Verwendung des 9. Elements der eingebauten Zeitreihelh
("eine reguläre Zeitreihe, die das luteinisierende Hormon in Blutproben in Abständen von 10 Minuten von einer menschlichen Frau, 48 Proben, angibt, auf 2,5 erhöht . ", das als Beispiel in einem der Basispakete von R verwendet wird).lh[9]
wird hier oben durch sein Äquivalent ersetzt`[`(lh, 9)
. Durch Ersetzenf
des Funktionsnamens undn
des Argumentnamens enttarnt, wird die Funktion dannf=function(n)n^lh[9]
.Verwendung:
quelle
Python 2, 44 Bytes, Anthony Pham
Übernimmt die Eingabe von raw_input, konvertiert in int und erhöht auf power 2.5
quelle
JavaScript, fəˈnəˈtɛk
Erhält 5/2 bis 5 mal 2 zur negativen ersten Potenz, wobei 5 und 1 von der Länge der Saiten empfangen wurden. Erledigte den Ausweg in gewisser Weise, indem er die überflüssigen Zeichen auskommentierte.
quelle
C #, 112 Bytes, Jan Ivan
quelle
05AB1E , 47 Bytes, Okx
Probieren Sie es online!
quelle
Feuerball , 8 Bytes, Okx
Erläuterung:
Ich bin mir nicht sicher, ob es funktioniert. Ich habe momentan kein Java auf meinem Laptop. :(
quelle
Z1
in1Z
.Haskell , 64 Bytes, @nimi
Probieren Sie es online! Das hat Spaß gemacht. Ich habe zuerst herausgefunden,
product.(<$>(($succ(cos$0))<$>[id,recip])).(**)
was sich richtig verhält und was dannflip flip <$> () $ id .
irgendwo hineinpassen musste .quelle
R, Steadybox
Verwendung:
quelle
a=function(s)s**2*s**(0.125*2*2)
05AB1E , 22 Bytes, P. Knops
Probieren Sie es online!
Erläuterung
Der Rest der Operationen wird niemals ausgeführt.
Wir hätten es auch ohne tun können,
q
indem wir?
nach der Berechnung das Gleichheitszeichen beispielsweise mit entzogen hätten'=
.quelle