Dies ist der Räuberposten. Der Cop-Beitrag ist hier .
Ihre Aufgabe ist es, eine ganzzahlige Eingabe N zu nehmen und die N-te Ziffer in der Sequenz OEIS A002942 auszugeben .
Die Sequenz besteht aus den rückwärts geschriebenen quadratischen Zahlen:
1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ...
Beachten Sie, dass führende Nullen weggeschnitten werden ( 100 wird 1 , nicht 001 ). Verketten Sie dies zu einer Zeichenfolge (oder eine lange Zahl ergibt):
1496152639446181121441
Sie müssen die N-te Ziffer in dieser Zeichenfolge / Nummer ausgeben . Sie können N als 0-indiziert oder 1-indiziert wählen (bitte geben Sie an, welches Sie wählen).
Testfälle (1-indiziert):
N = 5, ==> 1
N = 17, ==> 1 <- Important test case! It's not zero.
N = 20, ==> 4
N = 78, ==> 0
N = 100, ==> 4
N = 274164, ==> 1
Ihr Code sollte für Zahlen bis zu N = 2 ^ 15 funktionieren (es sei denn, Ihre Sprache kann standardmäßig keine 32-Bit-Ganzzahlen verarbeiten. In diesem Fall kann N niedriger sein).
Räuber:
Sie sollten versuchen, die Beiträge der Cops zu knacken.
Ihr Code muss in derselben Sprache wie der Cop-Post sein und einen Levenshtein-Abstand haben, der genau dem vom Cop angegebenen Abstand entspricht. Ihr Code kann nicht länger als die ursprüngliche Lösung sein (er kann jedoch dieselbe Größe haben).
Hier können Sie die Levenshtein-Entfernung überprüfen!
Der Gewinner wird der Räuber sein, der die meisten Beiträge geknackt hat.
quelle
Antworten:
Haskell , Laikoni
Probieren Sie es online aus!
Das
(*1)
war für die Typprüfung notwendig.quelle
JavaScript, Arnauld
quelle
Array(m+1)
behoben.cQuents 0 , Stephen
Probieren Sie es online aus! Ich habe keine Ahnung, wie dieser Code funktioniert, aber er hat nach dem Entfernen des noch funktioniert
*
.quelle
Wolfram Language (Mathematica) , Jenny_mathy
Probieren Sie es online aus!
Alternative Version auch in Entfernung 43:
Probieren Sie es online aus!
quelle
6502 Maschinencode (C64), Felix Palmen
Ich habe dies mit allen Fragen getestet, Testfälle und einige Extras (wie 2 ^ 15 ... die eine Weile gedauert haben), und es scheint genauso zu funktionieren wie das Original mit LD = 1.
Online-Demo , Verwendung: sys49152, n wobei n die 0-indizierte Eingabe ist.
quelle
Lua , Katenkyo
Probieren Sie es online aus!
Ich kenne Lua nicht, aber dies war eine einfache, nur ein Leerzeichen durch eine neue Zeile ersetzt.
quelle
(0+)(%d+)$
werden(0+)(%d+)
, also ging es um Regex ^^ 'Python 3 , HyperNeutrino
Probieren Sie es online aus!
quelle
''
anstelle von""
lambda i:"".join(str( (-~k)**2)[::-1]for k in range(i+1))[i]
.Python 2 , Dylnan
Probieren Sie es online aus!
Hinweis: Diese Cop-Übermittlung war fehlerhaft und funktionierte nicht für Eingaben unter 5. Während ich dabei war, habe ich diese Lösung erstellt, die den richtigen Levenshtein-Abstand hat UND den Fehler behebt.
quelle
Perl 5, (-p) Xcali
Nach Kommentar aktualisiert, Levenshtein Abstand zwischen
und
ist 55
Probieren Sie es online aus
quelle
-a
Versus--p
Flags zählen soll. Die beiden Lösungen, die ich mir ausgedacht habe, verwendeten dieselben Flags. Ich würde denken, dass die Flagge nur ohne Leerzeichen an der Vorderseite befestigt werden würde, aber ich bin bereit, mich von anderen dazu beeinflussen zu lassen.Java 8, Kevin Cruijssen
Probieren Sie es online aus!
Änderungsprotokoll
.replaceAll()
durchnew Long()
.quelle
n->{String r="";for(int i=1;r.length()<=n+1;r+=new Long(new StringBuffer(i*i+++"").reverse()+""));return r.charAt(n);}
( 118 Bytes, 92 LD im Vergleich zu meiner anderen Antwort.)Oktave , Stewie Griffin
Probieren Sie es online aus!
Ich habe tatsächlich versucht, meine eigene Octave-Antwort zu finden, und die vorhandene entdeckt. Meins war bereits deutlich kürzer, so dass das Hinzufügen eines Kommentars am Ende ausreichte, um die erforderliche Entfernung von 63 zu erreichen.
quelle
input()
und alles was dazu gehört ...PHP, Jo.
Probieren Sie es online aus!
(Ich hatte vor, die Ungleichung zu ändern, um eine noch größere LD zu erhalten ...)
quelle
6502 Maschinencode (C64), Felix Palmen
Kann auch ein "einfacher" Riss sein, aber es scheint wie das Original zu funktionieren.
Die LD = 1 zu haben ist einfach so verlockend zu versuchen, sie zu knacken (sorry, Felix). :) :)
Online-Demo , Verwendung: sys49152, n wobei n die 0-indizierte Eingabe ist.
quelle
E9
(einen Subtraktionsbefehl), durchEB
den im 6502-Maschinencode undefiniert ist , tut dies jedoch zufällig auf NMOS 6502- und 6510-Chips. Dieses Programm würde zum Beispiel auf dem C64 DTV1 abstürzen. Aber es ist unwahrscheinlich , dass eine finden echten C64 , dass es nicht richtig ausgeführt werden , so dass es könnte einen gültigen Riss in Betracht gezogen werden? Ich könnte nach Meinungen zu Meta fragen ...