可能我上次的作业理解错了,实际问题描述应该是这样的:
我有一个数组:A B AB BAB ABBAB BABABBAB
数组中每一项的数量基于斐波那契数。
将第 n 个字符串和第 n+1 个字符串放在一起,然后生成第 n+2 个字符串:
BABABBAB = BAB + ABBAB
那么从最后一个字母算起的第 n 个术语的第 x 个(例如 10^16 个)字母是 A 还是 B?例如。第 6 个字母是 B,不仅在第 6 个学期BABABBAB
,而且在以后的学期ABBABBABABBAB
第 7 个字母在第 6 项中是 A,BABABBAB
在后面的项中也是 -ABBABBABABBAB
最鼓舞人心的消息是有人有 Θ(1) 解。
如果 [x / g] * g >= x - 1 则为 B,否则为 A。g 是中庸之道。
但他或她没有解释为什么它有效。