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

📅  最后修改于: 2021-10-23 08:21:54             🧑  作者: 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


Javascript


输出:
10

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