Definição
a(1) = 1
a(2) = 2
a(n)
é o menor númerok>a(n-1)
que evita qualquer progressão aritmética em 3 termos ema(1), a(2), ..., a(n-1), k
.- Em outras palavras,
a(n)
é o menor númerok>a(n-1)
que não existex
,y
onde0<x<y<n
ea(y)-a(x) = k-a(y)
.
Exemplo elaborado
Para n=5
:
Nós temos a(1), a(2), a(3), a(4) = 1, 2, 4, 5
Se a(5)=6
, 2, 4, 6
forme uma progressão aritmética.
Se a(5)=7
, 1, 4, 7
forme uma progressão aritmética.
Se a(5)=8
, 2, 5, 8
forme uma progressão aritmética.
Se a(5)=9
, 1, 5, 9
forme uma progressão aritmética.
Se a(5)=10
, nenhuma progressão aritmética pode ser encontrada.
Portanto a(5)=10
.
Tarefa
Dado n
, saída a(n)
.
Especificações
n
será um número inteiro positivo.- Você pode usar 0 indexado em vez de 1, nesse caso,
n
pode ser0
. Por favor, indique-o na sua resposta se você estiver usando o índice 0.
Pontuação
Como estamos tentando evitar a progressão aritmética em 3 períodos, e 3 é um número pequeno, seu código deve ser o menor (ou seja, o mais curto) possível, em termos de contagem de bytes.
Casos de teste
As caixas de teste são indexadas em 1. Você pode usar o índice 0, mas especifique-o na sua resposta se o fizer.
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
Referências
- WolframMathWorld
- OEIS A003278