硬幣。給定數量不限的硬幣,幣值為25分、10分、5分和1分,編寫**計算n分有幾種表示法。(結果可能會很大,你需要將結果模上1000000007)
示例1:
輸入: n = 5示例2:輸出:2
解釋: 有兩種方式可以湊成總金額:
5=55=1+1+1+1+1
輸入: n = 10注意:你可以假設,0 <= n (總金額) <= 1000000輸出:4
解釋: 有四種方式可以湊成總金額:
10=10
10=5+5
10=5+1+1+1+1+1
10=1+1+1+1+1+1+1+1+1+1
說明:
class
solution
//dp打表,用dp[i][v]表示前i個***構成金額v有幾種表示
const
int mod =
1e9+7;
int coins[4]
=;vectorint>>dp(
4, vector<
int>
(n +1,
0));
for(
int i =
0; i <4;
++i)
//列舉第i個***需要取幾次
// int t = j / coins[i];
// for(int k = 0; k <= t; ++k)
//不選0,選t次
dp[i]
[j]= dp[i -1]
[j];
if(j - coins[i]
>=0)
}}return dp[3]
[n];}}
;
7621 硬幣面值組合
描述 使用1角 2角 5角硬幣組成 n 角錢。設1角 2角 5角的硬幣各用了a b c個,列出所有可能的a,b,c組合。輸出順序為 先按c的值從小到大,若c相同則按b的值從小到大。輸入乙個整數n 1 n 100 代表需要組成的錢的角數。輸出輸出有若干行,每行的形式為 i a b c 第1列i代表當前...
騰訊 硬幣面值組合問題
題目描述 有n種不同面值的硬幣,每種面值的硬幣都有無限多個。為了方便攜帶,希望帶盡量少的硬幣,並且要能組合出1到m之間 包括1和m 的所有面值。輸入第一行包含兩個整數m,n,含義如題目所述。第二行包含n個整數,第i個整數表示第i種硬幣的面值。輸出輸出乙個整數,表示最少需要攜帶的硬幣數量。如果無解,則...
python面值組合 題目1 硬幣面值組合
問題描述 評測題目 給定 m 種面值的硬幣,每種面值的硬幣有無限多個,它們的面值分別為c c 0 c 1 c m 1 現用這些面值的硬幣湊齊 n 元,求有多少種方法。如 n 3,m 4,c 8,3,1,2 則有 3 種方法,分別為 問題分析 給定乙個金額n,假設有m種面值的硬幣c c 0 c 1 c...