Hãy viết chương trình đổi tiền có mệnh giá n đồng ra các tiền 200000, 100000, 50000
đồng sao cho số tờ tiền là ít nhất. n được nhập vào từ bàn phím
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Bạn ơi!
Viết rõ là có thể đổi ra thành bao nhiêu tờ 10,5,2,1 đồng hay là có thể lấy bao nhiêu tờ 10,5,2,1 để tạo thành một số tiền bằng n vậy bạn?
Ví dụ như nhập n=30
thì xuất là 3 tờ 10; 6 tờ 5; 15 tờ 2; 30 tờ 1
hay là xuất 3 tờ 10
Ta thấy:
Loại tiền có mệnh giá nhỏ hơn 20000 đồng gồm 4 tờ là: 1000 đồng, 2000 đồng, 5000 đồng, 10000 đồng
Loại tiền có mệnh giá lớn hơn 20000 đồng gồm 4 tờ là: 50000 đồng, 100000 đồng, 200000 đồng, 500000 đồng
Với tờ 20000 đồng, bác Lân có thể kết hợp với 4 tờ có mệnh giá nhỏ hơn nó để cho ra 4 cách rút tiền
Làm tương tự như vậy: Cho 4 tờ có mệnh giá lớn hơn 20000 đồng kết hợp với 4 tờ có mệnh giá nhỏ hơn 20000 đồng, bác Lân có số cách rút tiền là: 4 x 4 = 16 (cách)
Cho 5 tờ có mệnh giá từ 20000 đồng đến 500000 đồng, bác Lân có số cách rút tiền là: 5 x 4 : 2 = 10 (cách)
Suy ra: Tổng số cách rút tiền để chắc chắn thừa tiền trả cho người bán hàng là: 4 + 16 + 10 = 30 (cách)
{ đơn giá: a, số lượng: b}
uses crt;
var a,b,s,thanhtoan:integer;
begin
write('nhap gia don hang:');
read(a);
write('nhap so luong hang:');
s:=0;
thanhtoan:=0;
s:=a*b;
if s>100 then thanhtoan:= s*(30/100)
else thanhtoan:= s* (10/100);
write(' so tien can thanh toan la:',' ',thanhtoan);
readln;
end.
vì 500000 chia hết cho 50000 và 100000 nên đổi tờ 500000sang tờ 50000 hay100000 thì số tiền nhận lại được là 500000 đ nếu đổi ra mình tờ 200000 thi số tiền nhận lại được là 400000 vì 500000 không chia hết cho200000 Nếu đổi ra các tờ loại 50000;100000;200000 thì số tiền nhận lại được là 500000
Do đó chỉ là tiền đổi nên số tiền nhận lại vẫn là : 500000 đồng