简述

具体的算法解释可以参照下面链接,非常详细~
整数划分问题【递归以及递推求解方式】

代码

#include <iostream>
using namespace std;
#include <string>void cal(int n, int m, string s){if (n == 0 || m == 0) return;if (n==1||m==1) {for (int i = 0; i < n-1; ++i) s += string("1+");cout << s<< "1\n";return;}if (m > n){return cal(n, n, s);    } if (n==m) {cout << s<< n<< endl;return cal(n, m-1, s);}if (n-m != 0)cal(n-m, m, s + to_string(m) + string("+"));else {cout << s<< m<< endl;}cal(n, m-1, s);
}int main(){int n;string s;while(cin >> n && n >= 1)cal(n, n, s);
}

整数划分问题(路径输出)【递归求解方式】相关推荐

  1. 【数据结构】带动画显示过程的递归求解迷宫问题

    采用递归算法求解迷宫问题,输出从入口到出口的所有路径. 递归求解我真的也不是理解的很透,但是明显感觉到递归和栈.队列求解很像,都是树形的搜索过程. 为了直观地观察过程,补充了一个动画过程,可以用来观察 ...

  2. 整数划分问题【递归以及递推求解方式】

    简述 用一系列正整数之和来表示一个整数,称之为整数划分.而整数划分问题则对于某个数字,输出对应整数划分的数量. 先写递归,有了递归之后,就换用递推来加快速度. 算法思路 q(n, m)表示,n这个整数 ...

  3. 算法设计与分析——分治与递归——整数划分问题

    将正整数n表示为一系列正整数之和, n=n1+n2+n3+n4+......+nk (其中,n1>=n2>=n3>=n4........>=nk>0,k>=1) 正 ...

  4. 递归--整数划分问题

    问题描述: 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk,其中n1≥n2≥-≥nk≥1,k≥1.正整数n的这种表示称为正整数n的划分. 问题1: 输出整数n的所有可能的划分,如: 输入: ...

  5. c++矩阵连乘的动态规划算法并输出_算法交流: 7215 简单的整数划分问题 【2.7基本算法之算法效率】...

    [题目描述]7215:简单的整数划分问题 by Oler17WA 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=nk>=1 ,k&g ...

  6. Bailian4117 简单的整数划分问题【整数划分+记忆化递归】

    4117:简单的整数划分问题 总时间限制: 100ms 内存限制: 65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=n ...

  7. 整数划分问题(续)(非递归法)

    上一篇讨论的是整数划分问题递归方法,下面来讨论下非递归方法: 一般情况下,遇到递归问题,若能直接求得递推式,则可以很容易用数组模拟来实现递归,根据已经得出的递归关系,可以设置一个二维数组S[][]来存 ...

  8. 整数划分问题(递归法)

    整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及.所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 < ...

  9. C语言(CED)对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式(递归求解)

    又涉及到递归问题,这道题的大致内容是这样的: (请用递推方式求解)对于一个2行N列的走道.现在用1*2,2*2的砖去铺满.问有多少种不同的方式.下图是一个2行17列的走道的某种铺法. 提示:观察前n个 ...

最新文章

  1. 转【红帽GFS集群文件系统配置指南】
  2. 比特币现金vs莱特币,谁将夺得小额支付市场?
  3. fdisk分区命令详解与fdisk非交互式分区
  4. mysql集群跨地域同步部署_跨地域冗余 - 跨数据中心部署方案 - 《TiDB v2.1 用户文档》 - 书栈网 · BookStack...
  5. JDBC实现图书管理小案例
  6. Qt之格栅布局(QGridLayout)
  7. 【nginx】关于fastcgi_cache
  8. macOS 10.15安装GDB
  9. Shell编程—【03】数学运算expr与bc浮点数运算
  10. .NET CLR之垃圾回收(GC)
  11. java实现gps定位_GPS定位数据的提取与存储系统的设计
  12. 博客园app for xamarin android一款简洁阅读的博客园android客户端
  13. 服务器地址错误如何修复,ip地址错误怎么办
  14. 神策数据:2021 证券业数字新基建趋势洞察
  15. win10 无法删除 注册表 蓝牙_Win10蓝牙无法删除设备蓝牙鼠标无法连接解决方法...
  16. 新办林业规划资质(丙级)应具备的条件?
  17. SET的社会工程学攻击方法
  18. 工艺角(process corner)
  19. 面试感悟----一名3年工作经验的程序员应该具备的技能(转载自@五月的仓颉)...
  20. 新代系统怎样看服务器ip,新代系统FTP联网教程

热门文章

  1. WINCE下如何虚拟多个串口
  2. 计算机文件夹报告范文,2020年计算机实验报告打印(例文).docx
  3. iframe嵌入页面白屏_Vue使用iframe嵌入第三方网页并修改标题
  4. vue-cli + lib-flexible + px2rem实现px自动转化为rem
  5. docker设置固定ip地址
  6. 分享:手机应用存5个严重的信息安全隐患你晓得吗?
  7. 关于ListView顶部和底部滚(拖)动出现阴影解决方案
  8. 【转】MFC下用ADO连接SQL SERVER,保存图片,BLOB
  9. JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)
  10. 算法杂货铺——分类算法之决策树(Decision tree)