编程求解:
输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,
使其和等于 m ,要求将其中所有的可能组合列出来.

 1 #include <iostream>
 2 #include <vector>
 3 #include <stack>
 4
 5 using namespace std;
 6
 7 /*
 8 思路:
 9 h(n,m)表示从1到n中 任意取几个数和为m的方法数。
10 则有 h(n,m)=   h(n-1,m-n) 或者  h(n-1,m)     (既n取或者不取)
11 当然其中  注意到 当 m < n 时 可以 直接跳到 h(m,m).还要注意边界条件,既当满足什么条件是
12 可以直接得出结果。
13
14 递归深搜
15 */
16 stack<int> ans;
17 void fun(int n,int m)
18 {
19     if(n >= 0 && m == 0)
20     {
21         stack<int> ans_tmp = ans;
22         while(!ans_tmp.empty())
23         {
24             cout<<ans_tmp.top()<<" ";
25             ans_tmp.pop();
26         }
27         cout<<endl;
28         return;
29     }
30     if(n == 1 && m == 1)
31     {
32         ans.push(1);
33         stack<int> ans_tmp = ans;
34         while(!ans_tmp.empty())
35         {
36             cout<<ans_tmp.top()<<" ";
37             ans_tmp.pop();
38         }
39         cout<<endl;
40         ans.pop();
41         return;
42     }
43     if(n == 1 && m > 1)
44     {
45         return;
46     }
47     if(n <= m)
48     {
49         ans.push(n);
50         fun(n-1,m-n);
51         ans.pop();
52
53         fun(n-1,m);
54     }
55     else
56     {
57         fun(m,m);
58     }
59     return;
60 }
61
62 int main()
63 {
64     fun(10,7);
65     return 0;
66 }

转载于:https://www.cnblogs.com/cane/p/3850825.html

July面试整理系列--(5)相关推荐

  1. 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)

    <繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...

  2. 一文让你完全弄懂逻辑回归和分类问题实战《繁凡的深度学习笔记》第 3 章 分类问题与信息论基础(上)(DL笔记整理系列)

    好吧,只好拆分为上下两篇发布了>_< 终于肝出来了,今天就是除夕夜了,祝大家新快乐!^q^ <繁凡的深度学习笔记>第 3 章 分类问题与信息论基础 (上)(逻辑回归.Softm ...

  3. 一文让你完全弄懂回归问题、激活函数、梯度下降和神经元模型实战《繁凡的深度学习笔记》第 2 章 回归问题与神经元模型(DL笔记整理系列)

    <繁凡的深度学习笔记>第 2 章 回归问题与神经元模型(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net/ http ...

  4. “约见”面试官系列之常见面试题第十篇值meta标签(建议收藏)

    目录 什么是meta标签? meta的作用 meta的必需属性和可选属性 必需属性content 可选属性 常用meta标签大总结 charset 百度禁止转码 SEO 优化部分 viewport 各 ...

  5. 面试官系列 - LeetCode链表知识点题型总结

    文章目录 前言 知识点 什么是链表 类别 单向链表 循环链表 双向链表 双向循环链表 与数组的性能对比 优缺点 常用技巧 题型总结 基本操作 删除类 翻转类题型 合并链表 环形链表 拆分链表 排序链表 ...

  6. 腾讯社招面试复习系列之一,C++篇

    腾讯社招面试复习系列之一,C++语言篇 最近在准备复习面试腾讯游戏开发,接下来会出一系列复习文章,总结一些他人的面试题与经验,以及之前自己面试时经验,并给出一些自己的见解,供大家一起学习. C++语言 ...

  7. 东北大学计算机面试有英语吗,考东北大学计算机研英语口语面试整理精华.doc...

    考东北大学计算机研英语口语面试整理精华 1. 自我介绍(self-introduce) Good morning. I am glad to be here for this interview. F ...

  8. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

最新文章

  1. TCP/IP详解--学习笔记(7)-广播和多播,IGMP协议
  2. jexus php 重写,如何让我们的PHP在Jexus中跑起来
  3. 为人父母始知天下事---“宝宝哭了”的问题来说说什么是分析,什么是设计
  4. linux 电源管理 regulator,Linux内核电源管理综述
  5. rpmbuile 制作drbd RPM包
  6. strstr、strspn如何使用
  7. 地址栏地址 获取_直播源获取工具,支持斗鱼、虎牙、B站、企鹅电竞、YY、抖音、西瓜直播!...
  8. 数据结构和数据类型之间的关系
  9. MVC教程第一篇:准备工作
  10. Java获取Object属性值
  11. CCCC-GPLT L2-017. 人以群分 团体程序设计天梯赛
  12. “12306”是如何支撑百万QPS的?
  13. 使用struct与typedef定义结构体
  14. 7.11计划,做个没心没肺的人
  15. 【软件安装】win10下Lighttools8.4.0(64)光学系统建模软件的安装教程
  16. Labview各版本软件下载链接
  17. 谷粒商城-基础篇-商品服务2-品牌管理(P59-P69)+(P75)
  18. 【Pytorch深度学习实践】B站up刘二大人课程笔记——目录与索引(已完结)
  19. 套路(Jony J)
  20. getlibs_Ubuntu 64位安装PS2模拟器PCSX2简明方法

热门文章

  1. 《幽灵行者》:近期最酷炫的赛博朋克游戏之一
  2. RabbitMQ是什么东西?
  3. FIND_IN_SET 精确查找
  4. [转载]编译中的常见分析方法
  5. windows下《Go Web编程》之Go命令
  6. 在项目中谨慎为系统类添加分类!!!!!
  7. vue-cli创建新项目
  8. ARM中 __IO的作用解析
  9. HTML5 Drop API
  10. Delphi 从PaintBox拷贝一部分内容到TBitmap