Posición de una persona diametralmente opuesta en un círculo

Hay n personas de pie en la circunferencia de un círculo. Dada la posición de una persona m , la tarea es encontrar la posición de la persona que se encuentra diametralmente opuesta a m en el círculo. 

position of a person diametrically opposite to him in circle

Ejemplos: 

Entrada: n = 6, m = 2 
Salida:
La posición 5 es opuesta a la 2 cuando hay 6 posiciones en total

Entrada: n = 8, m = 5 
Salida:

Planteamiento: Hay dos casos: 

  • Si m > n/2 , la respuesta siempre será m – (n/2) .
  • Si m ≤ n / 2 , la respuesta siempre será m + (n / 2) .

A continuación se muestra la implementación del enfoque anterior:  

C++

// C++ implementation of the approach
#include <bits/stdc++.h>
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

<?php
// PHP implementation of the approach
 
// Function to return the
// required position
function 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 position
function getPosition( n, m)
{
    if (m > (n / 2))
        return (m - parseInt(n / 2));
 
    return (m + parseInt(n / 2));
}
 
// Driver code
var n = 8, m = 5;
document.write(getPosition(n, m));
 
</script>
Producción: 

1

 

Complejidad de tiempo: O (1), ya que no estamos usando ningún bucle.

Espacio auxiliar: O(1), ya que no estamos utilizando ningún espacio adicional.
 

Publicación traducida automáticamente

Artículo escrito por spp____ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *