检查数字中的数字是否可以重新排列以形成斐波那契数
Check if digits in a number can be rearranged to form a fibonacci number
这个问题是在编程竞赛中提出的。除了生成所有排列外,我找不到任何方法。但是数字的数量最多为 15,并且没有排列(15!)非常大。还有其他办法吗?
我知道如果 (5*N^2 + 4) 或 (5*N^2 - 4) 是一个完美的平方,那么 n 就是斐波那契数列。
您不需要生成所有排列。生成所需长度的斐波那契数(将少于 74 个数,因为第 73 个斐波那契数是最高的,有 15 位数字),然后只检查那些少数是否可以 "constructed" 来自给定数字中的数字.
这个问题是在编程竞赛中提出的。除了生成所有排列外,我找不到任何方法。但是数字的数量最多为 15,并且没有排列(15!)非常大。还有其他办法吗?
我知道如果 (5*N^2 + 4) 或 (5*N^2 - 4) 是一个完美的平方,那么 n 就是斐波那契数列。
您不需要生成所有排列。生成所需长度的斐波那契数(将少于 74 个数,因为第 73 个斐波那契数是最高的,有 15 位数字),然后只检查那些少数是否可以 "constructed" 来自给定数字中的数字.