【发布时间】:2011-03-20 06:17:47
【问题描述】:
可能是我上次的作业理解错了,实际的问题描述应该是这样的:
我有一个数组: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 是中庸之道。
但他或她没有解释为什么它有效。
【问题讨论】:
-
我只是认为:如果 x > f(n) 并且 x
-
Fibonacci string array 的可能重复项
-
您应该使用新信息更新您的原始问题,而不是针对同一主题提出新问题。
-
@Paul R:这是一个与前一个不同的问题,尽管他们有相同的假设。
-
你能发布一个链接到你从哪里得到的吗?我不认为它有效。
[6 / g] * g = 4.8,至少不是5。所以你会说它是 A,而实际上它是 B。
标签: arrays algorithm fibonacci