牛客 s01串 (遞歸)

題目鏈接:

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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章