拆分(回溯)

//输出n拆分的所有可能

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,a[100];
 4 void dfs(int x,int y,int z)
 5 {
 6     if(y>n) return ;
 7     if(y==n)
 8     {
 9         for(int i=1;i<z;i++)
10         {
11             if(i>1) cout<<"+";
12             cout<<a[i];
13         }
14         cout<<endl;
15         return ;
16     }
17     for(int i=x;i<n;i++)
18     {
19         a[z]=i;
20         dfs(i,y+i,z+1);
21     }
22 }
23 int main()
24 {
25     cin>>n;
26     dfs(1,0,1);
27     return 0;
28 }
复制代码

 

posted @   jetaim  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示