Definition
a(1) = 1
a(2) = 2
a(n)
ist die kleinste Zahlk>a(n-1)
, die eine 3-Term-Arithmetik-Progression in vermeideta(1), a(2), ..., a(n-1), k
.- Mit anderen Worten,
a(n)
ist die kleinste Zahl,k>a(n-1)
so dass es nicht existiertx
,y
wo0<x<y<n
unda(y)-a(x) = k-a(y)
.
Beispiel ausgearbeitet
Für n=5
:
Wir haben a(1), a(2), a(3), a(4) = 1, 2, 4, 5
Wenn a(5)=6
, dann 2, 4, 6
bilden Sie eine arithmetische Folge.
Wenn a(5)=7
, dann 1, 4, 7
bilden Sie eine arithmetische Folge.
Wenn a(5)=8
, dann 2, 5, 8
bilden Sie eine arithmetische Folge.
Wenn a(5)=9
, dann 1, 5, 9
bilden Sie eine arithmetische Folge.
Wenn a(5)=10
kein arithmetischer Verlauf gefunden werden kann.
Deshalb a(5)=10
.
Aufgabe
Gegeben n
, Ausgabe a(n)
.
Technische Daten
n
wird eine positive ganze Zahl sein.- In diesem Fall
n
können Sie 0-indiziert anstelle von 1-indiziert verwenden0
. Bitte geben Sie dies in Ihrer Antwort an, wenn Sie 0-indiziert verwenden.
Wertung
Da wir versuchen, eine 3-Term-Arithmetik-Progression zu vermeiden und 3 eine kleine Zahl ist, sollte Ihr Code in Bezug auf die Anzahl der Bytes so klein (dh kurz) wie möglich sein.
Testfälle
Die Testfälle sind 1-indiziert. Sie können 0-indiziert verwenden, geben Sie dies jedoch in Ihrer Antwort an, wenn Sie dies tun.
1 1
2 2
3 4
4 5
5 10
6 11
7 13
8 14
9 28
10 29
11 31
12 32
13 37
14 38
15 40
16 41
17 82
18 83
19 85
20 86
10000 1679657
Verweise
- WolframMathWorld
- OEIS A003278
code-golf
sequence
arithmetic
Undichte Nonne
quelle
quelle
Antworten:
Gelee , 4 Bytes
Probieren Sie es online aus! oder überprüfen Sie alle Testfälle .
Wie es funktioniert
Dies verwendet eine 0-basierte Indizierung und die primäre Definition von OEIS :
quelle
Haskell,
37 3632 BytesVerwenden der angegebenen Formel im OEIS-Eintrag unter Verwendung von 0-basierten Indizes. Danke @nimi für 4 Bytes!
quelle
Python 3, 28 Bytes
Eine anonyme Funktion, die Eingaben über Argumente entgegennimmt und das Ergebnis zurückgibt. Dies ist nullindiziert.
Wie es funktioniert
Probieren Sie es auf Ideone
quelle
Python 3, 113 Bytes
Ideone es!
quelle
Rubin,
2824 BytesVerwenden Sie dieselbe Methode wie Dennis mit 0-basierten Indizes:
Führen Sie die Testfälle auf repl.it aus: https://repl.it/Cif8/1
quelle
Pyke, 5 Bytes
Probieren Sie es hier aus!
0-basierte Indizierung
Gleiche Formel wie Gelee Antwort
quelle
Java 8,
5246 Bytes0 indiziert.
quelle
return
aber Sie brauchen das Semikolon danach