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

更新于:2020年4月17日

139 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告