Open In App

Percentage change in Hemisphere volume if radius is changed

Last Updated : 07 Aug, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Given that the radius of a hemisphere is changed by a fixed percentage so, the target is to calculate the percentage changed in the volume of the hemisphere.
 

Examples: 
Input: r = 20% 
Output: 72.80%
Input: r = 70% 
Output: 391.30 % 
 


 


Approach: 
 

  • Let, the radius of the hemisphere = a
     
  • Given percentage increase = x%
     
  • Volume before increase = \frac{2}{3} * 3.14*a^3
     
  • New radius after increase = a + \frac{ax}{100}
     
  • So, new volume = \frac{2}{3}*3.14*(a^3 + (\frac{ax}{100})^3 + \frac{3a^3x}{100} + \frac{3a^3x^2}{10000})
     
  • Change in volume = \frac{2}{3}*3.14*((\frac{ax}{100})^3 + \frac{3a^3x}{100} + \frac{3a^3x^2}{10000})
     
  • Percentage increase in volume 
    = (\frac{2}{3}*3.14*((\frac{ax}{100})^3 + \frac{3a^3x}{100} + \frac{3a^3x^2}{10000})/\frac{2}{3}*3.14*a^3) * 100
    = \frac{x^3}{10000} + 3x + \frac{3x^2}{100}
     


Below is the implementation of the above approach: 
 

CPP

// C++ program to find percentage change
// in hemisphere volume wrt change in radius
 
#include <iostream>
#include <math.h>
using namespace std;
 
// Function to find the change
// in hemispheric volume
void new_vol(double x)
{
 
    if (x > 0) {
 
        cout << "% change in the "
             << "volume of the hemisphere: "
             << pow(x, 3) / 10000 + 3 * x
                    + (3 * pow(x, 2)) / 100
             << "%"
             << " increase\n";
    }
 
    else if (x < 0) {
 
        cout << "% change in the "
             << "volume of the hemisphere: "
             << pow(x, 3) / 10000 + 3 * x
                    + (3 * pow(x, 2)) / 100
             << "% decrease\n";
    }
 
    else {
        cout << "Volume remains the same.";
    }
}
 
// Driver code
int main()
{
 
    // Get the change in radius
    double x = -10.0;
 
    // Calculate the change in hemispheric volume
    new_vol(x);
 
    return 0;
}

                    

Java

// Java program to find percentage change
// in hemisphere volume wrt change in radius
class GFG
{
 
// Function to find the change
// in hemispheric volume
static void new_vol(double x)
{
 
    if (x > 0)
    {
 
        System.out.print("% change in the "
            + "volume of the hemisphere: "
            + (Math.pow(x, 3) / 10000 + 3 * x
                    + (3 * Math.pow(x, 2)) / 100)
            + "%"
            + " increase\n");
    }
 
    else if (x < 0)
    {
 
        System.out.print("% change in the "
            + "volume of the hemisphere: "
            + (Math.pow(x, 3) / 10000 + 3 * x
                    + (3 * Math.pow(x, 2)) / 100)
            + "% decrease\n");
    }
 
    else
    {
        System.out.print("Volume remains the same.");
    }
}
 
// Driver code
public static void main(String[] args)
{
 
    // Get the change in radius
    double x = -10.0;
 
    // Calculate the change in hemispheric volume
    new_vol(x);
}
}
 
// This code is contributed by Rajput-Ji

                    

Python

# Python3 program to find percentage change
# in hemisphere volume wrt change in radius
 
 
# Function to find the change
# in hemispheric volume
def new_vol(x):
 
    if (x > 0):
 
        print("% change in the volume of the hemisphere: ", pow(x, 3) / 10000 + 3 * x + (3 * pow(x, 2)) / 100,"% increase")
 
    elif (x < 0):
 
        print("% change in the volume of the hemisphere: ", pow(x, 3) / 10000 + 3 * x + (3 * pow(x, 2)) / 100,"% decrease")
 
    else:
        print("Volume remains the same.")
# Driver code
 
# Get the change in radius
x = -10.0
 
# Calculate the change in hemispheric volume
new_vol(x)
 
# This code is contributed by mohit kumar 29

                    

C#

// C# program to find percentage change
// in hemisphere volume wrt change in radius
using System;
 
class GFG
{
 
    // Function to find the change
    // in hemispheric volume
    static void new_vol(double x)
    {
        if (x > 0)
        {
     
            Console.Write("% change in the "
                + "volume of the hemisphere: "
                + (Math.Pow(x, 3) / 10000 + 3 * x
                        + (3 * Math.Pow(x, 2)) / 100)
                + "%"
                + " increase\n");
        }
     
        else if (x < 0)
        {
     
            Console.Write("% change in the "
                + "volume of the hemisphere: "
                + (Math.Pow(x, 3) / 10000 + 3 * x
                        + (3 * Math.Pow(x, 2)) / 100)
                + "% decrease\n");
        }
     
        else
        {
            Console.Write("Volume remains the same.");
        }
    }
     
    // Driver code
    public static void Main()
    {
     
        // Get the change in radius
        double x = -10.0;
     
        // Calculate the change in hemispheric volume
        new_vol(x);
    }
}
 
// This code is contributed by AnkitRai01

                    

Javascript

// javascript program to find percentage change
// in hemisphere volume wrt change in radius
 
    // Function to find the change
    // in hemispheric volume
    function new_vol(x)
    {
        if (x > 0)
        {
       
            document.write("% change in the "
                + "volume of the hemisphere: "
                + (Math.pow(x, 3) / 10000 + 3 * x
                        + (3 * Math.pow(x, 2)) / 100)
                + "%"
                + " increase\n");
        }
       
        else if (x < 0)
        {
       
            document.write("% change in the "
                + "volume of the hemisphere: "
                + (Math.pow(x, 3) / 10000 + 3 * x
                        + (3 * Math.pow(x, 2)) / 100)
                + "% decrease\n");
        }
       
        else
        {
            document.write("Volume remains the same.");
        }
    }
       
    // Driver code
     
        // Get the change in radius
        var x = -10.0;
       
        // Calculate the change in hemispheric volume
        new_vol(x);
 
// This code is contributed by bunnyram19. 

                    

Output: 
% change in the volume of the hemisphere: -27.1% decrease

 

Time Complexity: O(1)

Auxiliary Space: O(1) as using only constant variables



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads