Given an angle
Examples:
Input: angle = 90 Output: YES Polygons with sides 4 is possible with angle 90 degrees. Input: angle = 30 Output: NO
Approach: The Interior angle is defined as the angle between any two adjacent sides of a regular polygon.
It is given by
This can be written as
On rearranging terms we get,
Thus, if n is an Integer the answer is "YES" otherwise, answer is "NO".
Below is the implementation of the above approach:
// 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;
}
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
# 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# 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 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
?>
<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>
Output:
YES
Time Complexity: O(1), since there is no loop or recursion.
Auxiliary Space: O(1), since no extra space has been taken.