Comprobar si es posible crear un polígono con un ángulo dado

Dado un ángulo  a   donde,  1\le a< 180   . La tarea es comprobar si es posible hacer un polígono regular con todos sus ángulos interiores iguales a  a   . Si es posible, escriba «SÍ», de lo contrario, escriba «NO» (sin comillas). 
Ejemplos: 
 

Input: angle = 90
Output: YES
Polygons with sides 4 is
possible with angle 90 degrees.

Input: angle = 30
Output: NO

Enfoque: El ángulo interior se define como el ángulo entre dos lados adyacentes cualesquiera de un polígono regular.
Está dado por    \;Interior\;angle = \frac{180 \times (n-2)}{n}\;     donde, n es el número de lados del polígono.
Esto se puede escribir como    \;a = \frac{180 \times (n-2)}{n}\;   .
Al reorganizar los términos obtenemos,    \;n = \frac{360}{180 - a}\;   .
Por lo tanto, si n es un número entero , la respuesta es «SÍ», de lo contrario, la respuesta es «NO».
A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ implementation of above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to check whether it is possible
// to make a regular polygon with a given angle.
void makePolygon(float a)
{
    // N denotes the number of sides
    // of polygons possible
    float n = 360 / (180 - a);
    if (n == (int)n)
        cout << "YES";
    else
        cout << "NO";
}
 
// Driver code
int main()
{
    float a = 90;
 
    // function to print the required answer
    makePolygon(a);
 
    return 0;
}

Java

class GFG
{
// Function to check whether
// it is possible to make a
// regular polygon with a given angle.
static void makePolygon(double a)
{
    // N denotes the number of
    // sides of polygons possible
    double n = 360 / (180 - a);
    if (n == (int)n)
        System.out.println("YES");
    else
        System.out.println("NO");
}
 
// Driver code
public static void main (String[] args)
{
    double a = 90;
 
    // function to print
    // the required answer
    makePolygon(a);
}
}
 
// This code is contributed by Bilal

Python3

# Python 3 implementation
# of above approach
 
# Function to check whether
# it is possible to make a
# regular polygon with a
# given angle.
def makePolygon(a) :
 
    # N denotes the number of sides
    # of polygons possible
    n = 360 / (180 - a)
 
    if n == int(n) :
        print("YES")
 
    else :
        print("NO")
 
# Driver Code
if __name__ == "__main__" :
    a = 90
 
    # function calling
    makePolygon(a)
     
# This code is contributed
# by ANKITRAI1

C#

// C# implementation of
// above approach
using System;
 
class GFG
{
// Function to check whether
// it is possible to make a
// regular polygon with a
// given angle.
static void makePolygon(double a)
{
    // N denotes the number of
    // sides of polygons possible
    double n = 360 / (180 - a);
    if (n == (int)n)
        Console.WriteLine("YES");
    else
        Console.WriteLine("NO");
}
 
// Driver code
static void Main()
{
    double a = 90;
 
    // function to print
    // the required answer
    makePolygon(a);
}
}
 
// This code is contributed by mits

PHP

<?php
// PHP implementation of above approach
 
// Function to check whether it
// is possible to make a regular
// polygon with a given angle.
function makePolygon($a)
{
    // N denotes the number of
    // sides of polygons possible
    $n = 360 / (180 - $a);
    if ($n == (int)$n)
        echo "YES";
    else
        echo "NO";
}
 
// Driver code
$a = 90;
 
// function to print the
// required answer
makePolygon($a);
 
// This code is contributed
// by ChitraNayal
?>

Javascript

<script>
 
      // JavaScript implementation of above approach
      // Function to check whether it is possible
      // to make a regular polygon with a given angle.
       
      function makePolygon(a)
      {
        // N denotes the number of sides
        // of polygons possible
        var n = parseFloat(360 / (180 - a));
        if (n === parseInt(n))
        document.write("YES");
        else
        document.write("NO");
      }
 
      // Driver code
      var a = 90;
       
      // function to print the required answer
      makePolygon(a);
       
</script>
Producción: 

YES

 

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Sanjit_Prasad 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 *