Khách hàng Minh gửi tiết kiệm không kì hạn số tiền A đồng với lãi suất X% mỗi tháng. Hỏi sau bao nhiêu tháng, anh Minh rút hết tiền về thì sẽ nhận được ít nhất là B đồng? Biết rằng việc gửi không kì hạn thì lãi suất không

Khách hàng Minh gửi tiết kiệm không kì hạn số tiền A đồng với lãi suất X% mỗi tháng. Hỏi sau bao nhiêu tháng, anh Minh rút hết tiền về thì sẽ nhận được ít nhất là B đồng? Biết rằng việc gửi không kì hạn thì lãi suất không được cộng vào vốn. Dữ liệu: Vào từ file văn bản DEPOS.INP gồm 1 dòng chứa 3 số A, B, X. Kết quả: Đưa ra file văn bản DEPOS.OUT là số tháng cần tìm. Ví dụ 1: DEPOS.INP DEPOS.OUT 1000 1006 0.5 2 Giải thích ví dụ1: Số tiền gửi tiết kiệm là A= 1000 với lãi xuất là x=0.5% một tháng thì số tiền tiết kiệm trong tháng đầu tiên là 1000+1000*0.5%(Biết rằng việc gửi không kì hạn thì lãi suất không được cộng vào vốn). Nên để rút hết tiền nhận được ít nhất là B=1006 thì cần 2 tháng. Ví dụ 2: DEPOS.INP DEPOS.OUT 2 9 1.0 350 Ràng buộc: - Có 3 điểm của bài thỏa mãn điều kiện 0.1 ≤ x ≤ 1; 0 < A < B ≤ 108; - Có 3 số điểm của bài thỏa mãn điều kiện 0.1 ≤ x ≤ 1; 108< A ≤ B ≤ 1018. lam trong c++
Câu trả lời này dùng AI, hãy kiểm tra lại trước khi sử dụng
```cpp
#include
#include

using namespace std;

int main() {
// Khai báo biến
long long A, B;
double X;

// Đọc dữ liệu từ file DEPOS.INP
ifstream input("DEPOS.INP");
input >> A >> B >> X;

// Đóng file sau khi đọc xong
input.close();

// Khởi tạo biến để đếm số tháng
int months = 0;
long long currentAmount = A;

// Tính toán số tháng cần thiết để số tiền đạt B đồng
while (currentAmount < B) {
currentAmount += static_cast(A * (X / 100));
months++;
}

// Ghi kết quả vào file DEPOS.OUT
ofstream output("DEPOS.OUT");
output << months;
output.close();

return 0;
}
```

Trong đoạn mã này, ta thực hiện các bước sau:

1. Nhập Dữ Liệu: Thông qua file `DEPOS.INP`, chúng ta đọc vào số tiền gốc `A`, số tiền tối thiểu cần nhận lại là `B`, và lãi suất hàng tháng `X`.

2. Khởi Tạo Biến: Chúng ta khởi tạo biến `months` với giá trị 0 để đếm số tháng, và `currentAmount` để lưu số tiền đang có, bắt đầu với giá trị `A`.

3. Tính Toán Số Tháng: Sử dụng vòng lặp `while`, ta kiểm tra điều kiện `currentAmount < B`. Trong mỗi vòng lặp, ta tính số lãi cho tháng hiện tại và cộng thêm vào `currentAmount`. Đồng thời, ta tăng biến `months` lên 1.

4. Ghi Kết Quả: Sau khi đã tính toán xong số tháng cần thiết, chúng ta ghi kết quả vào file `DEPOS.OUT`.

Chương trình này sẽ cho ra kết quả chính xác cho số tháng mà khách hàng Minh cần để số tiền rút về đạt ít nhất là `B` đồng.
Đăng phản hồi