이 문제에서 두 개의 정수 N과 M이 주어집니다. 원이 있고 N명의 사람들이 그 위에 서 있습니다. M은 사람의 위치를 나타냅니다. 우리의 임무는 M과 반대되는 사람의 위치를 인쇄하는 것입니다.
문제를 이해하기 위해 예를 들어보겠습니다.
입력 - N =6, M =3
출력 − 6
설명 -
이 문제를 해결하기 위해 두 가지 경우가 있습니다. 하나는 포지션이 절반보다 크면(후반전), 반대는 전반전이 되고 그 반대도 마찬가지입니다.
이에 대한 공식을 수학적으로 만들어 보겠습니다.
사례 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