Find area of the larger circle when radius of the smaller circle and difference in the area is given
Given two integers r and d where r is the radius of the smaller circle and d is the difference of the area of this circle with some larger radius circle. The task is to find the area of the larger circle.
Examples:
Input: r = 4, d = 5
Output: 55.24
Area of the smaller circle = 3.14 * 4 * 4 = 50.24
55.24 – 50.24 = 5
Input: r = 12, d = 3
Output: 455.16
Approach: Let radius of the smaller and the larger circles be r and R respectively and the difference in the areas is given to be d i.e. PI * R2 – PI * r2 = d where PI = 3.14
Or, R2 = (d / PI) + r2.
Now, area of the bigger circle can be calculated as PI * R2.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; const double PI = 3.14; // Function to return the area // of the bigger circle double find_area( int r, int d) { // Find the radius of // the bigger circle double R = d / PI; R += pow (r, 2); R = sqrt (R); // Calculate the area of // the bigger circle double area = PI * pow (R, 2); return area; } // Driver code int main() { int r = 4, d = 5; cout << find_area(r, d); return 0; } |
Java
// Java implementation of the approach class GFG { static double PI = 3.14 ; // Function to return the area // of the bigger circle static double find_area( int r, int d) { // Find the radius of // the bigger circle double R = d / PI; R += Math.pow(r, 2 ); R = Math.sqrt(R); // Calculate the area of // the bigger circle double area = PI * Math.pow(R, 2 ); return area; } // Driver code public static void main(String[] args) { int r = 4 , d = 5 ; System.out.println(find_area(r, d)); } } // This code is contributed by PrinciRaj1992 |
Python3
# Python 3 implementation of the approach PI = 3.14 from math import pow , sqrt # Function to return the area # of the bigger circle def find_area(r, d): # Find the radius of # the bigger circle R = d / PI R + = pow (r, 2 ) R = sqrt(R) # Calculate the area of # the bigger circle area = PI * pow (R, 2 ) return area # Driver code if __name__ = = '__main__' : r = 4 d = 5 print (find_area(r, d)) # This code is contributed by # Surendra_Gangwar |
C#
// C# implementation of the approach using System; public class GFG { static double PI = 3.14; // Function to return the area // of the bigger circle static double find_area( int r, int d) { // Find the radius of // the bigger circle double R = d / PI; R += Math.Pow(r, 2); R = Math.Sqrt(R); // Calculate the area of // the bigger circle double area = PI * Math.Pow(R, 2); return area; } // Driver code static public void Main () { int r = 4, d = 5; Console.Write(find_area(r, d)); } } // This code is contributed by ajit. |
PHP
<?php // PHP implementation of the approach const PI = 3.14; // Function to return the area // of the bigger circle function find_area( $r , $d ) { // Find the radius of // the bigger circle $R = $d / PI; $R += pow( $r , 2); $R = sqrt( $R ); // Calculate the area of // the bigger circle $area = PI * pow( $R , 2); return $area ; } // Driver Code $r = 4; $d = 5; echo (find_area( $r , $d )); // This code is contributed by Naman_Garg ?> |
Javascript
<script> // Javascript implementation of the approach let PI = 3.14; // Function to return the area // of the bigger circle function find_area(r, d) { // Find the radius of // the bigger circle let R = d / PI; R += Math.pow(r, 2); R = Math.sqrt(R); // Calculate the area of // the bigger circle let area = PI * Math.pow(R, 2); return area; } // Driver code let r = 4, d = 5; document.write( find_area(r,d).toFixed(2)); // This code contributed by Rajput-Ji </script> |
Output:
55.24
Time complexity: O(logR)
Auxiliary Space: O(1)
Please Login to comment...