まず、Beattyシーケンスについて説明しましょう。正の無理数rが与えられた場合、正の整数をrに順番に乗算し、結果の各計算のフロアを取得することにより、無限シーケンスを構築できます。例えば、
r > 1の場合、特別な条件があります。s = r /(r -1)として別の無理数sを形成できます。これにより、独自のBeattyシーケンスB sを生成できます。巧妙なトリックは、B rとB sが相補的であるということです。つまり、すべての正の整数は、2つのシーケンスのうちの1つに正確に含まれます。
r = the(黄金比)を設定すると、s = r + 1と2つの特別なシーケンスが得られます。下WythoffシーケンスのためのR:
1, 3, 4, 6, 8, 9, 11, 12, 14, 16, 17, 19, 21, 22, 24, 25, 27, 29, ...
そして、上側Wythoffシーケンスのための:
2, 5, 7, 10, 13, 15, 18, 20, 23, 26, 28, 31, 34, 36, 39, 41, 44, 47, ...
これらは、それぞれOEISのシーケンスA000201およびA001950です。
チャレンジ
入力整数が正の場合1 <= n <= 1000
、入力が下位のWythoffシーケンスか上位のシーケンスかを示す2つの異なる値のいずれかを出力します。出力値は-1
and 1
、true
and false
、upper
and lower
などです。
送信されたアルゴリズムは、理論的にはすべての入力に対して機能する必要がありますが、実際には最初の1000個の入力番号でのみ機能する必要があります。