Definicja
a(1) = 1
a(2) = 2
a(n)
jest najmniejszą liczbą,k>a(n-1)
która pozwala uniknąć 3-termicznej progresji arytmetycznej wa(1), a(2), ..., a(n-1), k
.- Innymi słowy,
a(n)
jest najmniejszą liczbąk>a(n-1)
, która nie istniejex
,y
gdzie0<x<y<n
ia(y)-a(x) = k-a(y)
.
Opracowany przykład
Dla n=5
:
Mamy a(1), a(2), a(3), a(4) = 1, 2, 4, 5
Jeśli a(5)=6
, to 2, 4, 6
utwórz postęp arytmetyczny.
Jeśli a(5)=7
, to 1, 4, 7
utwórz postęp arytmetyczny.
Jeśli a(5)=8
, to 2, 5, 8
utwórz postęp arytmetyczny.
Jeśli a(5)=9
, to 1, 5, 9
utwórz postęp arytmetyczny.
Jeśli a(5)=10
nie można znaleźć postępu arytmetycznego.
W związku z tym a(5)=10
.
Zadanie
Biorąc pod uwagę n
wydajność a(n)
.
Okular
n
będzie dodatnią liczbą całkowitą.- Można użyć 0 indeksowane zamiast 1-indeksowane, w tym przypadku
n
może być0
. Podaj to w swojej odpowiedzi, jeśli używasz 0-indeksowanych.
Punktacja
Ponieważ staramy się unikać 3-termicznej progresji arytmetycznej, a 3 jest małą liczbą, twój kod powinien być tak mały (tj. Krótki), jak to możliwe, pod względem liczby bajtów.
Przypadki testowe
Przypadki testowe mają indeks 1. Możesz użyć indeksowania 0, ale jeśli to zrobisz, podaj go w swojej odpowiedzi.
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
Bibliografia
- WolframMathWorld
- OEIS A003278
code-golf
sequence
arithmetic
Leaky Nun
źródło
źródło
Odpowiedzi:
Galaretka , 4 bajty
Wypróbuj online! lub zweryfikuj wszystkie przypadki testowe .
Jak to działa
Wykorzystuje to indeksowanie 0 i podstawową definicję z OEIS :
źródło
Haskell,
37 3632 bajtówPrzy użyciu podanego wzoru we wpisie OEIS, przy użyciu wskaźników opartych na 0. Dzięki @nimi za 4 bajty!
źródło
Python 3, 28 bajtów
Anonimowa funkcja, która pobiera dane wejściowe za pomocą argumentu i zwraca wynik. Jest to indeksowane zero.
Jak to działa
Wypróbuj na Ideone
źródło
Python 3, 113 bajtów
Ideone to!
źródło
Rubin,
2824 bajtyUżywając tej samej metody co Dennis, z indeksami opartymi na 0:
Uruchom przypadki testowe na repl.it: https://repl.it/Cif8/1
źródło
Pyke, 5 bajtów
Wypróbuj tutaj!
Indeksowanie na podstawie 0
Ta sama formuła, co odpowiedź galaretki
źródło
Java 8,
5246 bajtów0 zindeksowanych.
źródło
return
ale potem potrzebujesz średnika