问题描述
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;
}
网友评论