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.