Program to calculate Electricity Bill

Given an integer U denoting the amount of KWh units of electricity consumed, the task is to calculate the electricity bill with the help of the below charges:

  • 1 to 100 units – Rs. 10/unit
  • 100 to 200 units – Rs. 15/unit
  • 200 to 300 units – Rs. 20/unit
  • above 300 units – Rs. 25/unit

Examples:

Input: U = 250
Output: 3500
Explanation:
Charge for the first 100 units – 10*100 = 1000
Charge for the 100 to 200 units – 15*100 = 1500
Charge for the 200 to 250 units – 20*50 = 1000
Total Electricity Bill = 1000 + 1500 + 1000 = 3500

Input: U = 95
Output: 950
Explanation:
Charge for the first 100 units – 10*95 = 950
Total Electricity Bill = 950

Approach: The idea is to identify the charge bar in which it falls and then calculate the bill according to the charges mentioned above. Below is the illustration of the steps:



  • Check units consumed is less than equal to the 100, If yes then the total electricity bill will be:

    \text{Total Electricity Bill} = (\text{units} * 10)

  • Else if, check that units consumed is less than equal to the 200, if yes then total electricity bill will be:

    \text{Total Electricity Bill} = (100*10) + (\text{units}-100) * 15

  • Else if, check that units consumed is less than equal to the 300, if yes then total electricity bill will be:

    \text{Total Electricity Bill} = (100*10) + (100*15) + (\text{units}-200) * 20

  • Else if, check that units consumed greater than 300, if yes then total electricity bill will be:

    \text{Total Electricity Bill} = (100*10) + (100*15) + (100*20) + (\text{units}-300) * 25

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ implementation to calculate the 
// electricity bill 
#include<bits/stdc++.h>
using namespace std;
  
// Function to calculate the 
// electricity bill 
int calculateBill(int units) 
  
    // Condition to find the charges 
    // bar in which the units consumed 
    // is fall 
    if (units <= 100) 
    
        return units * 10; 
    
    else if (units <= 200)
    
        return (100 * 10) + 
               (units - 100) * 15; 
    
    else if (units <= 300)
    
        return (100 * 10) + 
               (100 * 15) + 
               (units - 200) * 20; 
    
    else if (units > 300)
    
        return (100 * 10) + 
               (100 * 15) + 
               (100 * 20) + 
               (units - 300) * 25; 
    
    return 0; 
  
// Driver Code 
int main() 
    int units = 250; 
    cout << calculateBill(units); 
  
// This code is contributed by spp____

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java implementation to calculate the
// electricity bill
  
import java.util.*;
  
class ComputeElectricityBill {
  
    // Function to calculate the
    // electricity bill
    public static int calculateBill(int units)
    {
  
        // Condition to find the charges
        // bar in which the units consumed
        // is fall
        if (units <= 100) {
            return units * 10;
        }
        else if (units <= 200) {
            return (100 * 10)
                + (units - 100)
                      * 15;
        }
        else if (units <= 300) {
            return (100 * 10)
                + (100 * 15)
                + (units - 200)
                      * 20;
        }
        else if (units > 300) {
            return (100 * 10)
                + (100 * 15)
                + (100 * 20)
                + (units - 300)
                      * 25;
        }
        return 0;
    }
  
    // Driver Code
    public static void main(String args[])
    {
        int units = 250;
  
        System.out.println(
            calculateBill(units));
    }
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 implementation to calculate the 
# electricity bill 
  
# Function to calculate the 
# electricity bill 
def calculateBill(units):
  
    # Condition to find the charges 
    # bar in which the units consumed 
    # is fall 
    if (units <= 100):
       
        return units * 10
      
    elif (units <= 200):
      
        return ((100 * 10) + 
                (units - 100) * 15); 
      
    elif (units <= 300):
       
        return ((100 * 10) + 
                (100 * 15) + 
                (units - 200) * 20); 
      
    elif (units > 300):
      
        return ((100 * 10) + 
                (100 * 15) + 
                (100 * 20) + 
                (units - 300) * 25); 
      
    return 0
  
# Driver Code 
units = 250
print(calculateBill(units)); 
  
# This code is contributed by Code_Mech

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# implementation to calculate the 
// electricity bill 
using System;
  
class ComputeElectricityBill{ 
  
// Function to calculate the 
// electricity bill 
public static int calculateBill(int units) 
  
    // Condition to find the charges 
    // bar in which the units consumed 
    // is fall 
    if (units <= 100)
    
        return units * 10; 
    
    else if (units <= 200)
    
        return (100 * 10) + 
               (units - 100) * 15; 
    
    else if (units <= 300) 
    
        return (100 * 10) +
               (100 * 15) + 
               (units - 200) * 20; 
    
    else if (units > 300) 
    
        return (100 * 10) + 
               (100 * 15) + 
               (100 * 20) + 
               (units - 300) * 25; 
    
    return 0; 
  
// Driver Code 
public static void Main(String []args) 
    int units = 250; 
      
    Console.WriteLine(calculateBill(units)); 
  
// This code is contributed by spp____

chevron_right


Output:

3500

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : spp____, Code_Mech