蓝桥杯-算法训练 s01串

2018-05-16  本文已影响13人  MambaHJ

问题描述
  s01串初始为"0"
  按以下方式变换
  0变1,1变01
输入格式
  1个整数(0~19)
输出格式
  n次变换后s01串
样例输入

3

样例输出

101

数据规模和约定

0~19

代码

#include <iostream>
#include <string>
using namespace std;

string s01(int n,string a){
    if (n==0) {
        return a;
    }
    for (int i=0; i<a.length(); ++i) {
        if (a[i] == '0') {
            a.replace(i, 1, "1");
        }else if (a[i] == '1') {
            a.replace(i, 1, "01");
            i+=1;
        }
    }
    return s01(n-1, a);
}

int main(int argc, const char * argv[]) {
    int N;
    cin>>N;
    cout<<s01(N, "0")<<endl;
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读