#include<iostream>
#include<set>
using namespace std;
set<string> ans;
void dfs(int add,string n)
{
for(int i=1;i<=add;i++)
{
string temp=to_string(i)+n;
ans.insert(temp);
if(i/2>0)//确保停的下来和数据合法
dfs(i/2,temp);
}
}
int main(void)
{
int n;
cin>>n;
ans.insert(to_string(n));
dfs(n/2,to_string(n));
cout<<"个数为:"<<ans.size()<<endl;
for(auto a:ans)
cout<<a<<' ';
return 0;
}
半数单集问题(含展示)
最新推荐文章于 2024-08-07 09:14:10 发布