拆开数字(如4=1+1+1+1, 4=1+1+2, 4=2+2, 4=3+1)Java实现,递归和非递归版本
2019-08-17 13:04
127 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38214064/article/details/99691828
递归版本
[code]private void parse(int n, int s) { if (n < 1 || s >= Integer.MAX_VALUE) return; System.out.print(s + " = " + n); int c = n; while (c != s){ System.out.print(" + 1"); c++; } System.out.println(); parse(n - 1 , s); c = n; int t = c; while (c != s){ if (c + t == s && c != s - 1){ System.out.println(s + " = " + n + " + " + c); } c++; } }
非递归版本
[code]private void parse1(int n){ if (n <= 1 || n >= Integer.MAX_VALUE) throw new IllegalArgumentException("参数非法!"); int c = n - 1; while (c > 0){ int i = c; System.out.print(n + " = " + c + " + "); while (i < n){ if (i < n -1) System.out.print("1 + "); else System.out.print("1"); i++; } System.out.println(); c--; } c = 2; while (c <= n / 2){ System.out.print(n + " = " + c + " + "); int sum = 0; for (int i = c; i < n; i++) { sum += 1; } System.out.println(sum); c++; } }
相关文章推荐
- 二叉树非递归遍历实现-java版本
- JAVA实现的吸血鬼数字算法 高效率版本 已有网友给出算法说明
- JAVA实现的吸血鬼数字算法,高效率版本(已有网友给出算法说明)
- java 递归 实现数字的排列组合
- 二叉树遍历的非递归实现 java版本
- Java实现递归经典案例――三角数字的多种实现方式
- JAVA实现的吸血鬼数字算法,高效率版本(已有网友给出算法说明)
- java 实现递归查找数组中的重复数字
- 经典递归问题--数字划分Number_Divide--Java实现
- 二叉树遍历的递归与非递归版本的Java实现
- Java实现递归经典案例——三角数字的多种实现方式
- 它将打印一系列数,例如1 1 2 3 5 8 13 ....达到给定的数字。请分别使用迭代和递归实现。java
- .Net/C#/VB/T-SQL/Java 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- Java2下Applet数字签名具体实现方法
- 递归实现数字的组合(C++)
- java实现naive scaler算法(第一个版本)
- 纯Java实现数字证书生成签名
- Java实现数字图像处理的困惑
- Java2下Applet数字签名具体实现方法
- Java里数字转字符串前面自动补0的实现。