📌  相关文章
📜  面积等于给定半径的圆的面积之和的圆的半径

📅  最后修改于: 2021-04-29 06:40:09             🧑  作者: Mango

给定两个表示两个圆的半径的整数r1r2 ,任务是找到面积等于两个具有给定半径的圆的面积之和的圆的半径。

例子:

方法:请按照以下步骤解决问题:

  1. 计算第一个圆的面积为a1 = 3.14 * r1 * r1
  2. 计算第二个圆的面积为a2 = 3.14 * r2 * r2
  3. 因此,第三圆的面积为a1 + a2
  4. 第三个圆的半径为sqrt(a3 / 3.14)

以下是以下方法的实现。

C++14
// C++ implementation of
// the above approach
 
#include 
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
// 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.


Python3
# 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#
// 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


输出:
10

时间复杂度:O(1)
空间复杂度: O(1)