Bạn thấy cái đề bài nó chính là cái thuật toán không?
Do đề không nói là tính giá 900đ/KW cho mỗi phần vượt định mức nên mình tính luôn là giá = số điện * đơn giá nhé
Mình viết bằng C#, diễn giải từng câu luôn nhé:
int ChiSoCu = Convert.ToInt32(Console.ReadLine());//Chỉ số cũ được nhập vào từ bàn phím
int ChiSoMoi = Convert.ToInt32(Console.ReadLine());//Chỉ số mới được nhập vào từ bàn phím
int DinhMuc = 50;//Định mức sử dụng điện cho mỗi hộ là: 50 KW
int DonGiaDinhMuc = 230;//Định mức sử dụng điện cho mỗi hộ là: 50 KW với giá 230đ/KW
int TienThueBaoDienKe = 1000;//Tiền thuê bao điện kế: 1000đ/tháng
int LuongDienSuDung = ChiSoMoi - ChiSoCu;
int PhanDinhMuc;
int PhanVuotDinhMuc;
if (LuongDienSuDung > DinhMuc)
{
PhanDinhMuc=DinhMuc;
PhanVuotDinhMuc = LuongDienSuDung - DinhMuc;//Nếu dùng quá định mức
//thì phần vượt định mức bằng lượng điện sử dụng trừ đi định mức
}
else
{
PhanVuotDinhMuc = 0;//Nếu dùng không quá định mức thì phần vượt định mức = 0
PhanDinhMuc=LuongDienSuDung;
}
int DonGiaVuotDinhMuc;
if (PhanVuotDinhMuc <= 50) DonGiaVuotDinhMuc = 480;//Nếu phần vượt định mức <= 50KW thì tính giá 480đ/KW
else if (PhanVuotDinhMuc < 100) DonGiaVuotDinhMuc = 700;//Nếu 50KW < phần vượt định mức < 100KW thì tính giá 700đ/KW
else if (PhanVuotDinhMuc <= 100) DonGiaVuotDinhMuc = 700;//Nếu phần vượt định mức <= 100KW thì tính giá 900đ/KW (ahjhj, ≤ kìa =))
int TienTraDinhMuc = PhanDinhMuc * DonGiaDinhMuc;
int TienVuotDinhMuc = PhanVuotDinhMuc * DonGiaVuotDinhMuc;
int TongTienPhaiTra = TienTraDinhMuc+TienVuotDinhMuc + TienThueBaoDienKe;
Console.WriteLine("Chỉ số cũ: " + ChiSoCu);//In ra màn hình chỉ số cũ
Console.WriteLine("Chỉ số mới: " + ChiSoMoi);//In ra màn hình chỉ số mới
Console.WriteLine("Tiền trả định mức: " + TienTraDinhMuc);//In ra màn hình tiền trả định mức
Console.WriteLine("Tiền trả vượt định mức: " + TienVuotDinhMuc);//In ra màn hình tiền trả vượt định mức
Console.WriteLine("Tổng tiền phải trả: " + TongTienPhaiTra);