Given two integers r1 and r2, representing the radius of two circles, the task is to find the radius of the circle having area equal to the sum of the area of the two circles having given radii.
Examples:
Input:
r1 = 8
r2 = 6
Output:
10
Explanation:
Area of circle with radius 8 = 201.061929
Area of a circle with radius 6 = 113.097335
Area of a circle with radius 10 = 314.159265Input:
r1 = 2
r2 = 2
Output:
2.82843
Approach: Follow the steps below to solve the problem:
- Calculate area of the first circle is a1 = 3.14 * r1 * r1.
- Calculate area of the second circle is a2 = 3.14 * r2 * r2.
- Therefore, area of the third circle is a1 + a2.
- Radius of the third circle is sqrt(a3 / 3.14)
Below is the implementation of the following approach.
// C++ implementation of // the above approach #include <bits/stdc++.h> using namespace std;
// Function to calculate radius of the circle // having area equal to sum of the area of // two circles with given radii double findRadius( double r1, double r2)
{ double a1, a2, a3, r3;
// Area of first circle
a1 = 3.14 * r1 * r1;
// Area of second circle
a2 = 3.14 * r2 * r2;
// Area of third circle
a3 = a1 + a2;
// Radius of third circle
r3 = sqrt (a3 / 3.14);
return r3;
} // Driver Code int main()
{ // Given radius
double r1 = 8, r2 = 6;
// Prints the radius of
// the required circle
cout << findRadius(r1, r2);
return 0;
} |
// Java program to implement // the above approach import java.util.*;
class GFG
{ // Function to calculate radius of the circle // having area equal to sum of the area of // two circles with given radii static double findRadius( double r1, double r2)
{ double a1, a2, a3, r3;
// Area of first circle
a1 = 3.14 * r1 * r1;
// Area of second circle
a2 = 3.14 * r2 * r2;
// Area of third circle
a3 = a1 + a2;
// Radius of third circle
r3 = Math.sqrt(a3 / 3.14 );
return r3;
} // Driver code public static void main(String[] args)
{ // Given radius
double r1 = 8 , r2 = 6 ;
// Prints the radius of
// the required circle
System.out.println(( int )findRadius(r1, r2));
} } // This code is contributed by code_hunt. |
# Python program to implement # the above approach # Function to calculate radius of the circle # having area equal to sum of the area of # two circles with given radii def findRadius(r1, r2):
a1, a2, a3, r3 = 0 , 0 , 0 , 0 ;
# Area of first circle
a1 = 3.14 * r1 * r1;
# Area of second circle
a2 = 3.14 * r2 * r2;
# Area of third circle
a3 = a1 + a2;
# Radius of third circle
r3 = ((a3 / 3.14 ) * * ( 1 / 2 ));
return r3;
# Driver code if __name__ = = '__main__' :
# Given radius
r1 = 8 ; r2 = 6 ;
# Prints the radius of
# the required circle
print ( int (findRadius(r1, r2)));
# This code is contributed by 29AjayKumar |
// C# program to implement // the above approach using System;
class GFG
{ // Function to calculate radius of the circle // having area equal to sum of the area of // two circles with given radii static double findRadius( double r1, double r2)
{ double a1, a2, a3, r3;
// Area of first circle
a1 = 3.14 * r1 * r1;
// Area of second circle
a2 = 3.14 * r2 * r2;
// Area of third circle
a3 = a1 + a2;
// Radius of third circle
r3 = Math.Sqrt(a3 / 3.14);
return r3;
} // Driver code
static void Main()
{
// Given radius
double r1 = 8, r2 = 6;
// Prints the radius of
// the required circle
Console.WriteLine(( int )findRadius(r1, r2));
}
} // This code is contributed by susmitakundugoaldanga |
<script> // Javascript program of the above approach // Function to calculate radius of the circle
// having area equal to sum of the area of // two circles with given radii function findRadius(r1, r2)
{ let a1, a2, a3, r3;
// Area of first circle
a1 = 3.14 * r1 * r1;
// Area of second circle
a2 = 3.14 * r2 * r2;
// Area of third circle
a3 = a1 + a2;
// Radius of third circle
r3 = Math.sqrt(a3 / 3.14);
return r3;
} // Driver Code
// Given radius
let r1 = 8, r2 = 6;
// Prints the radius of
// the required circle
document.write(findRadius(r1, r2));
</script> |
10
Time Complexity: O(log(a3)), time complexity of the inbuilt sqrt() function is logn.
Space Complexity: O(1) as constant space is being used.