题目链接:
https://ac.nowcoder.com/acm/problem/14356
题面:
思路:
由题目可以知道,我们可以列出前4项来看
1. 1
2. 01
3. 101
4. 01101
我们很容易发现
F(3)=F(1) + F(2)
F(4) = F(2) + F(3)
这时候就可以使用递归来实现01串的转变了
代码:
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
string s;
string f(int n)
{
if (n == 0)
{
return "0";
}
else if (n == 1)
{
return "1";
}
else
{
return f(n - 2) + f(n - 1);
}
}
int main()
{
int n;
cin >> n;
cout << f(n) ;
return 0;
}