Definitionen
Quadratische Reste
Eine ganze Zahl heißt quadratisches Residuum Modulo wenn eine ganze Zahl so dass:
Die Menge der quadratischen Reste modulo kann einfach berechnet werden, indem die Ergebnisse von für 0 \ le x \ le \ lfloor n / 2 \ rfloor betrachtet werden .
Die Challenge-Sequenz
Wir definieren als die minimale Anzahl von Vorkommen mit demselben Wert für alle Paare von quadratischen Resten modulo .
Die ersten 30 Begriffe sind:
Dies ist A316975 (von mir eingereicht).
Beispiel:
Die quadratischen Reste modulo sind , , , , und .
Für jedes Paar dieser quadratischen Reste berechnen wir , was zu der folgenden Tabelle führt (wobei links und oben ist):
Die Mindestanzahl der Vorkommen mit demselben Wert in der obigen Tabelle beträgt (für , , und ). Daher ist .
Deine Aufgabe
Sie können entweder:
- nimm eine ganze Zahl und gib oder (entweder 0-indiziert oder 1-indiziert)
- nimm eine ganze Zahl und gib das oder ersten Terme der Sequenz aus oder geben Sie sie zurück
- Nehmen Sie keine Eingabe und drucken Sie die Sequenz für immer
- Ihr Code muss in der Lage sein, einen der 50 ersten Werte der Sequenz in weniger als 1 Minute zu verarbeiten.
- Bei genügend Zeit und Speicher muss Ihr Code theoretisch für jede positive Ganzzahl funktionieren, die von Ihrer Sprache unterstützt wird.
- Das ist Code-Golf .
code-golf
sequence
number-theory
Arnauld
quelle
quelle
+n
Innere(...)mod n
keine Wirkung? Wenn ja, ist es sehr seltsam, dass dies Teil der Definition ist.(some_potentially_negative_value + n) mod n
.) Ich denke, es ist besser, es in einer Programmierherausforderung zu haben, da das Vorzeichen des Ergebnisses von der Sprache abhängt .a_p = round(p/4)
, was uns die Werte für alle quadrierten Zahlen gibt. Bei Primzahlen scheint die Situation jedoch kompliziert zu sein, und die Fälle 3 mod 4 und 1 mod 4 müssen separat behandelt werden.Antworten:
MATL , 14 Bytes
Probieren Sie es online! Oder überprüfen Sie die ersten 30 Werte .
Erläuterung
quelle
Japt
-g
,2220 BytesZu lange gebraucht, um herauszufinden, worum es bei der Herausforderung eigentlich ging, hatte ich keine Zeit mehr für weiteres Golfen: \
Gibt den
n
dritten Term in der Sequenz aus. Fängt bei der Eingabe an zu kämpfen>900
.Probieren Sie es aus oder überprüfen Sie die Ergebnisse für 0-50
Erläuterung
quelle
Jelly ,
1310 Bytes-1 dank Dennis (Erzwingen einer dyadischen Interpretation mit einem führenden
ð
)-2 mehr auch dank Dennis (da die Paare möglicherweise de-dupliziert werden, können wir ein
R
und ein vermeiden2
)Eine monadische Verknüpfung, die eine positive Ganzzahl akzeptiert, die eine nicht negative Ganzzahl ergibt.
Probieren Sie es online! Oder sehen Sie sich die ersten 50 Begriffe an .
Wie?
quelle
05AB1E ,
22201513 Bytes-2 Bytes dank @Mr. Xcoder .
Probieren Sie es online aus oder überprüfen Sie die ersten 99 Testfälle (in ca. 3 Sekunden) . (HINWEIS: Die Python-Legacy-Version wird unter TIO anstelle des neuen Elixir-Umschreibens verwendet. Sie ist etwa 10-mal schneller, erfordert jedoch ein abschließendes
¬
(head), da.m
eine Liste anstelle eines einzelnen Elements zurückgegeben wird, das ich der Fußzeile hinzugefügt habe.)Erläuterung:
quelle
Ýns%ÙãÆI%D.m¢
. (Nicht im Vermächtnis, in der neuen Version)Dâ
anstattã
...>.> Und wusste nicht, dass sich das.m
beim Elixir-Rewrite anders verhält. Ich hatte ursprünglich die neue Version, wechselte aber zu dem Erbe, nachdem ich bemerkte, dass das¥
nicht funktionierte (was Sie mit dem behoben habenÆ
). Ich verwende das Erbe immer noch auf TIO, weil es für diese Herausforderung viel schneller ist.C (gcc) ,
202200190188187186 Byteszweizwölfvierzehnfünfzehn Bytes dank ceilingcat .Probieren Sie es online!
quelle
Python 2 , 97 Bytes
Probieren Sie es online!
quelle
K (ngn / k) , 29 Bytes
Probieren Sie es online!
{
}
Funktion mit Argumentx
!x
ganze Zahlen von0
bisx-1
i:
zuweiseni
x!
modx
?
einzigartigr:
zuweisenr
-\:
subtrahieren von jedem linksr-\:r
Matrix aller Unterschiedex!
modx
,/
Verketten Sie die Zeilen der Matrix=
group, gibt ein Wörterbuch von eindeutigen Werten zu Listen von Ereignisindizes zurück#:'
Länge jedes Wertes im Wörterbuch&/
Minimumquelle
Wolfram Language (Mathematica) , 64 Byte
Probieren Sie es online!
quelle
Rubin , 88 Bytes
Probieren Sie es online!
quelle
APL (Dyalog Unicode) ,
2824 BytesProbieren Sie es online!
Präfix Direktfunktion. Verwendet
⎕IO←0
.Danke an Cows Quack für 4 Bytes!
Wie:
quelle
2*⍨
×⍨
r←¨⊂r
∘.-⍨
{≢⍵}
⊢∘≢