Tout d'abord, parlons des séquences Beatty . Étant donné un nombre irrationnel positif r , nous pouvons construire une séquence infinie en multipliant les entiers positifs par r dans l'ordre et en prenant la parole de chaque calcul résultant. Par exemple,

Si r > 1, nous avons une condition spéciale. Nous pouvons former un autre nombre irrationnel s comme s = r / ( r - 1). Cela peut alors générer sa propre séquence Beatty, B s . L'astuce est que B r et B s sont complémentaires , ce qui signifie que chaque entier positif se trouve exactement dans l'une des deux séquences.
Si nous fixons r = ϕ, le nombre d'or, alors nous obtenons s = r + 1 et deux séquences spéciales. La séquence Wythoff inférieure pour r :
1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ...
et la séquence Wythoff supérieure pour s :
2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 34, 36, 39, 41, 44, 47, ...
Il s'agit des séquences A000201 et A001950 sur OEIS, respectivement.
Le défi
Étant donné un entier d'entrée positif 1 <= n <= 1000, affichez l'une des deux valeurs distinctes indiquant si l'entrée se trouve dans la séquence Wythoff inférieure ou la séquence supérieure . Les valeurs de sortie peuvent être -1et 1, trueet false, upperet lower, etc.
Bien que votre algorithme soumis doive théoriquement fonctionner pour toutes les entrées, en pratique, il ne doit fonctionner qu'avec les 1000 premiers numéros d'entrée.
E / S et règles
- L'entrée et la sortie peuvent être fournies par n'importe quelle méthode pratique .
- L'entrée et la sortie peuvent être supposées correspondre au type de numéro natif de votre langue.
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) gagne.