Gavin 的斐波那契数列
时间限制: 1 Sec 内存限制: 128 MB题目描述
Gavin听说最近斐波那契数列很流行,所以好奇的Gavin在了解到斐波那契数列就是1 1 2 3 5….后自己想了一个数列:暂且叫他Gavin的斐波那契数列吧。
Gavin的斐波那契数列是这样的一个数列:他是这么一个数列:1 2 2 4 8 32…….也就是说,f(i)=f(i-1)*f(i-2)。(i>=3)。现在,Gavin告诉你一个数字n 聪明的你能快速说出在那个位置上的数是什么并且把他用二进制形式表现出来吗?例如:Gavin告诉你一个数字3那么这个位置的数字是2用二进制表示就是10所以,你可以自豪的告诉他是:10.(具体情况看样例)。
输入
输出
每组数据输出一行为第n个位置上的数字的二进制表现形式。
样例输入
4
1
2
3
4
样例输出
1
10
10
100
#include<iostream>
using
namespace
std;
int
main()
{
int
a[5001];
a[1]=0;
a[2]=1;
int
n,m;
cin>>n;
while
(n--)
{
cin>>m;
for
(
int
i=3;i<=m;i++) a[i]=a[i-1]+a[i-2];
cout<<
"1"
;
for
(
int
i=1;i<=a[m];i++) cout<<
"0"
;
cout<<endl;
}
return
0;
}