C++中圆上对径位置的人
在这个问题中,我们给定两个整数N和M。有一个圆圈,N个人站在上面。M表示一个人的位置。我们的任务是打印与M相对的人的位置。
让我们来看一个例子来理解这个问题:
输入 - N = 6, M = 3
输出 - 6
解释 -
为了解决这个问题,将有两种情况:一种情况是位置大于位置的一半(后半部分),相对位置将是前半部分,反之亦然。
让我们用数学公式来表示:
情况1 - 如果 m > n/2,则对面人的位置为 m - (n/2)
情况2 - 如果 m <= n/2,则对面人的位置为 m + (n/2)
示例
程序演示我们的解决方案:
#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
广告