Trong bài toán này, chúng ta được đưa ra bốn số xác định tổng giá trị (totalPrice) và tỷ lệ của các đồng xu 1 Rs, 50 paise, 25 paise trong túi. Nhiệm vụ là viết chương trình C++ để tìm số lượng đồng xu từng loại từ tỷ lệ cho trước.
Mô tả bài toán
Chúng ta cần sử dụng các đồng xu 1 Rs, 50 paise và 25 paise từ túi để tạo thành tổng giá trị bằng tổng cho trước.
Ví dụ minh họa
Đầu vào
TotalPrice = 225, 1Rs = 2, 50P = 3, 25P = 4
Đầu ra
1 Rs coin = 100 50 P coin = 150 25 P coin = 200
Giải thích
Xét theo tỷ lệ, giá trị các đồng xu tạo thành tổng:
Đồng 1 Rs: 2X, Đồng 50 paise: 1.5X, Đồng 25 paise: 1X
Tổng giá trị = 225
2X + 1.5X + 1X = 225 → 4.5X = 225 → X = 225/4.5 = 50
- Giá trị đồng 1 Rs = 100, số lượng = 100
- Giá trị đồng 50 paise = 75, số lượng = 150
- Giá trị đồng 25 paise = 50, số lượng = 200
Phương pháp giải
Như giải thích ở trên, ta tìm giá trị đóng góp của từng loại đồng xu vào tổng. Sau đó tính số lượng đồng xu dựa trên giá trị đó. Với đồng 1 Rs, X chính là số lượng đồng xu. Với đồng 50 paise, số lượng là 2X. Với đồng 25 paise, số lượng là 4X.
Chương trình C++ minh họa
#include <iostream>
using namespace std;
int CalcCoinValue(int totalPrice, int re1, int p50, int p25) {
float val1Coin = (re1 * 1.0);
float val50pCoin = (p50 / 2.0);
float val25pCoin = (p25 / 4.0);
int result = totalPrice / (val1Coin + val50pCoin + val25pCoin);
return result;
}
int main() {
int totalPrice = 225;
int re1 = 2, p50 = 3, p25 = 4;
int coinValue = CalcCoinValue(totalPrice, re1, p50, p25);
cout << "Count of 1 rupee coin = " << (coinValue * re1) << endl;
cout << "Count of 50 paise coin = " << (coinValue * p50) << endl;
cout << "Count of 25 paise coin = " << (coinValue * p25) << endl;
return 0;
}
Kết quả chạy chương trình
Count of 1 rupee coin = 100 Count of 50 paise coin = 150 Count of 25 paise coin = 200