Dados dos enteros positivos N y M que denotan los lados del polígono regular convexo donde N < M, la tarea es verificar si los polígonos tienen el mismo centro o no si el polígono de N lados se inscribió en un polígono de M lados.
Centro de Polígono: Punto dentro de un polígono que es equidistante de cada vértice del polígono.
Ejemplos:
Entrada: N = 9, M = 3
Salida: SI
Explicación:
Polígono de lado 3 cuando se inscribe en un polígono de lado 9, entonces ambos polígonos tienen el mismo centro.
Entrada: N = 10, M = 3
Salida: NO
Explicación:
Polígono de lado 3 cuando se inscribe en un polígono de lado 10, entonces ambos polígonos no tienen el mismo centro.
Enfoque: La observación clave en este problema es que cuando M % N == 0 , eso significa que los lados del polígono de N lados cubren igualmente los lados del polígono de M lados, lo que significa que ambos polígonos tienen el mismo centro.
Algoritmo:
- Compruebe si M es divisible por N. En caso afirmativo, ambos polígonos tienen el mismo centro.
- De lo contrario, ambos polígonos tienen centros diferentes.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation to check whether // two convex polygons have same center #include<bits/stdc++.h> using namespace std; // Function to check whether two convex // polygons have the same center or not int check(int n, int m){ if (m % n == 0){ cout << "YES"; } else{ cout << "NO"; } return 0; } // Driver Code int main() { int n = 5; int m = 10; check(n, m); return 0; }
Java
// Java implementation to check whether // two convex polygons have same center class GFG{ // Function to check whether two convex // polygons have the same center or not static int check(int n, int m){ if (m % n == 0){ System.out.print("YES"); } else{ System.out.print("NO"); } return 0; } // Driver Code public static void main(String[] args) { int n = 5; int m = 10; check(n, m); } } // This code is contributed by sapnasingh4991
Python3
# Python3 implementation to check whether # two convex polygons have same center # Function to check whether two convex # polygons have the same center or not def check(n, m): if (m % n == 0): print("YES") else: print("NO") # Driver Code n = 5 m = 10 check(n, m) # This code is contributed by mohit kumar 29
C#
// C# implementation to check whether // two convex polygons have same center using System; class GFG{ // Function to check whether two convex // polygons have the same center or not static int check(int n, int m){ if (m % n == 0){ Console.Write("YES"); } else{ Console.Write("NO"); } return 0; } // Driver Code public static void Main(String[] args) { int n = 5; int m = 10; check(n, m); } } // This code is contributed by Rajput-Ji
Javascript
<script> // Javascript implementation to check whether // two convex polygons have same center // Function to check whether two convex // polygons have the same center or not function check(n, m) { if (m % n == 0) { document.write("YES"); } else { document.write("NO"); } return 0; } // Driver code var n = 5; var m = 10; check(n, m); // This code is contributed by Kirti </script>
YES
Análisis de rendimiento:
- Complejidad Temporal: O(1).
- Espacio Auxiliar: O(1).
Publicación traducida automáticamente
Artículo escrito por sauravlal_2233 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA