Bài toán đổi tiền bằng thuật toán Ăn tham (Greedy)

Like và +1 để giúp blog được duy trì và phát triển

Bài liên quan:

Thuật toán tham ăn là gì?
Phương pháp học lập trình C/C++ hiệu quả - Phần 1
Chín thói quen xấu cần bỏ nếu muốn theo học ngành CNTT
Yêu cầu: nhập 1 số n đại diện cho số tiền cần đổi, số n này phải là bội số của 10.000. Trong máy ATM có sẵn các loại tiền là 100.000, 50.000, 20.000 và 10.000. Hãy viết chương trình cho phép đổi số tiền n thành các tờ tiền thuộc 4 mệnh giá kể trên với số lượng tờ tiền là ít nhất.

Hình minh họa: đoạn code giải bài toán ở bên dưới hình này.



Code: bạn ơi like và +1 để giúp đỡ blog có thể được duy trì và phát triển 
#include <iostream>
#include <stdlib.h>
using namespace std;

int
main(){
int
n;
do

{

cout << "moi ban nhap so tien: ";
cin >> n;
}
while (n<10000);
if
(n % 10000 != 0){
cout << "so tien phai chia het cho 10.000\n";
return
1;
}

int
motTram = n/100000;
n = n % 100000;
int
namMuoi = n/50000;
n = n % 50000;
int
haiMuoi = n/20000;
n = n % 20000;
int
muoi = n/10000;
cout<<"Ket qua: \n";
cout<<motTram<<" x 100.000 + "<<namMuoi<<" x 50.000 + "
<<
haiMuoi<<" x 20.000 + "<<muoi<<" x 10.000"<<endl;
system("pause");

return
0;
}

Bài liên quan

Bài liên quan