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 -1
et 1
, true
et false
, upper
et 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.