#include <stdio.h>
#include <limits.h>
int min(int a, int b) {
return (a < b) ? a : b;
}
int changeMaking(int coins[], int n, int amount) {
int dp[amount + 1];
dp[0] = 0;
for (int i = 1; i <= amount; i++) {
dp[i] = INT_MAX;
for (int j = 0; j < n; j++) {
if (i >= coins[j]) {
dp[i] = min(dp[i], dp[i - coins[j]] + 1);
}
}
}
return dp[amount];
}
int main() {
int coins[] = {1, 2, 5};
int n = sizeof(coins) / sizeof(coins[0]);
int amount = 11;
int result = changeMaking(coins, n, amount);
printf("最少的硬币数: %d\n", result);
return 0;
}