Покупка без сдачи

У нас есть N сумма в рублях и K количество всех монет, которые задаются пользователем. В распоряжении мы имеем 1, 2, 5 рублёвые монеты. Нужно вычислить O, D, P это количество каждой из монет разного номинала соответственно. То есть, N = 1O + 2D + 5*P и K = O + D + P. Как решить эту задачу?


Ответы (1 шт):

Автор решения: Harry

Очевидно, что N >= K и

N - K = D + 4P >= 0, D >= 0, P >= 0

Таких решений может быть много, так что дальше зависит от того, что вам нужно - одно решение или все. Или ищите одно решение (простейшее - P=0, D=N-K), или все. Собственно, все.

С потолка - 14 рублей, 10 монет. То самое простейшее - D = N-K = 4, P = 0, ну а O, соответственно, равно 6 монет. 6 по рублю, 4 по 2...

→ Ссылка