# Check whether given circle resides in boundary maintained by two other circles

• Difficulty Level : Medium
• Last Updated : 03 Aug, 2022

Given outer circle radius R and inner circle radius r, making circles from the same center and forming the boundary between them. Now, given X and  Y coordinates which denote the center of the new circle to be formed with radius rad, your task is to check whether the circle with coordinates X and Y as the center can fit in the boundary of circles formed or not.
Examples:

Input: R = 8, r = 4, x = 5, y = 3, rad = 1
Output: Fits

Input: R =9, r = 4, x = 5, y = 3, rad = 1
Output: Fits

Input :  R = 8, r = 4, x = 5, y = 3,  rad = 3.
Output: Doesn’t Fit

Approach: The idea is to calculate the distance between the center (0, 0) and the coordinates of the circle to be checked.

• If
• distance + radius (of the circle to be checked) is less than or equal to Outer Radius and
• distance – radius (of the circle to be checked) is greater than or equal to Radius Inner circle,
• It will fit

Below is the implementation of the above approach:

## C++

 // CPP program to check whether circle with given// co-ordinates reside within the boundary// of outer circle and inner circle#include using namespace std; // function to check if given circle fit in// boundary or notvoid fitOrNotFit(int R, int r, int x, int y,                                 int rad) {             // Distance from the center    double val = sqrt(pow(x, 2) + pow(y, 2));         // Checking the corners of circle    if (val + rad <= R && val - rad >= r)           cout << "Fits\n";       else        cout << "Doesn't Fit\n";} // driver programint main(){    // Radius of outer circle and inner circle    // respectively    int R = 8, r = 4;         // Co-ordinates and radius of the circle    // to be checked    int x = 5, y = 3, rad = 3;    fitOrNotFit(R, r, x, y, rad);    return 0;}

## Java

 // Java program to check whether circle with given// co-ordinates reside within the boundary// of outer circle and inner circleimport java.util.*; class GFG{// function to check if given circle fit in// boundary or notstatic void fitOrNotFit(int R, int r, int x, int y,                                        int rad){    // Distance from the center    double val = Math.sqrt(Math.pow(x, 2) +                           Math.pow(y, 2));         // Checking the corners of circle    if (val + rad <= R && val - rad >= r)        System.out.println("Fits");    else    System.out.println("Doesn't Fit");    } // driver programpublic static void main (String[] args){    // Radius of outer circle and inner circle    // respectively    int R = 8, r = 4;         // Co-ordinates and radius of the circle    // to be checked    int x = 5, y = 3, rad = 3;    fitOrNotFit(R, r, x, y, rad);}}/* This Code is contributed by Kriti Shukla */

## Python3

 # Python3 program to check# whether circle with given# co-ordinates reside# within the boundary# of outer circle# and inner circle import math # function to check if# given circle fit in# boundary or notdef fitOrNotFit(R, r, x, y, rad) :             # Distance from the center    val = math.sqrt(math.pow(x, 2) + math.pow(y, 2))         # Checking the corners of circle    if (val + rad <= R and val - rad >= r) :        print("Fits\n")     else:        print("Doesn't Fit")   # driver program  # Radius of outer circle and inner circle# respectivelyR = 8r = 4     # Co-ordinates and radius of the circle# to be checkedx = 5y = 3rad = 3 fitOrNotFit(R, r, x, y, rad) # This code is contributed by# Smitha Dinesh Semwal

## C#

 // C# program to check whether circle with given// co-ordinates reside within the boundary// of outer circle and inner circleusing System; class GFG{    // function to check if given circle fit in    // boundary or not    static void fitOrNotFit(int R, int r, int x, int y,                                            int rad)    {        // Distance from the center        double val = Math.Sqrt(Math.Pow(x, 2) +                               Math.Pow(y, 2));                  // Checking the corners of circle        if (val + rad <= R && val - rad >= r)            Console.WriteLine("Fits");        else        Console.WriteLine("Doesn't Fit");        }          // Driver program    public static void Main ()    {        // Radius of outer circle and inner circle        // respectively        int R = 8, r = 4;                  // Co-ordinates and radius of the circle        // to be checked        int x = 5, y = 3, rad = 3;        fitOrNotFit(R, r, x, y, rad);    }} // This Code is contributed by Anant Agarwal.

## PHP

 = $r) echo"Fits\n"; else echo "Doesn't Fit\n";}  // Driver Code  // Radius of outer circle and // inner circle respectively $R = 8; $r = 4;   // Co-ordinates and radius of // the circle to be checked $x = 5; $y = 3; $rad = 3;    fitOrNotFit($R, $r, $x, $y, \$rad);     // This Code is contributed by vt_m.?>

## Javascript

 

Output

Doesn't Fit

Time Complexity: O(log n) since using inbuilt sqrt and pow function
Auxiliary Space: O(1)

This article is contributed by Aarti_Rathi and Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.