題目鏈接:
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;
}