Primeiro, vamos falar sobre sequências Beatty . Dado um número irracional positivo r , podemos construir uma sequência infinita multiplicando os números inteiros positivos para r em ordem e tomando o piso de cada cálculo resultante. Por exemplo,
Se r > 1, temos uma condição especial. Podemos formar outro número irracional s como s = r / ( r - 1). Isso pode gerar sua própria sequência Beatty, B s . O truque é que B r e B s são complementares , o que significa que todo número inteiro positivo está exatamente em uma das duas seqüências.
Se definirmos r = ϕ, a proporção áurea, obteremos s = r + 1 e duas seqüências especiais. o sequência Wythoff inferior para r :
1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ...
e a sequência Wythoff superior para s :
2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 34, 36, 39, 41, 44, 47, ...
Essas são as seqüências A000201 e A001950 no OEIS, respectivamente.
O desafio
Dado um número inteiro positivo, insira 1 <= n <= 1000
um dos dois valores distintos indicando se a entrada está na sequência Wythoff inferior ou na sequência superior . Os valores de saída podem ser -1
e 1
, true
e false
, upper
e lower
, etc.
Embora o algoritmo enviado deva teoricamente funcionar para todas as entradas, na prática, ele só precisa funcionar com os primeiros 1000 números de entrada.
E / S e regras
- A entrada e saída podem ser fornecidas por qualquer método conveniente .
- Pode-se presumir que a entrada e a saída cabem no tipo de número nativo do seu idioma.
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- As brechas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.