加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

算法_动态规划_货币兑换

发布时间:2020-05-24 14:47:29 所属栏目:Java 来源:互联网
导读:算法_动态规划_货币兑换

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

    import java.util.Scanner;  
      
      
    public class Algorithm_2 {  
      
        /** 
         * @param args 
         */  
        private static final int MAX_M=20;  
        private static final int MAX_N=100000;  
        private static int[][] table = new int[MAX_N][MAX_M];  
        private static int[] value = new int[MAX_N];  
          
        public static void main(String[] args) {  
            Scanner sc = new Scanner(System.in);  
            while(true){  
                System.out.println("输入硬币种类的数目:");  
                int m = sc.nextInt();  
                System.out.println("从小到大输入硬币的面值,其中第一个是1:");  
                  
                for(int i=1;i<=m;i++)  
                    value[i]= sc.nextInt();  
                System.out.println("输入要兑换的钱的面值:");  
                int n = sc.nextInt();  
                  
                for(int i=0;i<=n;i++)//初始化  
                    table[i][0]=0;  
                for(int i=0;i<=m;i++)  
                    table[0][i]=0;  
                  
                for(int i=1;i<=n;i++){  
                    for(int j=1;j<=m;j++){  
                        if(value[j] == i)  
                            table[i][j]=1;  
                        else if(value[j]<i)  
                            table[i][j]=table[i-value[j]][j]+1;  
                        else table[i][j]=table[i][j-1];  
                    }  
                }  
                System.out.println("兑换的最小硬币的个数是:" +table[n][m]);  
                System.out.println("---------------------------------");  
            }  
        }  
      
    }  

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读