Find the angle of Rotational Symmetry of an N-sided regular polygon
Last Updated :
31 Mar, 2021
Given an integer N which is the number of sides of a regular polygon. The task is to find the smallest angle of rotation such that the generated regular polygons have a similar position and dimensions, i.e. the new rotated polygon is in symmetry with the initial one.
A shape is said to have a rotation symmetry if there exists a rotation in the range [1, 360o] such that the new shape overlaps the initial shape completely.
Examples:
Input: N = 4
Output: 90
Explanation:
A 4 sided regular polygon is a square and when it is rotated by 90 degrees it results in the similar square.
Input: N = 8
Output: 45
Approach: For any N sided regular polygon, when rotated by 360 degrees, it aligns in the original position of the polygon. To find the minimum angle of rotation we use the property of symmetry of regular polygons. For an N sided regular polygon when rotated by 360/N degrees, the rotated polygon is in the same position as of the original polygon, which is the exterior angle of an N-sided regular polygon.
For example:
Consider N = 4,
Below is the implementation of the above approach.
C++
#include <bits/stdc++.h>
using namespace std;
double minAnglRot( int N)
{
double res;
res = 360 / ( double )N;
return res;
}
int main()
{
int N = 4;
cout << "Angle of Rotational Symmetry: "
<< minAnglRot(N);
return 0;
}
|
Java
import java.io.*;
class GFG
{
static double minAnglRot( int N)
{
double res;
res = 360 / ( double )N;
return res;
}
public static void main (String[] args)
{
int N = 4 ;
System.out.println( "Angle of Rotational Symmetry: " +
minAnglRot(N));
}
}
|
Python3
def minAnglRot(N):
res = 360 / / N
return res
if __name__ = = '__main__' :
N = 4 ;
print ( "Angle of Rotational Symmetry: " ,
minAnglRot(N))
|
C#
using System;
class GFG
{
static double minAnglRot( int N)
{
double res;
res = 360 / ( double )N;
return res;
}
public static void Main ( string [] args)
{
int N = 4;
Console.Write( "Angle of Rotational Symmetry: " +
minAnglRot(N));
}
}
|
Javascript
<script>
function minAnglRot(N)
{
let res;
res = 360 / N;
return res;
}
let N = 4;
document.write( "Angle of Rotational Symmetry: " +
minAnglRot(N));
</script>
|
Output:
Angle of Rotational Symmetry: 90
Time Complexity: O (1)
Auxiliary Space: O (1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...