Dado el radio del círculo exterior R y el radio del círculo interior r, haciendo círculos desde el mismo centro y formando el límite entre ellos. Ahora, dadas las coordenadas X e Y que denotan el centro del nuevo círculo que se formará con radio rad, su tarea es verificar si el círculo con las coordenadas X e Y como centro puede caber en el límite de los círculos formados o no.
Ejemplos:
Entrada: R = 8, r = 4, x = 5, y = 3, rad = 1
Salida: Se adaptaEntrada: R = 9, r = 4, x = 5, y = 3, rad = 1
Salida: Se adaptaEntrada: R = 8, r = 4, x = 5, y = 3, rad = 3.
Salida: No encaja
Aproximación: La idea es calcular la distancia entre el centro (0, 0) y las coordenadas del círculo a comprobar.
- Si
- distancia + radio (del círculo a comprobar) es menor o igual que el radio exterior y
- distancia: el radio (del círculo que se va a comprobar) es mayor o igual que el radio del círculo interior,
- encajará
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP program to check whether circle with given // co-ordinates reside within the boundary // of outer circle and inner circle #include <bits/stdc++.h> using namespace std; // function to check if given circle fit in // boundary or not void 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 program int 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 circle import java.util.*; 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) System.out.println("Fits"); else System.out.println("Doesn't Fit"); } // driver program public 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 not def 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 # 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 # Smitha Dinesh Semwal
C#
// C# program to check whether circle with given // co-ordinates reside within the boundary // of outer circle and inner circle using 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
<?php // PHP program to check whether // circle with given co-ordinates // reside within the boundary // of outer circle and inner circle // function to check if given // circle fit in boundary or not function fitOrNotFit($R, $r, $x, $y, $rad) { // Distance from the center $val = sqrt(pow($x, 2) + pow($y, 2)); // Checking the corners of circle if ($val + $rad <= $R && $val - $rad >= $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
<script> // Javascript program to check whether circle with given // co-ordinates reside within the boundary // of outer circle and inner circle // function to check if given circle fit in // boundary or not function fitOrNotFit(R, r, x, y, rad) { // Distance from the center var val = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); // Checking the corners of circle if (val + rad <= R && val - rad >= r) document.write( "Fits<br>"); else document.write( "Doesn't Fit<br>"); } // driver program // Radius of outer circle and inner circle // respectively var R = 8, r = 4; // Co-ordinates and radius of the circle // to be checked var x = 5, y = 3, rad = 3; fitOrNotFit(R, r, x, y, rad); </script>
Doesn't Fit
Complejidad temporal: O(log n)
Espacio auxiliar: O(1)
Este artículo es una contribución de Aarti_Rathi y Rohit Thapliyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA