2021.11.2 又是一道递归题 和上一道(a+b)**n的级数很类似
#include<cstring>
#include<string>
using namespace std;
const int N =1e9+7;
int m;
void recursion(string s,int n){
if(n >m) {
cout << s << endl;
return;
}
int len = s.length();
string change="";
for(int i = 0;i <len;i++){
if(s[i]=='0')change+="1";
else change+="01";
}
recursion(change, n+1);
}
int main(){
cin >> m;
recursion("0",1);
return 0;
}
本来想用char类型,但是好像用不明白,两个字符加起来,没string方便. 总体可以参考杨辉三角的思路来处理.