c++题目硬币组合
作者:野牛程序员:2023-09-18 14:45:00题目阅读 2626
给定一个包含不同硬币面额的钱包,例如 1 元、2 元、5 元,以及一个目标金额(例如 10 元),请列举出所有可能的硬币组合,使得它们的总金额等于目标金额。
#include <iostream>
int main() {
int coinValues[] = {1, 2, 5}; // 不同硬币的面额
int targetAmount = 10; // 目标金额
// 使用三个循环来尝试所有可能的硬币组合
for (int coin1 = 0; coin1 <= targetAmount; coin1 += coinValues[0]) {
for (int coin2 = 0; coin2 <= targetAmount; coin2 += coinValues[1]) {
for (int coin3 = 0; coin3 <= targetAmount; coin3 += coinValues[2]) {
int totalAmount = coin1 + coin2 + coin3;
if (totalAmount == targetAmount) {
// 找到一个硬币组合,输出它
std::cout << "硬币组合: " << coin1 / coinValues[0] << "个1元硬币, "
<< coin2 / coinValues[1] << "个2元硬币, "
<< coin3 / coinValues[2] << "个5元硬币" << std::endl;
}
}
}
}
return 0;
}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C++中的桶排序
- 下一篇:【内部资料】c++用vector模拟存储无向无权图
