public class Main { static int arr[]= {1,2,3,4,5}; // S集合 static int ans[]=new int[3]; // 從集合中取三個的組合 public static void main(String[] args) { backtracking(0,0); } public static void backtracking(int n,int pos) { if(n==3) { // 若dimension維度是第三層代表找完答案依序印出並結束遞迴 for(int i=0;i<3;i++) { System.out.print(ans[i]+" "); } System.out.println(); return; } for(int i=pos;i<5;i++) {// 每次遞迴從pos開始這樣就不會遇到重複值 ans[n]=arr[i]; backtracking(n+1,i+1); } } /* 五個數字取三個並由小到大排列 作者:1010 時間:西元 2018 年 11 月 */ }