最少硬幣問題

2021-06-16 07:22:56 字數 959 閱讀 2349

問題描述:

設有n 種不同面值的硬幣,各硬幣的面值存於陣列t〔1:n〕中。現要用這些面值的硬

幣來找錢。可以使用的各種面值的硬幣個數存於陣列coins〔1:n〕中。

對任意錢數0≤m≤20001,設計乙個用最少硬幣找錢m的方法。

?程式設計任務:

對於給定的1≤n≤10,硬幣面值陣列t和可以使用的各種面值的硬幣個數陣列coins,

以及錢數m,0≤m≤20001,程式設計計算找錢m的最少硬幣數。

?資料輸入:

由檔案input.txt 提供輸入資料,檔案的第一行中只有1 個整數給出n的值,第2 行起每

行2 個數,分別是t[j]和coins[j]。最後1 行是要找的錢數m。

?結果輸出:

程式執行結束時,將計算出的最少硬幣數輸出到檔案output.txt中。問題無解時輸出-1。

輸入檔案示例 輸出檔案示例

input3

1 3

2 3

5 3

18 output 

5 #include

using namespace std;

int main()

cin>>m;

int *way=new int [m+1];

int *way1=new int [m+1];

way1[0]=way[0]=0;

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

else

v=t+way[i-value[j]*t];

if(way1[i]==0||way1[i]>v)

way1[i]=v;

t++;

} }

for(i=1;i<=m;i++) }

if(way[m]==0)

way[m]=-1;

cout<

return 0;

}

最少硬幣問題

問題描述 有n種不同面值的硬幣,各硬幣面值存於陣列t 1 n 現用這些面值的錢來找錢 各面值的個數存在陣列num 1 n 中。程式設計任務 對於給定的1 n 10,硬幣面值陣列 各面值的個數及錢數m,0 m 2001,程式設計計算找錢m的最少硬幣數。input 第乙個數字n,後面n行每行兩個數,面值...

最少硬幣問題

本文內容遵從 cc版權協議 設有n 種不同面值的硬幣,各硬幣的面值存於陣列t 1 n 中。現要用這些面值的硬幣來找錢。可以使用的各種面值的硬幣個數與面值分別存於陣列coin 1 n 和t 1 n 中。對任意錢數0 m 20001,設計乙個用最少硬幣找錢m的方法,對於給定的1 n 10,硬幣面值陣列t...

最少硬幣問題

problem description 設有n種不同面值的硬幣,各硬幣的面值存於陣列t 1 n 中。現要用這些面值的硬幣來找錢。可以使用的各種面值的硬幣個數存於陣列coins 1 n 中。對任意錢數0 m 20001,設計乙個用最少硬幣找錢m的方法。對於給定的1 n 10,硬幣面值陣列t和可以使用的...