题目:某人想将手中的一张面值100元的人民币换成10元、5元、2元和1元面值的票子。要求换正好40张,且每种票子至少一张,求有几种换法?
思路:穷举法
#include <stdio.h>
int main() {
int a, b, c, d;
int i = 0;
for (a = 1; a <= 9; a++) {
for (b = 1; b <= 19; b++) {
for (c = 1; c <= 49; c++) {
for (d = 1; d <= 99; d++) {
if (a + b + c + d == 40 && 10 * a + 5 * b + 2 * c + d == 100) {
printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);
i++;
}
}
}
}
}
printf("总共有%d种换法", i);
return 0;
}