演算法 硬幣問題(動態規劃)

2021-07-03 22:49:49 字數 759 閱讀 2722

/* 

name:硬幣問題(動態規劃)

actor:ht

time:2023年7月20日

error reporte:

1.不能得到答案時的限定。該題目中初始化,以及每次迴圈初形態要注意判斷

} */

#include "stdio.h"

#include "conio.h"

#include "string.h"

#define n 5

#define m 100000

int size[n];

int dmin[m];

int dmax[m];

void print(int d , int s) }}

int main()

printf("min = %d, max = %d\n",dmin[sum],dmax[sum]);

/*for(i=0;i<=sum;i++)

printf("%d\n",dmin[i]);*/

print(dmin,sum);

printf("\n");

print(dmax,sum);}/*

d[剩餘錢數] = 最少張數

d[a] = d[a-s] + 1;

d[a] = max/min(d[a],d[a-ijk] + 1,if a>ijk )

2 1/2

1 1

0 0

*/

動態規劃 硬幣問題

這是乙個固定重點的最長路和最短路問題,可用動態規劃問題來求解 代表硬幣總值,n代表硬幣總數,v陣列儲存硬幣各個面值,d代表從i出發到結點0的路徑的最長路徑長度或最短路徑長度 vis代表是否訪問過該結點 int n,s,v maxn d maxn vis maxn int dpmax int s re...

動態規劃 硬幣問題

2013 07 11 03 17 5610人閱讀收藏 舉報 演算法和資料結構學習 79 最少硬幣問題 假設有3種不同的硬幣,幣值分別是coinvalue 每一種硬幣的數量是有限的,分別是coinnum 給定乙個數值target 18,找出一種硬幣數最少的方法,輸出最少的硬幣數。思路 動態規劃。問題定...

動態規劃 硬幣問題

問題描述 輸入總金額n,硬幣不同價值的種類m,m種硬幣的面值 例如 15 6 1 2 7 8 12 50 輸出湊成n最少的硬幣數 1 貪心演算法 每次都選擇面值最大的。問題在於,求出來的並不是最優解,上例中,用貪心解出來的結果為3 1,2,12 而實際為2 7,8 include includeus...