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