Но вообще обычным for ты не отделаешься, если тебе надо получить 1100, ты что делаешь, берешь 500 и видишь, что тебе нужно еще 600 набрать. Вычитаешь из 600 еще 500, осталось 100, проверяешь остальные значения, видишь, что 100 так не набрать, идешь обратно к 600 и вычитаешь 3 раза по 200, видишь, что получилось - выдаешь результат
Ну или есть какой нибудь хитрый алгоритм, который упростит процесс работы, надо посмотреть