Program to check if water tank overflows when n solid balls are dipped in the water tank

22 Jun, 2022
Given the dimensions of cylindrical water tank, spherical solid balls and the amount of water present in the tank check if water tank will overflow when balls are dipped in the water tank. Examples :  
input : H = 10, r =  5
        h = 5
        N = 2, R = 2
output : Not in overflow state
Explanation :
water tank capacity = 3.14 * r * r * H
                    = 3.14 * 5 * 5 * 10
                    = 785 

volume of water in tank = 3.14 * r * r * h
                        = 3.14 * 5 * 5 * 5
                        = 392.5
     
Volume of balls = N * (4/3) * 3.14 * R * R * R
                = 2 * (4/3) * 3.14 * 2 * 2 * 2
                = 67.02
Total volume of water + dip balls = 392.5 + 67.02
                                  = 459.52

Total volume (459.02) < tank capacity (785)
So, there is no overflow in tank

input : H = 5, r = 3 
        h = 3
        N = 3, R = 2
output : Overflow
Explanation:
water tank capacity = 3.14 * r * r * H
                    = 3.14 * 3 * 3 * 5
                    = 141.3

volume of water in tank = 3.14 * r * r * h
                        = 3.14 * 3 * 3 * 3
                        = 84.78

volume of balls = N * (4/3) * 3.14 * R * R * R
                = 3 * (4/3) * 3.14 * 2 * 2 * 2
                = 100.48

Total volume of water + dip balls = 84.78 + 100.48
                                  = 185.26

