string - 检查数字中的数字是否可以重新排列以形成斐波那契数
问题描述
这个问题是在编程竞赛中提出的。除了生成所有排列之外,我找不到任何方法。但是位数最多为 15 并且没有排列(15!)非常大。还有其他方法吗?
我知道如果 (5*N^2 + 4) 或 (5*N^2 - 4) 是一个完美的正方形,则 n 是斐波那契。
解决方案
您不需要生成所有排列。生成所需长度的斐波那契数(将小于 74 个数字,因为第 73 个斐波那契数是最高的 15 位数字),然后只需检查那些少数是否可以从给定数字中的数字“构造”。
推荐阅读
- sql - 我的表有多个列,我想获取每列中的值计数并在 postgresql 中分别显示每列的计数值
- angular - 反应式表单重置和表单验证
- python - 即使正确定义和导入python中的自定义类也不会加载到jupyter笔记本上
- python - 在 Python 中求解 X 的值
- python - 在机器人框架pycharm中调试.robot文件
- react-native - 以json格式而不是数组格式发送多选的请求数据
- javascript - Javascript - 如何检查 window.open(url) 是否成功?
- debugging - GDB 单步执行运行时生成的代码
- flutter - Flutter SDK 版本为 0.0.0-未知
- python - 无法安装pypiwin32和win10toast