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: 5
Position 5 is opposite to 2 when there are 6 positions in totalInput: n = 8, m = 5
Output: 1
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 <bits/stdc++.h>using namespace std;// Function to return the required positionint getPosition(int n, int m){ if (m > (n / 2)) return (m - (n / 2)); return (m + (n / 2));}// Driver codeint 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 positiondef getPosition(n, m): if (m > (n // 2)) : return (m - (n // 2)) return (m + (n // 2))# Driver coden = 8m = 5print(getPosition(n, m))# This code is contributed # by ihritik |
C#
// C# implementation of the approachusing 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
<?php// PHP implementation of the approach// Function to return the // required positionfunction getPosition($n, $m){ if ($m > ($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
<script>// Javascript implementation of the approach// Function to return the required positionfunction getPosition( n, m){ if (m > (n / 2)) return (m - parseInt(n / 2)); return (m + parseInt(n / 2));}// Driver codevar n = 8, m = 5;document.write(getPosition(n, m));</script> |
1
Time Complexity: O(1), as we are not using any loops.
Auxiliary Space: O(1), as we are not using any extra space.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

