Compruebe si dos polígonos regulares convexos tienen el mismo centro o no

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>
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *