/*
 * 5、数字分解  
 * * 6
 *  6 
 *  5+1 
 *  4+2 
 *  4+1+1 
 *  3+3 
 *  3+2+1 
 *  3+1+1+1 
 *  2+2+2 
 *  2+2+1+1 
 *  2+1+1+1+1 
 *  1+1+1+1+1+1 
 * 
 */
public class Test5 {
public static void main(String[] args) {
/*System.out.println("请输入一个数进行分解:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();*/
int n=6;
String num = "";
fenjie(n,num);
}
public static void fenjie(int n,String num){
if(n>=1){
for (int i = 1; i<n; i++) {
String str = num;//分解的字符串进行保存
num+=(n-i)+"+"+i;
 String[] nums=num.split("\\+");//拆分字符串~用于去重复
 boolean b = true;
 //这个循环用来去重复
 for (int j = 0; j < nums.length-1; j++) {
if(Integer.parseInt(nums[j])<Integer.parseInt(nums[j+1])){
b = false;
}
 }
 if(b){//如果字符串的后一个数比前一个数大就不打印
 System.out.println(num);
 }
 
num= num.substring(0,num.lastIndexOf("+")+1);//截取掉每次结果+后面的数
fenjie(i,num);//递归
num =str;//分支找不到了就还原 进行回溯
}
}
}
}

递归回溯--数字分解java代码相关推荐

  1. java 递归求 数字分解

    问题 :给一个数字,求它所有的加法组合 比如 6的所有组合为: 5 1 4 2 4 1 1 3 3 3 2 1 3 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 ...

  2. cholesky分解java代码_Cholesky 分解(转)

    Cholesky 分解是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解. 它要求矩阵的所有特征值必须大于零,故分解的下三角的对角元也是大于零的. Cholesky分解法又称平方根法,是 ...

  3. 关于把小写数字转化为大写数字的java代码

    import java.math.BigDecimal; public class ConvertNumber { /** 定义数组存放数字对应的大写 */ private final static ...

  4. qr分解java代码_[转载]【原创】基于Givens变换QR分解Matlab代码

    如果有任何问题.建议,或者更多资源.代码.视频,欢迎您访问专业的Matlab技术交流平台--Matlab技术论坛http://www.matlabsky.com Wish my dear girl,h ...

  5. 关于使用二维数组实现输出三角形规律排列数字的Java代码

    使用二位函数实现下图中规律数字的打印输出: import java.util.Arrays;public class TestDemo {public static void print(int[][ ...

  6. Java代码实现归并排序

    Java代码实现归并排序 归并排序(Merge Sort) 思路:如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了. ...

  7. Java代码实现—函数递归

    目录 1.前言 2.什么是递归 2.1 一则故事 2.2 递归的概念 2.3 递归策略 2.4 递归的两个必要条件 3.递归代码举例 3.1 n的阶乘(递归实现) 3.2 数字之和 3.3 斐波那契数 ...

  8. 递归走迷宫java_在Java中的迷宫递归回溯

    嗨即时通讯新的网站很抱歉,如果这是一个重复的问题,但以前的任何问题似乎都不符合我的 我在迷宫结构中练习搜索算法,而我在递归回溯中的尝试不起作用 基本上,我在一本书Dietel第7卷上做了一个练习来创建 ...

  9. 递归学习 斐波那契 java代码实现

    文章目录 java代码 单元测试 java代码 package csdn.dreamzuora.recursion;/*** Title: 斐波那契额* Description:*斐波那契数列:0.1 ...

最新文章

  1. android下使用tcpdump抓包
  2. 再次探扩展-对xVal进行扩展解决验证不同步的问题
  3. 如何让你在开发者工具中查看源代码有语法高亮和暗黑主题的效果
  4. 填问卷,得《2015中国呼叫中心知识库现状与问题报告》
  5. 训练数据量中关于batch_size,iteration和epoch的概念
  6. 作业 校正学生成绩 winform
  7. python冒泡排序原理_如何实现python冒泡排序算法?
  8. 【华为云技术分享】Docker容器+Phoronix-Test-Suite测试X86和ARM的ffmpeg转码性能
  9. bzoj1228 [SDOI2009]ED 找规律
  10. 城市中计算机控制系统的应用,计算机联锁控制系统在北京城铁中的应用
  11. Spark的那些外部框架
  12. 笔记本电脑用u盘一键重装系统步骤
  13. 地级市房价月度数据(2009-2021)
  14. windows杀死进程
  15. c/c++实现window简易串口通信
  16. 软件及系统开发项目可行性分析
  17. 中国股神透露独特选股思路
  18. 【leetcode】剑指 Offer 16. 数值的整数次方(shu-zhi-de-zheng-shu-ci-fang-lcof)(快速幂)[中等]
  19. 循环practice
  20. MITRE ATTCK框架

热门文章

  1. MySQL数据库报错汇总(持续更新中)
  2. 操作系统第五章——进程同步
  3. matlab2010 notebook,Matlab在Win10 64位下用notebook的问题
  4. 养老轻资产创业的商业逻辑与投资机会
  5. 手动修改Spyder的背景颜色(手动配色)
  6. 传统贸易企业数字化管理
  7. Chrome开启多线程下载
  8. Python模块configparser:加载配置文件config.ini
  9. flutter Icon一览表,使用字符映射表查看所有图标并使用
  10. ISD2100语音芯片配置