Polygon with maximum sides that can be inscribed in an N-sided regular polygon
Given a regular polygon of N sides, the task is to find the maximum sided polygon that can be inscribed inside the given polygon by joining non-adjacent vertices. Print -1, if no such polygon exist.
Input: N = 8
At most a 4 sided polygon can be inscribed inside the given 8-sided polygon as shown below:
Input: N = 3
Approach: The idea is to observe the fact that a regular polygon can be inscribed inside another regular polygon of N sides if N is even. Follow the below steps to solve the problem:
- If N is even, then the inscribed polygon with the maximum sides can be formed by joining the non-adjacent vertices. Therefore, print N/2 as the required answer.
- Otherwise, print -1 as no regular polygon can be inscribed inside an odd-sided polygon.
Below is the implementation of the above approach:
Time Complexity: O(1)
Auxiliary Space: O(1)