Банкомат-2

PHOTO EMBED

Thu Apr 28 2022 21:33:04 GMT+0000 (Coordinated Universal Time)

Saved by @Gringi #c++

#include <iostream>

using std:: cout;
using std:: cin;
using std:: endl;

int main() {
    int nominals[] = {5000, 2000, 1000, 500, 200, 100};
    int requested;
  
    cin >> requested; 
    cout << "Запрашиваемая сумма: " << requested << endl;
  
    if (requested % 100 != 0) {
        cout << " - Невозможно предоставить " << requested << ". Не должно быть меньше 100." << endl;
    } else if (requested > 150000) {
        cout << " - Невозможно предоставить " << requested << ". Не должно превышать 150000" << endl;
    } else {
        for (auto nominal : nominals) {
            cout << " - " << nominal << " x " << (requested / nominal) << endl;
            requested %= nominal;
          }
      }
}
content_copyCOPY

Однажды Вася подошел к банкомату и захотел обналичить N рублей. В банкомате есть купюры достоинством 100, 200, 500, 1000, 2000 и 5000 рублей. Банкомат хочет выдать Васе запрошенную сумму, обойдясь как можно меньшим числом купюр. Напишите программу для банкомата, которая по заданному числу N решает, сколько купюр каждого номинала нужно выдать для получения суммы ровно N рублей, либо говорит, что выдать ровно N рублей невозможно (например, если N не делится на 100). В качестве дополнительного ограничения учтите, что банкомат не может выдать за раз более 150 000 рублей, при попытке запросить такую сумму должно быть выдано сообщение об ошибке. Если можно выдать запрошенную сумму разными способами, которые не отличаются по суммарному количеству купюр, разрешается вывести любой из них. Например, 800 рублей можно выдать как 4 по 200 или как 500 и еще 3 по 100.