• Ex 6_17 数量无限的硬币兑换问题_第七次作业


    子问题定义:定义一个数组b,大小比兑换价格的大小多一个元素,其中b[i]表示是否能用面值为x1,x2,x3,..,xn的硬币兑换价格i。

    递归关系:

    初值设定:设b[0]=true

    求解顺序:按下标从小到大依次求解b[i]的值,最后返回b[v]中的结果即为最终结果。

     1 package org.xiu68.ch06.ex7;
     2 
     3 public class Ex6_17 {
     4 
     5     //数量无限的面值为x1,x2,x3,...,xn的硬币是否能兑换价格v
     6     public static void main(String[] args) {
     7         // TODO Auto-generated method stub
     8         int[] coin=new int[]{5,6};
     9         for(int i=0;i<=30;i++)
    10             convertChange(coin,i);    
    11     }
    12     
    13     //coin:硬币面值
    14     //v:要兑换的价格
    15     public static void convertChange(int[] x,int v){
    16         boolean b[]=new boolean[v+1];    //能否用硬币兑换价格v
    17         b[0]=true;                        
    18         
    19         for(int i=1;i<=v;i++){            //能否用硬币兑换价格i (子问题的规模)
    20             for(int j=0;j<x.length;j++){
    21                 if(i>=x[j] && b[i-x[j]]==true){
    22                     b[i]=true;
    23                     break;
    24                 }else{
    25                     b[i]=false;
    26                 }
    27             }
    28         }
    29         System.out.println(v+":"+b[v]);
    30     }
    31     
    32     //运行结果
    33 /*    0:true
    34     1:false
    35     2:false
    36     3:false
    37     4:false
    38     5:true
    39     6:true
    40     7:false
    41     8:false
    42     9:false
    43     10:true
    44     11:true
    45     12:true
    46     13:false
    47     14:false
    48     15:true
    49     16:true
    50     17:true
    51     18:true
    52     19:false
    53     20:true
    54     21:true
    55     22:true
    56     23:true
    57     24:true
    58     25:true
    59     26:true
    60     27:true
    61     28:true
    62     29:true
    63     30:true*/
    64 }
    View Code
  • 相关阅读:
    strpbrk函数
    memchr函数
    memset函数
    strrev函数
    strncmp函数
    strset函数
    strtok函数
    计算机经典书籍之程序设计语言
    spring自定义bean的作用域
    lucene文章
  • 原文地址:https://www.cnblogs.com/xiu68/p/7988956.html
Copyright © 2020-2023  润新知