
package com.xy.recursion;public class conisdata {public static void main(String[] args) {int coins[] = {1,2,5};int[] subscriptdata = new int[10];int amount = 11;int end = amount;int j = 0;for (int i = coins.length-1; i >= 0; i--) {while (amount>0) {if ((amount - coins[i]) >= 0) {amount = amount - coins[i];if(amount >= 0) {subscriptdata[j] = i;j = j + 1;}}else {break;}}}if (amount == 0) {System.out.print(end+"=");System.out.print(coins[+subscriptdata[0]]);for (int i = 1; i < j; i++) {System.out.print("+"+coins[subscriptdata[i]]);}}else {System.out.println("-1");}}}
测试示例1
测试示例2
本次代码花费时间1小时,还是顺利,然后看看变量的变化过程,经检验没有问题
