这是一个简单的问题,大一刚学编程的时候做的笔记。

打印出从1、2、3……n中取出r个数的不同组合(n>=r>=1)

例如n=3,r=2,输出:

1,2

2,3

下面是实现的代码:

public class Combination {

    public static void combine(int[] list, int k, int l, int r, int n) {
if (k + l > n + 1)
return;
if (l == 0) {
for (int i = 0; i < r; i++)
System.out.print(list[i] + " ");
System.out.println();
return;
}
list[r - l] = k;
combine(list, k + 1, l - 1, r, n);
if (k + l <= n)
combine(list, k + 1, l, r, n);
} public static void main(String[] args) throws NumberFormatException{
int n = 5;
int r = 3;
int[] list = new int[r];
int k = 1;
int l = r;
Combination.combine(list, k, l, r, n);
}
}

当时真的是不知道变量命名规范啊,都用一个字母来表示……而且没有写一个注释。等我有空再来研究一下这个程序,再做解释。

最新文章

  1. Devexpress DateEdit控件的值不反馈到数据源的处理方式。
  2. JEFF BANKS_百度百科
  3. linux 安装MySql 5.7.21 操作步骤
  4. XAMPP环境访问非Web DocumentRoot下绝对路径
  5. 大数据 --&gt; Kafka集群搭建
  6. Android 5.0新控件——TextInputLayout
  7. Java(4)switch选择结构
  8. flink--DateSet开发--简单入门
  9. Java中对数组的操作
  10. Java 初始 多态
  11. Tools (StExBar vs Cmder)which can switch to command line window on context menu in windows OS
  12. python日期与时间
  13. (转) AdversarialNetsPapers
  14. 有用的java工具
  15. 批处理(bat)命令学习的一些总结
  16. mongodb shell警告
  17. u盘作为git仓库,完成不同地方的代码同步
  18. 【matlab】MTATLAB解线性方程组
  19. python学习(五)--打印错误信息
  20. Win10上部署Apollo配置中心

热门文章

  1. Spring Cloud Stream教程(四)消费群体
  2. Mongodb副本集集群搭建
  3. 简单地使用webpack进行打包
  4. python函数的参数问题
  5. 惠普服务器DL360G6安装ESXi主机后遗忘密码用u盘重置密码
  6. python调用c++类方法(2)
  7. MySQL Online DDL工具
  8. 1. JDK 、 JRE 、JVM有什么区别和联系?
  9. Hook exe 和 file
  10. Quartz快速上手