五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《算法設(shè)計與分析》實驗報告3

2022-08-05 10:22 作者:老師-忘記密碼  | 我要投稿

算法設(shè)計與分析》實驗報告3

?

實驗名稱: 貨幣支付問題

系????別:xxx???????????

專????業(yè):xxx? ? ? ? ? ?

班????級:xxx

姓????名:xxx? ? ? ? ??

學(xué)????號:xxx

實驗日期:xx年xx月xx日


?

1. ?算法題目

根據(jù)動態(tài)規(guī)劃法的設(shè)計思想和算法步驟,要求學(xué)生設(shè)計一個動態(tài)規(guī)劃算法,用于解決貨幣支付的問 題。n種貨幣面額的紙幣,需要支付y價值的商品,問如何出最少的貨幣張數(shù)??梢韵忍幚碇恢Ц兑?種面額的貨幣,再處理支付兩種面額的貨幣,再處理支付三種面額的貨幣,......。后一個方案,可 以基于前一個方案,通過追加不同面額的貨幣得到。因此,可以用動態(tài)規(guī)劃算法解決該問題。

?

2. ?設(shè)計思路與步驟

定義錢幣種類數(shù)組coins[]和動態(tài)規(guī)劃數(shù)組dp[];初始化dp和coins;找出動態(tài)規(guī)劃條件如下:

if(i >= coins[j] && dp[i - coins[j]] + 1 < dp[i]){ ?

????????????????dp[i] = dp[i- coins[j] ] + 1;

????????????}

填表即可得出dp[money]即為最優(yōu)解。

?

3. ?算法實現(xiàn)與代碼

#include<stdio.h>

int main() {

int coins[10000];

int dp[10000];

int kind;

int i;

int j;

int money;

printf("請輸入貨幣的種類:");

scanf("%d", &kind);

for(i = 0; i < kind; i++) {

printf("請輸入第%d種貨幣的面值:\n", i + 1);

scanf("%d", &coins[i]);

}

printf("請輸入待支付的金額(money<=10000):");

scanf("%d", &money);

dp[0] = 0;

for(i = 1; i <= money; i++)

dp[i] = 65535;

for(i = 1; i <= money; i++) {

for(j = 0; j < kind; j++){

if(i >= coins[j] && dp[i - coins[j]] + 1 < dp[i]){ ?

????????????????dp[i] = dp[i- coins[j] ] + 1;

????????????}

????????}

}

if(dp[money] == 65535)

printf("支付失??!\n");

else

printf("最少貨幣數(shù)為%d\n", dp[money]);

return 0;

}

?

4. ?測試用例與結(jié)果


答:xxx。

?

《算法設(shè)計與分析》實驗報告3的評論 (共 條)

分享到微博請遵守國家法律
神木县| 商城县| 东港市| 吉安市| 漳浦县| 青河县| 灵寿县| 遂溪县| 敦煌市| 邯郸县| 望奎县| 获嘉县| 宜州市| 周至县| 咸阳市| 昭苏县| 兴隆县| 嵊州市| 淮阳县| 马尔康县| 阿克| 呼和浩特市| 秦皇岛市| 延寿县| 大田县| 寻乌县| 栖霞市| 昌乐县| 东台市| 北宁市| 汉源县| 襄樊市| 滁州市| 玉田县| 兴业县| 新河县| 无锡市| 蛟河市| 通州市| 景东| 波密县|