Open In App

# Position of a person diametrically opposite on a circle

There are n people standing on the circumference of a circle. Given the position of a person m, the task is to find the position of the person standing diametrically opposite to m on the circle.

Examples:

Input: n = 6, m = 2
Output:
Position 5 is opposite to 2 when there are 6 positions in total

Input: n = 8, m = 5
Output:

Approach: There are two cases:

• If m > n / 2 then answer will always be m – (n / 2).
• If m ? n / 2 then answer will always be m + (n / 2).

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;` `// Function to return the required position``int` `getPosition(``int` `n, ``int` `m)``{``    ``if` `(m > (n / 2))``        ``return` `(m - (n / 2));` `    ``return` `(m + (n / 2));``}` `// Driver code``int` `main()``{``    ``int` `n = 8, m = 5;``    ``cout << getPosition(n, m);` `    ``return` `0;``}`

## Java

 `// Java implementation of the approach``class` `Sol``{` `// Function to return the required position``static` `int` `getPosition(``int` `n, ``int` `m)``{``    ``if` `(m > (n / ``2``))``        ``return` `(m - (n / ``2``));` `    ``return` `(m + (n / ``2``));``}` `// Driver code``public` `static` `void` `main(String args[])``{``    ``int` `n = ``8``, m = ``5``;``    ``System.out.println(getPosition(n, m));` `}``}``// This code is contributed by Arnab Kundu`

## Python3

 `# Python3 implementation of the approach` `# Function to return the``# required position``def` `getPosition(n, m):` `    ``if` `(m > (n ``/``/` `2``)) :``        ``return` `(m ``-` `(n ``/``/` `2``))` `    ``return` `(m ``+` `(n ``/``/` `2``))` `# Driver code``n ``=` `8``m ``=` `5``print``(getPosition(n, m))` `# This code is contributed``# by ihritik`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GFG``{``    ` `// Function to return the required position``static` `int` `getPosition(``int` `n, ``int` `m)``{``    ``if` `(m > (n / 2))``        ``return` `(m - (n / 2));` `    ``return` `(m + (n / 2));``}` `    ``// Driver code``    ``static` `public` `void` `Main ()``    ``{``        ` `    ``int` `n = 8, m = 5;``    ``Console.WriteLine(getPosition(n, m));``    ``}``}` `// This code is contributed by ajit.`

## PHP

 ` (``\$n` `/ 2))``        ``return` `(``\$m` `- (``\$n` `/ 2));` `    ``return` `(``\$m` `+ (``\$n` `/ 2));``}` `// Driver code``\$n` `= 8;``\$m` `= 5;``echo` `getPosition(``\$n``, ``\$m``);` `// This code is contributed``// by ihritik``?>`

## Javascript

 ``

Output:

`1`

Time Complexity: O(1), as we are not using any loops.

Auxiliary Space: O(1), as we are not using any extra space.