# Check whether two convex regular polygon have same center or not

• Last Updated : 13 Apr, 2021

Given two positive integers N and M which denotes the sides of the convex regular polygon where N < M, the task is to check whether polygons have the same center or not if N-sided polygon was inscribed in an M-sided polygon.
Center of Polygon: Point inside a polygon which is equidistant from each vertex of the polygon.
Examples:

Input: N = 9, M = 3
Output: YES
Explanation:
Polygon of side 3 when inscribed in a polygon of side 9, then both polygons have same center.
Input: N = 10, M = 3
Output: NO
Explanation:
Polygon of side 3 when inscribed in a polygon of side 10, then both polygons don’t have same center.

Approach: The key observation in this problem is that when M % N == 0, that means the sides of N-sided polygon equally covers the sides of M-sided polygon, which means both the polygons have same center.
Algorithm:

• Check if M is divisible by N, If yes then both the polygons have same center.
• Otherwise both polygons have the different centers.

Below is the implementation of the above approach:

## C++

 `// C++ implementation to check whether``// two convex polygons have same center` `#include``using` `namespace` `std;` `// Function to check whether two convex``// polygons have the same center or not``int` `check(``int` `n, ``int` `m){``    ``if` `(m % n == 0){``        ``cout << ``"YES"``;``    ``}``    ``else``{``        ``cout << ``"NO"``;``    ``}``    ``return` `0;``}` `// Driver Code``int` `main()``{``    ``int` `n = 5;``    ``int` `m = 10;``    ` `    ``check(n, m);``    ``return` `0;``}`

## Java

 `// Java implementation to check whether``// two convex polygons have same center``class` `GFG{`` ` `// Function to check whether two convex``// polygons have the same center or not``static` `int` `check(``int` `n, ``int` `m){``    ``if` `(m % n == ``0``){``        ``System.out.print(``"YES"``);``    ``}``    ``else``{``        ``System.out.print(``"NO"``);``    ``}``    ``return` `0``;``}`` ` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``int` `m = ``10``;``     ` `    ``check(n, m);``}``}` `// This code is contributed by sapnasingh4991`

## Python3

 `# Python3 implementation to check whether``# two convex polygons have same center` `# Function to check whether two convex``# polygons have the same center or not``def` `check(n, m):``    ``if` `(m ``%` `n ``=``=` `0``):``        ``print``(``"YES"``)``    ``else``:``        ``print``(``"NO"``)` `# Driver Code``n ``=` `5``m ``=` `10` `check(n, m)` `# This code is contributed by mohit kumar 29`

## C#

 `// C# implementation to check whether``// two convex polygons have same center``using` `System;` `class` `GFG{``  ` `// Function to check whether two convex``// polygons have the same center or not``static` `int` `check(``int` `n, ``int` `m){``    ``if` `(m % n == 0){``        ``Console.Write(``"YES"``);``    ``}``    ``else``{``        ``Console.Write(``"NO"``);``    ``}``    ``return` `0;``}``  ` `// Driver Code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``int` `m = 10;``      ` `    ``check(n, m);``}``}`` ` `// This code is contributed by Rajput-Ji`

## Javascript

 ``
Output:
`YES`

Performance Analysis:

• Time Complexity: O(1).
• Auxiliary Space: O(1).

My Personal Notes arrow_drop_up