Ihre Aufgabe als Räuber ist es, Cops-Lösungen zu finden und ein Programm in der angegebenen Sprache zu schreiben, das den n-ten Term der Sequenz nur mit den Bytes in der angegebenen Menge berechnet.
Das Ziel wird sein, so viele Antworten wie möglich zu knacken. Mit jedem Riss erhältst du einen Punkt.
Risse müssen nicht die beabsichtigte Lösung des Polizisten sein, solange sie funktionieren.
sequence
restricted-source
cops-and-robbers
Weizen-Assistent
quelle
quelle
Antworten:
Haskell, Xnor
Probieren Sie es online!
Die erste Zeile definiert
s
als Festpunkt dershow
Funktion, die die unendliche Zeichenfolge istEs hat
"
s bei den Indizes 0, 2, 6, 14, 30 ... Zweierpotenzen minus zwei.Die zweite Zeile ist
ss
die ZeichenfolgeEs hat nicht
\
s bei den Indizes 0, 1, 2, 4, 8, 16, 32… Zweierpotenzen, wobei 0 ignoriert wird.Wir haben Glück: in ASCII,
"
<[
<\
, so dass wir eine Indikatorfunktion für die weniger-als-Schrägstriche in dieser Zeichenfolge schreiben, und wir sind fertig!w h
lautet unsere Antwort: Es wird geprüft, ob dash
'te Element vonss
weniger als ein Backslash ist. Nun, wir können keine Zeichenfolge erstellen, die nur einen umgekehrten Schrägstrich enthält, also erstellen wir eine andere Zeichenfolge, die immer größer als ist"["
, nämlichshow[h]
.quelle
Oktave , Stewie Griffin
Anonyme Funktion.
Erläuterung
Probieren Sie es online!
quelle
JavaScript (ES6), Arnauld
Ausgänge
0, 1, 4, 9, 16, 25, ...
.Wenn Sie den Eingang
$
benennen, sieht er etwas komplexer aus als er sein muss.atob('ICo=')
wertet*
mit führendem Leerzeichen aus (von Hand gefunden). Dies macht${$}${atob(`ICo=`)}${$}
sein,n *n
won
ist die Eingabe.eval
ing gibt das Quadrat.Code-Snippet anzeigen
quelle
a=>eval(`a${atob`ICo`}a`)
. Natürlich kann jeder andere Buchstabe als Eingabevariable verwendet werden. (Auch wenn Sie verwenden möchten$
, müssen Sie nicht tun${$}
.)${$}
ist ja ziemlich doof.Python 2, Rod
Sehr suboptimal. Code:
Probieren Sie es online!
quelle
and
undnot
mit()
zu machen1
und0
. :(import
verfügbar war, sowiefrom
d
, aber müssen alle Bytes mindestens einmal verwendet werden?sum
Haskell, Christian Sievers
Probieren Sie es online!
Hinweis: Die
product(map(pred)mempty)
Zeile 5 unterscheidet sich von Zeile 1, da die erste vom Typ ist,Int
während die zweite vom Typ istInteger
.quelle
mempty
! Nächstes Mal sage ichHaskell 98
... Kannst du verzichteny
? Aber das Verwendenproduct
ist die Hauptidee, daher denke ich, dass ich keine neue Version dieser Herausforderung beginne. Und ich wünschte, es gäbe ein Zeitlimit (oder ich könnte es festlegen). Übrigens,ao
sieht unnötig kompliziert aus.ao
ist überflüssig, weiladdone(x)=head(drop(product(map(pred)mempty))(enumFrom(x)))
. Undone(x)=product(enumFromTo(x)(pred(x)))
wox
ist die eingegebene Nummer, aber das funktioniert nicht für die1
mitdrop
.Haskell, Christian Sievers
Probieren Sie es online!
quelle
Haskell, Christian Sievers
Probieren Sie es online!
quelle
head
am richtigen Ort waren. Wie alle deine anderen Herausforderungen hat es auch sehr viel Spaß gemacht.Python 2, Bruce Forte
Probieren Sie es online!
Beeindruckend. Dies war ein Spaß.
quelle
R, Jarko
Ich kenne R überhaupt nicht, also ist das nur eine Vermutung.
Probieren Sie es online!
quelle
R , Jarko
Probieren Sie es online!
Ich habe auf jeden Fall gut fünf Minuten gebraucht, um herauszufinden, wie ich
1
aus den Briefen komme , aber dann fiel mir ein, dass**
das^
so gut geklappt hat! (und0^0=1
in R)quelle
**=^
. Wusste das nicht.n==n
btw.f=function(n,c=n==n)'if'(n,f(n-(n==n),c*n),c*(n==n))
f=function(n)'if'(n-n==n,n**n,n*f(n-(n**(n-n))))
cQuents, Step Hen
This seems to do the trick:
Try it online!
quelle
C (gcc), dj0wns
Try it online! Digraphs, digraphs everywhere!
quelle
Ruby, Value Ink
Mit -n flag,
p$./$$
Dies ist meine Vermutung für die beabsichtigte Lösung. Ignoriert die Eingabe und gibt nur das Floor von 1 / die Prozess-ID aus. Da die Prozess-ID im Allgemeinen nicht 0 oder 1 sein kann, sollte dies immer 0 sein.
quelle
Haskell, Christian Sievers
Try it online!
quelle
Haskell, Laikoni
If returning an
Int
is good enough, this does it:quelle
Javascript, iovoid
Try it online!
quelle
Haskell, Christian Sievers
Try it online!
Finally fixed it for Integers rather than Ints. Very slow.
quelle
maxBound::Int
, also denke ich, dass dies nicht der Fall ist richtig.g
? - Übrigens, du hättest es gebrauchen könnenu(n)=negate(pred(negate(n)))
u
, ich wünschte, ich hätte darüber nachgedacht. Ich weiß nicht, wie ich es ohne tun sollg
, ich fand es wirklich schwierig, Addition für Ganzzahlen mit Ihrem Byteset zu definieren.Befunge , Jordanien
Probieren Sie es online!
quelle
R , wieder Jarko
Dies unterscheidet sich von der von Jarko Dubbeldam beabsichtigten Lösung, aber die allgemeine Idee ist dieselbe: Um
1:n
wiederholte1:n
Male zu generieren , werdendiag
zwei verschiedene Möglichkeiten genutzt:diag(matrix)
Gibt die Diagonale einer Matrix zurück.diag(vector, nrow)
Erzeugt einenrow
x-nrow
Matrixvector
entlang der Diagonale und recycelt sie nach Bedarf.%x%
ist das Kronecker-Matrixprodukt, das bei Anwendung auf zwei Zahlen das übliche Produkt zurückgibt.Zum Schluss wird
cat
die Diagonale mit einemsep
Arator ausgedruckt,''
wodurch die Sequenz entsteht.Probieren Sie es online!
quelle
C, Yimin Rong
t
ist Multiplikation,r
ist Potenzierung,g
ist die eigentliche Funktion. Zeilenumbrüche, die zur besseren Lesbarkeit hinzugefügt wurden, werden nicht benötigt.quelle
Haskell , Christian Sievers
Probieren Sie es online!
quelle
__ ___=[-___-___-___,___..]!!___
R von Jarko Dubbeldam
Hat eine Weile gedauert, da ich R nicht kenne und es nicht geschafft habe, es
t
zweimal zu benutzen :Probieren Sie es online!
Erläuterung
Es wird die Tatsache verwendet, dass
cos(t*pi/2)
eine Periode von4
int
vorliegt und die Sequenz mit [1, 6.123234e-17, -1, -1.83697e-16] beginnt. Wie Sie sehen, sind die Vorzeichen korrekt. Wir müssen also nur die Werte normalisieren, aber das Vorzeichenx/abs(x)
beibehaltenx != 0
.Überprüfen Sie die Quelle!
quelle
cos(t=scan())
würde nicht funktionieren, weil R nicht zwischen=
Zuweisung oder Angabe von Argumenten unterscheiden kann. In geschweiften Klammern ist dies jedoch kein Problem:cos((t=scan()))
Dies ist aber länger alscos(t<-scan())
, also beim Golfen nicht zu gebrauchen.*
es sich um einen roten Hering handelte undcospi
tatsächlich richtig berechnet wurdecos(pi/2)=0
... und dies wird eher mit 1 indexiertsin
als mitcos
CPython 3.6 von wizzwizz4 (A000002)
Ich habe die Zeilen bis manuell geschrieben
ll=list(dd)
, aber der Rest des Codes wurde von diesem Python-Programm generiert:Der generierte Code könnte mit ziemlicher Sicherheit besser golfen werden, aber das würde den Generatorcode komplizierter machen.
quelle
Python 3 , Mr. Xcoder
Probieren Sie es online!
quelle
Python , total menschlich
Probieren Sie es online!
Wir sollten wirklich aufhören, unsere Antworten von der vorherigen OEIS-Herausforderung zu posten :)
quelle
Python 2 , Rod
Probieren Sie es online!
quelle
Python 2 , Bobawob
Probieren Sie es online!
quelle
Python 2, total menschlich
Probieren Sie es online!
quelle
int(...)
Python 2 , total menschlich
Probieren Sie es online!
quelle
Gelee, Feuerflamme241
Probieren Sie es online!
quelle