题解
【入门】兑换硬币
1 条题解
-
0
解题思路
- 一元钱等于100分。
- 设1分、2分、5分硬币的数量分别是a、b、c。
- a、b、c都至少是1。枚举a和b后,剩下的钱必须全部换成5分硬币。
- 如果剩下的钱能被5整除,就找到一种换法,答案加1。
参考代码
// 读取题目给出的数据。 // 按照题意完成计算。 // 输出最终答案。 #include <iostream> using namespace std; int main() { int a, b, c, sum = 0; for (a = 1; a <= 98; a++) { for (b = 1; b <= 98; b++) { c = 100 - a - 2 * b; if (c >= 1 && c % 5 == 0) { sum++; } } } cout << sum << endl; return 0; }复杂度
最多枚举100乘100次,时间复杂度是O(10000),空间复杂度是O(1)。
- 1