public class coinmax { static int[] c = {1,5,10,20,50,100}; static int n=c.length-1; static int[] a = new int[n+1]; static int[] f = new int[n+1]; static int[] arr = new int[n+1]; public static void main(String[] args) { System.out.print("递归法求得结果为:" + fun1(n)); System.out.print("\n备忘录法求得结果为:" + fun2(n)); System.out.print("\n动态规划法求得结果为:"); coinRow(n); System.out.println(f[n ]); int count = 0; for (int i = n; i >= 1 ; i--) { if (f[i] == f[i - 1]) { arr[count++] = c[--i]; } else { arr[count++] = c[i--]; } } System.out.println("拿的面额分别为"); for (int i = n; i >= 0; i--) { if(arr[i] > 0) System.out.pr