网站开发需要经过的几个主要阶段太原百度搜索排名优化
1. f[40]={0,1}
数组赋值:只赋值前两个的话,剩余的自动为0
2.先要自己写出斐波拉契数列判断一下应该要多少个斐波拉契数样例,第39项已经超样例数500了,所以够用
3.就是把一个数字拆分成斐波拉契数列里的数的和嘛,但是要从数列中最大的数找,找到了就标注二进制数组中为1
4.输出时也是以高位开始,但是高位开始的就会有0不标记的,不作数,先排除,遇到第一个不为0的再把其后面的输出
#include <iostream>
using namespace std;int main()
{int f[40]={0,1}, b[40], n, m;for (int i = 2; i < 40; i++){f[i] = f[i - 1] + f[i - 2];}cin >> n;while (n--){cin >> m;cout << m << " = ";for (int i = 39; i >= 0; --i){if (f[i] <= m){b[i] = 1;m -= f[i];}else b[i] = 0;}int j = 39;while (!b[j]) --j;while (j >=2) cout << b[j--];cout << " (fib)" << endl;}return 0;
}