题目链接
题目描述
任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。现在给你一个自然数n,要求你求出n的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。
方法:深搜
写题时我也不知道如何深搜,还是看了大佬的解析才知道怎么用深搜,这道题可以打表,因为就n<=8,我这就贴一下我借鉴大佬的代码写的代码
(要是介意的话,可以联系我删帖)

#include<bits/stdc++.h>
using namespace std;
int f[10];
int n;
//a是下标,b是和,c是为了防止后面的值小于前面的值
void df(int a,int b,int c)
{if(b==n)//输出{for(int i=1;i<a-1;i++) cout<<f[i]<<'+';cout<<f[a-1]<<endl;return;}if(b>n) return;for(int i=c;i<n;i++){f[a]=i;df(a+1,b+i,i);//这里千万不能在前面写b=b+i,不然b会被加很多次,会导致错误,我就犯了这种错}return;
}
int main()
{cin>>n;df(1,0,1);
}

洛谷 p2404 自然数拆分问题相关推荐

  1. 洛谷P2404 自然数的拆分问题(回溯)

    洛谷P2404 自然数的拆分问题(回溯) #洛谷P2404 自然数的拆分问题(回溯)# 参考题解:https://www.luogu.com.cn/blog/CM0/solution-p2404 (第 ...

  2. 【寒假每日一题】洛谷 P2404 自然数的拆分问题

    题目链接:P2404 自然数的拆分问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 任何一个大于 1 的自然数 n,总可以拆分成若干个小于 n 的自然数之和.现在给你一 ...

  3. 洛谷P2404 自然数的拆分问题

    搜索--P2404 自然数的拆分问题 题目背景 题目描述 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和.现在给你一个自然数n,要求你求出n的拆分成一些数字的和.每个拆分后的序列中的数 ...

  4. 洛谷 P2404 自然数的拆分问题

    P2404 自然数的拆分问题 题目背景 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和. 题目描述 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和. 输入输出格式 输入 ...

  5. 洛谷 P2404 自然数的拆分问题C语言

    文章目录 前言 一.题目 二.解题思路 1.考察方向 2.深度优先搜索 3.解题 正解(升序+不去重) (去重+升序) 总结 前言 之前看了好多文章都说学习编程时写博客的重要,但一直没有尝试,今天在这 ...

  6. [洛谷]P2404 自然数的拆分问题

    一维的dfs搜索得记录搜索了多少次数,先用数组存数字,打印时在做处理, 用一个数组记录每一次拆分的数字是多少,同时用一个指针ct指向上一个拆分出来的数字. 若这个数字为0,就代表找到一种答案,打印处理 ...

  7. 洛谷 P2404 自然数的拆分问题(搜索、保证顺序进行搜索)

    dfs 搜索即可,主要是搜索顺序:每一个搜索的数需要 >=上一个数,那么对于第一个数下标会是-1,越界,就提前在数组中存储一个1,即可. #include <iostream> #i ...

  8. 洛谷p2404 自然数的拆分

    分析: 从测试数据来看 1 1 1 1 1 1 1 总数为7 最开始时7个1展开 1 1 1 1 1 1 2 最后一个数加1,总数变为8,去掉第7个数 1 1 1 1 1 2 第6个数加1,总数为7 ...

  9. 深度优先搜索——自然数的拆分问题(洛谷 P2404)

    题目选自洛谷P2404 题目显然是用DFS来做,需要注意的是 结果是从小到大的,所以同一种答案不同位置都只算一种,所以在dfs的时候 我们每次从上一次的值开始搜索即可. 用数组p[9]的1-8下标位置 ...

最新文章

  1. python编辑svg文件_SVG 文本
  2. SVN库迁移整理方法总结
  3. 一个好的设计应当具备哪些要素
  4. 成功解决ValueError: Dimension 1 in both shapes must be equal, but are 1034 and 1024. Shapes are [100,103
  5. ubuntu账号设置root_Ubuntu设置root用户,以及开启Ubuntu的ssh连接,更改apt-get源
  6. oracle agile 性能,Oracle Agile PLM安全漏洞(CVE-2016-3554)
  7. Python协程--生成器(实现多任务)
  8. 性能测试工具SilkPerformer介绍
  9. 互联网公司“黑话”大全,各个岗位都躺枪了!
  10. python自学行_有编程基础Python自学行吗?
  11. 【Unity与23种设计模式】访问者模式(Visitor)
  12. STL(八)——向量vector
  13. 漫谈广告竞价模式(一)
  14. 不懂网络和懂一点的区别
  15. SVN更新有问题 svn The working copy at‘ ‘ is too old
  16. 1004 成绩排名 (20 分)—PAT (Basic Level) Practice (中文)
  17. Python错误:'tuple' object is not callable
  18. 相机标定+极线矫正+elas生成视差图
  19. c语言里的u代表什么_c语言中的 %u 什么意思啊?
  20. 编写Java脚本统计工程代码总行数

热门文章

  1. 小鱼易连声音和画面不同步排查
  2. word中自动生成参考文献引用及自动更新文献编号
  3. 2023届校招算法岗知识超全总结
  4. Android+eclipse+adt搭建开发环境
  5. 三极管 NPN 开关电路
  6. 优质文章为什么对网站推广这么重要
  7. newman执行测试_Postman+Newman执行自动化测试
  8. 更改技嘉主板开机画面
  9. 【Unity实用工具】TexturePacker使用教程
  10. m.soudashi.cn 地图_搜索引擎网站推广优化有什么技巧?