Hướng dẫn giải của Tính tiền điện (Minh họa TS chuyên PT 2024)
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Hướng dẫn giải
Tính số tiền điện phải trả khi dùng x số điện. 100 số đầu tính 450đ mỗi số; từ số 101 đến số 150 tính 750đ mỗi số; trên 150 số tính 950đ mỗi số.
Cách làm
Nếu x <= 100 thì tiền = x * 450. Nếu 100 < x <= 150 thì tiền = 100 * 450 + (x - 100) * 750. Nếu x > 150 thì tiền = 100 * 450 + 50 * 750 + (x - 150) * 950.
Bẫy: x có thể lên tới 10^9 và số tiền lớn nên dùng long long. Ví dụ x = 120 cho 45000 + 20 * 750 = 60000.
#include <bits/stdc++.h>
using namespace std;
int main() {
long long x;
cin >> x;
long long tien;
if (x <= 100) {
// 100 số đầu tiên: 450đ mỗi số
tien = x * 450;
} else if (x <= 150) {
// 100 số đầu: 45000đ; từ số 101 đến x: 750đ mỗi số
tien = 100 * 450 + (x - 100) * 750;
} else {
// 100 số đầu: 45000đ; 50 số tiếp theo: 37500đ; từ số 151 trở lên: 950đ mỗi số
tien = 100 * 450 + 50 * 750 + (x - 150) * 950;
}
cout << tien << "\n";
return 0;
}
Bình luận