思路
小常识:string有加法,给定一个新的字符串和旧的字符串,旧字符串每一位替换加到新字符串,递归n次答案就出来了。
代码
#include<bits/stdc++.h> using namespace std; int n; void fc(string str,int cnt){ if(cnt==n){ cout<<str<<endl; return; } string tmp=""; for(int i=0;i<str.length();i++){ if(str[i]=='0') tmp=tmp+"1"; if(str[i]=='1') tmp=tmp+"01"; } fc(tmp,cnt+1); } int main(){ scanf("%d",&n); string s="0"; fc(s,0); return 0; }