Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 원에서 정반대인 사람의 위치

<시간/>

이 문제에서 두 개의 정수 N과 M이 주어집니다. 원이 있고 N명의 사람들이 그 위에 서 있습니다. M은 사람의 위치를 ​​나타냅니다. 우리의 임무는 M과 반대되는 사람의 위치를 ​​인쇄하는 것입니다.

문제를 이해하기 위해 예를 들어보겠습니다.

입력 - N =6, M =3

출력 − 6

설명 -

C++에서 원에서 정반대인 사람의 위치

이 문제를 해결하기 위해 두 가지 경우가 있습니다. 하나는 포지션이 절반보다 크면(후반전), 반대는 전반전이 되고 그 반대도 마찬가지입니다.

이에 대한 공식을 수학적으로 만들어 보겠습니다.

사례 1 - m> n/2인 경우 상대방의 위치는 m - (n/2)

사례 2 - m =

예시

솔루션을 보여주는 프로그램,

#include <iostream>
using namespace std;
void printOppositePosition(int n, int m) {
   int pos;
   if (m > (n / 2))
      pos = (m - (n / 2));
   else
      pos = (m + (n / 2));
   cout<<pos;
}
int main() {
   int N = 8, M = 4;
   cout<<"The position of person opposite to person at position "<<M<<" when "<<N<<" people are standing in a circle is ";
   printOppositePosition(N, M);
   return 0;
}

출력

The position of person opposite to person at position 4 when 8 people are standing in a circle is 8