[C++] Bài 110: Chia 200000 bằng các loại giấy 1000đ, 2000đ, 5000đ

1. Đề bài trong BT Kỹ Thuật Lập Trình

Cần có tổng 200000đ từ 3 loại giấy bạc 1000đ, 2000đ, 5000đ. Lập chương trình để tìm tất cả các phương án có thể.

Bài Tập Kỹ Thuật Lập Trình

2. Code tham khảo 1

#include <iostream>
using namespace std;

int main()
{
    int i, j, k, sl = 0;
    for (i = 0; i <= 200; ++i)
        for (j = 0; j <= 100; ++j)
            for (k = 0; k <= 40; ++k)
                if (i * 1000 + j * 2000 + k * 5000 == 200000)
                {
                    cout << i << " to 1000, " << j << " to 2000, " << k << " to 5000." << endl;
                    sl++;
                }
    cout << "Co tat ca " << sl << " Cach chon!\n";
    system("pause");
    return 0;
}

3. Code tham khảo 2

#include <iostream>
using namespace std;
int main()
{
    int n = 200000, socach = 0, si, sj, i, j, k;
    for (i = n / 1000; i >= 0; i--)
    {
        si = n - i * 1000;
        for (j = si / 2000; j >= 0; j--)
        {
            sj = si - j * 2000;
            for (k = sj / 5000; k >= 0; k--)
            {
                if (i * 1000 + j * 2000 + k * 5000 == 200000)
                {
                    cout << i << " to 1000, " << j << " to 2000, " << k << " to 5000." << endl;
                    socach++;
                }
            }
        }
    }
    cout << "Co tat ca " << socach << " Cach chon!\n";
    system("pause");
    return 0;
}

Đặng Minh Tiến UIT K11

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *