import java.util.Scanner; public class Main{ static int n,m; //m,n定义时用全局变量 static int []t = new int[26]; //数组t[26]中存放的就是每一行的数据 public static void main(String[] args){ Scanner scanner = new Scanner(System.in); n = scanner.nextInt(); //全局变量m,n在main方法中输入 m = scanner.nextInt(); dfs(1,1); } public static void dfs(int i,int start){ //i指排的第几位数 if(i>m){ for(i=1;i<=m;i++){ System.out.print(t[i]+" "); } System.out.println(); return; //return指结束这次dfs } for(int k=start;k<=n;k++){ //假设k为3,在输出123后k+1,又输出124 t[i]=k; dfs(i+1,k+1); } } }
Java实现递归的组合型枚举
于 2023-11-24 21:01:31 首次发布