案例六:有1元,5元,10元的人民币若干,现在需要18元,一共有多少种组合情况?
package fenxiang;
import java.util.LinkedList;
class shendu {
static int count=0;
public static void main(String[] args) {
// 1 5 10 18
int [] arr= {1,5,10};
dfs(0,arr,18,new LinkedList<Integer>());
System.out.println(count);
}
public static void dfs(int start,int []arr,int tartger,LinkedList<Integer> list) {//
if(tartger==0) {
count++;
System.out.println(list);
return;
}
if(tartger<0) {
return;
}
for (int i = start; i < arr.length; i++) {
list.add(arr[i]);
dfs(i,arr,tartger-arr[i],list);
list.removeLast();
}
}
}