Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Vị trí người đối diện trên đường tròn trong C++


Trong bài toán này, cho hai số nguyên N và M. Có một đường tròn và N người đứng trên đó. M là vị trí của một người. Nhiệm vụ in vị trí người đối diện với M.

Ví dụ minh họa:

Đầu vào - N = 6, M = 3

Kết quả - 6

Giải thích -

Vị trí người đối diện trên đường tròn trong C++

Để giải bài toán, có hai trường hợp: nếu vị trí lớn hơn nửa (nửa sau), đối diện sẽ ở nửa đầu và ngược lại.

Công thức toán học:

Trường hợp 1 - nếu m > n/2, vị trí đối diện = m - (n/2)

Trường hợp 2 - nếu m ≤ n/2, vị trí đối diện = m + (n/2)

Chương trình minh họa

#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 << "Vị trí người đối diện với người tại vị trí " << M << " khi " << N << " người đứng thành vòng tròn là "; 
    printOppositePosition(N, M); 
    return 0; 
}

Kết quả

Vị trí người đối diện với người tại vị trí 4 khi 8 người đứng thành vòng tròn là 8