Total volume (185.26) > tank capacity (141.3)
So, tank will overflow
Approach: When solid balls are dipped in water, level of water increases, hence volume of water will also increase. Increasing in water volume = Total volume of dip ballsVolume of Cylinder = 3.14 * r * r * h where: r: radius of tank h: height of tankNumber of balls are n Balls have shape of Sphere Volume of Sphere = (4/3) * 3.14 * R * R * R Where R: Sphere’s(solid ball) radiusAfter dipping all balls, if the total volume of water and all balls is less than or equal to the total volume of tank capacity then there will no overflow in tank, otherwise there will be overflow.Below is the implementation of above approach:  
C++
Java
Python3
C#
PHP
Javascript
// C++ Program to check if water tank// overflows when n solid balls are// dipped in the water tank#include <bits/stdc++.h>using namespace std; // function to find if tak will// overflow or notvoid overflow(int H, int r, int h,              int N, int R){    // cylinder capacity    float tank_cap = 3.14 * r * r * H;     // volume of water in tank    float water_vol = 3.14 * r * r * h;     // volume of n balls    float balls_vol = N * (4 / 3) * 3.14 * R * R * R;     // total volume of water    // and n dipped balls    float vol = water_vol + balls_vol;     /* condition to check if tank is in    overflow state or not */    if (vol > tank_cap) {        cout << "Overflow" << endl;    }    else {        cout << "Not in overflow state"             << endl;    }} // main functionint main(){    // giving dimensions    int H = 10, r = 5, h = 5,        N = 2, R = 2;     // calling function    overflow(H, r, h, N, R);    return 0;}
// JAVA Code for Program to check if// water tank overflowsimport java.util.*; class GFG {     // function to find if tak will    // overflow or not    static void overflow(int H, int r, int h,                         int N, int R)    {        // cylinder capacity        double tank_cap = 3.14 * r * r * H;         // volume of water in tank        double water_vol = 3.14 * r * r * h;         // volume of n balls        double balls_vol = N * (4 / 3) * 3.14 * R * R * R;         // total volume of water        // and n dipped balls        double vol = water_vol + balls_vol;         /* condition to check if tank is in        overflow state or not */        if (vol > tank_cap) {            System.out.println("Overflow");        }        else {            System.out.println("Not in overflow state");        }    }     /* Driver program to test above function */    public static void main(String[] args)    {        // giving dimensions        int H = 10, r = 5, h = 5,            N = 2, R = 2;         // calling function        overflow(H, r, h, N, R);    }} // This code is contributed by Arnav Kr. Mandal.
# Python code to check if water tank# overflows when n solid balls are# dipped in the water tank # function to find if tak will# overflow or notdef overflow( H, r, h, N, R ):     # cylinder capacity    tank_cap = 3.14 * r * r * H         # volume of water in tank    water_vol = 3.14 * r * r * h         # volume of n balls    balls_vol = N * (4 / 3) * 3.14 * R * R * R         # total volume of water    # and n dipped balls    vol = water_vol + balls_vol         # condition to check if tank is in    # overflow state or not    if vol > tank_cap:        print("Overflow")    else:        print("Not in overflow state") # Driver code # giving dimensionsH = 10r = 5h = 5N = 2R = 2 # calling functionoverflow (H, r, h, N, R) # This code is contributed by "Sharad_Bhardwaj".
// C# Code for Program to check if// water tank overflowsusing System; class GFG {     // function to find if tak will    // overflow or not    static void overflow(int H, int r, int h,                         int N, int R)    {        // cylinder capacity        double tank_cap = 3.14 * r * r * H;         // volume of water in tank        double water_vol = 3.14 * r * r * h;         // volume of n balls        double balls_vol = N * (4 / 3) * 3.14 * R * R * R;         // total volume of water        // and n dipped balls        double vol = water_vol + balls_vol;         /* condition to check if tank is in        overflow state or not */        if (vol > tank_cap) {            Console.WriteLine("Overflow");        }        else {            Console.WriteLine("Not in overflow state");        }    }     /* Driver program to test above function */    public static void Main()    {        // giving dimensions        int H = 10, r = 5, h = 5,            N = 2, R = 2;         // calling function        overflow(H, r, h, N, R);    }} // This code is contributed by vt_M.
<?php// PHP Program to check if water tank// overflows when n solid balls are// dipped in the water tank // function to find if tank// will overflow or not function overflow($H, $r, $h,                      $N, $R){    // cylinder capacity    $tank_cap = 3.14 * $r *                  $r * $H;         // volume of water in tank    $water_vol = 3.14 * $r *                   $r * $h;         // volume of n balls    $balls_vol = $N * (4/3) *                  3.14 * $R *                     $R * $R;         // total volume of water    // and n dipped balls    $vol = $water_vol + $balls_vol;     // condition to check if tank    // is in overflow state or not    if($vol > $tank_cap)    {        echo "Overflow", "\n";    }    else    {        echo "Not in overflow state", "\n";             }} // Driver Code// giving dimensions$H = 10; $r = 5; $h = 5;$N = 2; $R = 2; // calling function    overflow ($H, $r, $h, $N, $R);     // This code is contributed by aj_36?>
<script> // JavaScript program for Program to check if// water tank overflows     // function to find if tak will    // overflow or not    function overflow(H, r, h,                         N, R)    {        // cylinder capacity        let tank_cap = 3.14 * r * r * H;           // volume of water in tank        let water_vol = 3.14 * r * r * h;           // volume of n balls        let balls_vol = N * (4 / 3) * 3.14 * R * R * R;           // total volume of water        // and n dipped balls        let vol = water_vol + balls_vol;           /* condition to check if tank is in        overflow state or not */        if (vol > tank_cap) {            document.write("Overflow");        }        else {            document.write("Not in overflow state");        }    }  // Driver Code          // giving dimensions        let H = 10, r = 5, h = 5,            N = 2, R = 2;           // calling function        overflow(H, r, h, N, R); // This code is contributed by chinmoy1997pal.</script>
Output :  
Not in overflow state
Time Complexity: O(1)
Auxiliary Space: O(1) 
jit_t
chinmoy1997pal
mailaruyashaswi
Geometric
Mathematical
Technical Scripter
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Program for distance between two points on earth
Optimum location of point to minimize total distance
Line Clipping | Set 1 (Cohen–Sutherland Algorithm)
Convex Hull | Set 1 (Jarvis's Algorithm or Wrapping)
Check whether a given point lies inside a triangle or not
Program for Fibonacci numbers
Set in C++ Standard Template Library (STL)
Write a program to print all permutations of a given string
C++ Data Types
Merge two sorted arrays