首先,让我们谈谈Beatty序列。给定一个无理数正数r,我们可以通过将正整数乘以r并乘以每个结果计算的底数来构造无限序列。例如,
如果r > 1,则有特殊条件。我们可以形成另一个无理数s,即s = r /(r -1)。然后,这可以生成自己的Beatty序列B s。巧妙的技巧是B r和B s是互补的,这意味着每个正整数都恰好在两个序列之一中。
如果我们将黄金比例设置为r = then,则得到s = r + 1和两个特殊序列。该低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序列还是较高的序列。输出值可以是-1
和1
,true
和false
,upper
和lower
,等等。
尽管理论上您提交的算法必须适用于所有输入,但实际上,它只必须使用前1000个输入数字。