经典递归问题--数字划分Number_Divide--Java实现
2019-03-30 14:38
127 查看
版权声明:071623 https://blog.csdn.net/weixin_43584220/article/details/88912248
package cn.LanQiaoBeiAlgorithm.Ravanla; public class Number_Divide { public static void main(String[] args) { int[] a = new int[6]; f(6, a, 0); } private static void f(int n, int[] a, int k) { if(n <= 0) { int i; for(i = 0; i < k - 1; i++) { System.out.print(a[i] + "+"); } System.out.print(a[i] + " "); return; } for(int i = n; i > 0; i--) { //判断在数组里有元素了的情况下,如果当前数(要存入数组的)大于数组前面一位的数 就跳过, if(k > 0 && i > a[k - 1]) continue; a[k] = i; f(n - i, a, k+1); } //输出结果 //6 3+3 2+4 2+2+2 1+5 1+2+3 1+1+4 1+1+2+2 1+1+1+3 1+1+1+1+2 1+1+1+1+1+1 } }
相关文章推荐
- Java实现的求解经典罗马数字和阿拉伯数字相互转换问题示例
- Java实现递归经典案例——三角数字的多种实现方式
- Java实现递归经典案例――三角数字的多种实现方式
- 【LeetCode-面试算法经典-Java实现】【137-Single Number II(只字出一次的数字II)】
- java多线程总结六:经典生产者消费者问题实现
- java 递归 实现数字的排列组合
- 递归经典整数划分问题
- 数字问题之斐波那契数列全解<Java实现>
- 几个比较经典的算法问题的java实现
- 关于java的递归写法,经典的Fibonacci数的问题
- java经典问题——递归求阶乘
- 统计数字问题(Java语言实现)
- 【LeetCode-面试算法经典-Java实现】【029-Divide Two Integers(两个整数相除)】
- 整数划分问题算法分析与实现(递归)
- 动态规划经典问题Java实现
- 它将打印一系列数,例如1 1 2 3 5 8 13 ....达到给定的数字。请分别使用迭代和递归实现。java
- 汉诺塔问题 Java 语言递归实现
- 数字问题之最大公约数问题全解法归纳<Java实现>
- java多线程总结六:经典生产者消费者问题实现
- Java序列划分问题算法实现