0.Tiền giấy và Tiền xu
Đọc một giá trị thực với hai chữ số thập phân. Đây là số tiền cần phải trả. Sau đó, tính số đồng tiền ít nhất phải dùng để trả số tiền này. Các tờ tiền giấy có mệnh giá 100, 50, 20, 10, 5, 2 R$. Các đồng tiền có mệnh giá 1, 0,50, 0,25, 0,10, 0,05 và 0,01 R$. In thông báo "Tiền giấy" theo sau danh sách tiền giấy và thông báo "Tiền xu" theo sau bởi danh sách đồng xu.
Đầu vào
Tệp đầu vào chứa một giá trị thực N (0 ≤ N ≤ 1000000.00).
Đầu ra
In số lượng tối thiểu của tiền giấy và đồng xu cần thiết để đạt giá trị đã cho, như ví dụ được đưa ra.
VÍ DỤ 1
INPUT 1
576.73
OUTPUT 1
Tien giay:
5 to R$ 100.00
1 to R$ 50.00
1 to R$ 20.00
0 to R$ 10.00
1 to R$ 5.00
0 to R$ 2.00
Tien xu:
1 dong xu R$ 1.00
1 dong xu R$ 0.50
0 dong xu R$ 0.25
2 dong xu R$ 0.10
0 dong xu R$ 0.05
3 dong xu R$ 0.01
VÍ DỤ 2
INPUT 2
4.00
OUTPUT2
Tien giay:
0 to R$ 100.00
0 to R$ 50.00
0 to R$ 20.00
0 to R$ 10.00
0 to R$ 5.00
2 to R$ 2.00
Tien xu:
0 dong xu R$ 1.00
0 dong xu R$ 0.50
0 dong xu R$ 0.25
0 dong xu R$ 0.10
0 dong xu R$ 0.05
0 dong xu R$ 0.01
VÍ DỤ 3
INPUT 3
91.01
OUTPUT 3
Tien giay:
0 to R$ 100.00
1 to R$ 50.00
2 to R$ 20.00
0 to R$ 10.00
0 to R$ 5.00
0 to R$ 2.00
Tien xu:
1 dong xu R$ 1.00
0 dong xu R$ 0.50
0 dong xu R$ 0.25
0 dong xu R$ 0.10
0 dong xu R$ 0.05
1 dong xu R$ 0.01
Comments
đúng có 5 case, buồn quá =))
mình sửa lại code c rồi mà vẫn chỉ đúng có 7 test
include<iostream>
using namespace std; int main() { double x; cin >> x; int a[] = { 100,50,20,10,5,2 }; int a1[6]; double b[] = { 1,0.5,0.25,0.1,0.05,0.01 }; int a2[6]; int x1 = (int)x; double x2 = x - x1; for (int i = 0; i < 6; i++) { a1[i] = x1/a[i]; x1=x1%a[i];
} x2 += x1; for (int i = 0; i < 6; i++) { a2[i] = x2 / b[i]; x2 -= b[i] * a2[i]; } cout << "Tien giay:\n"; for (int i = 0; i < 6; i++) { printf("%d to R$ %d.00\n",a1[i],a[i]); } cout << "Tien xu:\n"; for (int i = 0; i < 6; i++) { printf("%d dong xu R$ %0.2lf\n", a2[i], b[i]); } return 0; }
This comment is hidden due to too much negative feedback. Show it anyway.