Предположим, мои деноминации выглядят так: d = [1, 5, 10, 25]
. Давайте также предположим, что n, возвращаемое изменение равно 26. Это означает, что:
C[26] = min{C[26 - d[i]] + 1}
, который может быть выражен как:
C[26] = min{C[25], C[21], C[16], C[1]} + 1
.
Здесь «+1» - это просто монета, которую нужно добавить к одной из ранее решенных подзадач (например, C [25], C [21]), чтобы получить C [26].
Если мы рассмотрим еще более простой пример, например, n = 6 с теми же номиналами, мы знаем, что повторение будет:
C[6] = min{C[6 - d[i]]} + 1
или
C[6] = min{C[5], C[1]} + 1
Мы знаем, что C [5] равно 1 (потому что минимальный способ сделать 5 центов с номиналом 5 в миксе равен 1), и аналогично C [1] = 1. Минимальный здесь только 1, поэтому 1 + 1 = 2, а минимальное количество монет, необходимое для получения 6 центов, составляет 2 монеты.