硬幣找零問題 動態規劃問題

2021-08-09 17:39:02 字數 580 閱讀 3985

看到了 這文章,由於我不太懂他的**,所以我按他的題和思路,寫了**;

思路我就不寫了,就是動態規劃的思路,先保證區域性最優,再慢慢向全區域性最優;

#include #include #include #include using namespace std;

const int m=100;

int coinsum[m];

int coinvalue[m];

void findmin(int coin, int money)

} coinvalue[i] = flag;

coinsum[i] = min;

} printf("coin sum = %d\n",coinsum[money]);

int n = coinsum[money];

printf("coin value = ");

while(n--)

}int main();

int money = 18;

findmin(coin, money);

return 0;

}

硬幣找零問題(動態規劃)

給定指定的硬幣種類,面值為 1,3,5 在此具體化些 給定所找零的錢數 sum,給出最少的硬幣找零數,每個種類的硬幣無限使用。看到這問題,當時我想到用貪心演算法來求解,最後求解方案因為巧合對了,後來在網上看到動態規劃的題目,才知道貪心演算法得不到最優解,比如 給定 面值為 1,3,4,給定找零數為 ...

動態規劃 最小硬幣找零問題

這題很典型是動態規劃問題,為什麼呢?首先我們可以看一下什麼問題可以被看做動態規劃問題。因此動態規劃的精髓在於,充分利用上一次的計算結果來達成本次快速計算的目的 ok,一般我們解決動態規劃問題可分為三步走 分析問題的狀態時,不要分析整體,只分析最後乙個階段即可!因為動態規劃問題都是劃分為多個階段的,各...

動態規劃之硬幣找零問題

將 n 個硬幣按照面值進行排序,使得 c 1 c 2 c n s leftarrow empty while x 0 k leftarrow largest coin denomination c k such that c k leq x 最大硬幣面值 c k 使得 c k leq x if no...