Tổng số tờ tiền và số tờ từng loại theo mệnh giá

18
Lập trình C++

Bài toán: Nam có X đồng. Biết rằng tờ tiền có mệnh giá là 100, 50, 20, 10, 5, 2, 1. Hỏi số lượng tờ tiền ít nhất mà Nam cầm trên tay là bao nhiêu? Liệt kê từng loại tiền mà Nam có. Ví dụ: Dòng thứ nhất ghi tổng số tờ tiền, dòng thứ hai ghi số tờ tiền của từng loại (mỗi loại cách nhau một dấu cách). Ví dụ:

VND.INP

VND.OUT

6577

69

65 1 1 0 1 1 0

Code tham khảo:

#include <iostream>
using namespace std;
int main() {
    freopen("VND.INP","r",stdin);
    freopen("VND.OUT","w",stdout);
    int t;
    cin >> t;
    int a = t / 100;
    t %= 100;
    int b = t / 50;
    t %= 50;
    int c = t / 20;
    t %= 20;
    int d = t / 10;
    t %= 10;
    int e = t / 5;
    t %= 5;
    int f = t / 2;
    t %= 2;
    int g = t;
    cout << a+b+c+d+e+f+g << endl;
    cout << a << " " << b << " " << c << " "
         << d << " " << e << " " << f << " " << g;
    return 0;
}