题目:1分、2分、5角的硬币组成1角,共有多少种组合。
//weight 数组 硬币价值 //dp[i] 实现背包i价值方法个数 int main() { int weight[] = {1, 2, 5}; int dp[10] = {1}; for(int i = 0; i < 3; i++) for(int j = weight[i]; j < 10; j++) dp[j] += dp[j - weight[i]]; cout << "dp = " << dp[10] << endl; }
count = 0 # 5分硬币最多2枚 for i in range(3): # 2分硬币最多(10-5*i)/2枚 for j in range((10-5*i)//2 + 1): # 1分硬币最多10-5*i-2*j枚 for k in range(10-5*i-2*j): if 5*i + 2*j + k == 10: count += 1 print(count)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题